这里有一些好的建议:学习用 C 编写代码(即阅读有关 C 的书或其他内容),但这就是您应该使用 C 的程度。学习 C 会教您在其他语言中永远学不到的东西,并且它可以帮助您理解如果不学习它,你就无法完全理解一些东西,但它对你的用处不会太久。
C++ 正在游戏世界中迅速接管 C(事实上,你可以说这已经发生了),而且我有一种感觉,随着计算机的不断发展,我们可能会看到 C# 也成为游戏世界中的重要参与者。快点。
但就像我说的——学习 C,然后转向 C# 或 java(我肯定会选择 C#),然后选择 XNA。
另外,学习 C# 时,请查阅《Head First C#》一书。 这是一个很好的东西,它对游戏有很多作用。
Here's some good advice: LEARN to code in C (i.e. read a book on it or whatever) but thats as far as you should go with C. Learning C teaches you things you'll never learn in another language, and it helps you understand things you wouldn't fully understand without learning it, but it's not gonna be useful to you for much longer.
C++ is taking over C in the game world quickly (in fact, you could get away with saying that it already happened), and I have a feeling that we may see C# become a big player in the game world too, as computers are getting faster.
But like I said -- learn C, then move to C# or java (I'd go with C# for sure), and then pick up on XNA.
Also, when learning c#, look into the book, "Head First C#." It's a good one, and it does quite a bit of stuff with gaming.
12 is the right age to start - most of the good programmers I know started out young. I look out for it on CVs when hiring.
I started on a Spectrum 128k writing in BASIC.
A fully fledged game is a lofty goal, a worthy one, but one a fully fledged professional would struggle to attain.
I'd start with a simple game - a Tetris or Breakout clone, or maybe even something text based. Something simple will be better for learning the basics. You're learning the language as you go, so expect:
It will often be slow - you will regularly have problems that it takes a while to figure out. It's good that you have a friend leaning the same thing.
The code you wrote at the start will look rubbish later - be prepared to re-write as you get better. You'll start out making naive mistakes, but you learn from them.
That second point applies even to the best professionals when working with something new. No one gets everything right first time and you learn more from mistakes than successes.
It depends on so many things that it's impossible to say. One tip is though that start small and finish your projects. It's easy to start too big projects that never gets finished.
Glad to see that you are enjoying programming. I think there will be a lot of different answers to this question ("Should I do C or not?") But I think its a good thing that you start by writing code in C. You will learn a lot of basic stuff that you might have passed if only going for the XNA framework right away.
BUT! Don't wait to long. The XNA framework is quite powerful and it makes it very easy to get started. I think you should ask yourself (including your friends) "what you think is the most fun part of developing a game?"
Is it the game design? graphical programming? just programming? making graphics? Perhaps that answer will give you a hint about what to focus on.
Cause private projects should be about having fun.
Good to see some people getting enthusiastic about programming - and better still playing about with C. Starting out with C, even if it's to do basic "Hello World" style programmes, will give you a good basic understanding of concepts like memory management etc.
But as others have said - don't wait too long to jump over to C# and XNA: yes the frameworks are quite big and scary, but you'll be amazed at how quickly you can get things done once you get a basic grasp of the language.
A few points I'd like to point across:
Firstly, do not be discouraged or disheartened when something doesn't work, or when something breaks, or if you receive negative feedback (the proverbial "it sucks" review). If you are confident in your idea and more importantly, if you are enjoying it, keep going.
Don't expect to be producing awesome graphics and FPS style games from day one: but don't let that worry you. For big budget games, the "media" side (3D models, artwork, audio) are at least a big a job as the actual game programming, if not more.
Start with a good idea and be confident in it. Don't worry about graphics: if the game is good people will enjoy it. Look at the vast majority of "market place" games (iPhone, Android Marketplace, XBox, Facebook): they all have fairly basic graphics but are based on good solid concepts. And some of them make money, lots of it.
If you stop enjoying a particular task / project, don't worry about parking it for a while and moving on. More often than not you'll have an "eureka moment" (probably at 3am if you are like me) and come back to it with renewed enthusiasm.
RPG Maker 是一款很酷的东西,您可以尝试一下。 它将让您无需编程即可制作角色扮演游戏,这将使您了解游戏的设计方式。 如果您正在学习的话,在 PC 上开始也会比 Xbox 更容易。
RPG Maker is something cool you can try out. It'll let you make RPGs without programming, which will give you an idea of how games are designed. It'll also be easier to start on a PC than an xbox if you're learning.
I have a mate who is a game developer, working on state of the art games like "Call of Duty". Im not sure if the language is as important as learning the concepts and being active in the community.
My friend made it big by developing content for existing games and getting known that way. Its really hard to made a game that can compete these days but its not impossible. As Keith mentioned its important to start simple and learn the basics but its also equally as important to contribute online and to surround yourself with like minded people. That is how you will make your first break in, and thats all you need.
I have been a programmer for years now and I would say that I learnt 90% of what I know from others or online not from reading books. Books are great for reference. Take what you learn and apply it.
Im sure if you work hard and contributte online you will make it.
This might be able to help you while you learn XNA and C#. I am trying to spread the word about my free open-source project called 'XNA Debug Terminal'. It creates a display on top of your game and allows you to look up values, invoke methods, or even watch values change in real-time while your game is running. I'm sure this could be of some help to you in learning what is going on in your game at various points. The website can be found here: http://www.protohacks.net/xna_debug_terminal
If you like it, please tell other people. I, myself, have found it quite helpful in my own projects. The website tells you all you need to know about it.
发布评论
评论(9)
这里有一些好的建议:学习用 C 编写代码(即阅读有关 C 的书或其他内容),但这就是您应该使用 C 的程度。学习 C 会教您在其他语言中永远学不到的东西,并且它可以帮助您理解如果不学习它,你就无法完全理解一些东西,但它对你的用处不会太久。
C++ 正在游戏世界中迅速接管 C(事实上,你可以说这已经发生了),而且我有一种感觉,随着计算机的不断发展,我们可能会看到 C# 也成为游戏世界中的重要参与者。快点。
但就像我说的——学习 C,然后转向 C# 或 java(我肯定会选择 C#),然后选择 XNA。
另外,学习 C# 时,请查阅《Head First C#》一书。 这是一个很好的东西,它对游戏有很多作用。
Here's some good advice: LEARN to code in C (i.e. read a book on it or whatever) but thats as far as you should go with C. Learning C teaches you things you'll never learn in another language, and it helps you understand things you wouldn't fully understand without learning it, but it's not gonna be useful to you for much longer.
C++ is taking over C in the game world quickly (in fact, you could get away with saying that it already happened), and I have a feeling that we may see C# become a big player in the game world too, as computers are getting faster.
But like I said -- learn C, then move to C# or java (I'd go with C# for sure), and then pick up on XNA.
Also, when learning c#, look into the book, "Head First C#." It's a good one, and it does quite a bit of stuff with gaming.
12 岁是开始的合适年龄——我认识的大多数优秀程序员都是从年轻开始的。 我在招聘时会在简历上留意这一点。
我开始使用 BASIC 编写 Spectrum 128k。
一款成熟的游戏是一个崇高的目标,一个有价值的目标,但一个成熟的职业人士很难实现。
我会从一个简单的游戏开始 - 俄罗斯方块或 Breakout 克隆游戏,甚至可能是基于文本的游戏。 简单的东西对于学习基础知识会更好。 你是边学边学的,所以要预料到:
第二点甚至适用于最优秀的专业人士在处理新事物时。 没有人第一次就能把所有事情都做对,你从错误中学到的东西比从成功中学到的东西更多。
玩得开心!
12 is the right age to start - most of the good programmers I know started out young. I look out for it on CVs when hiring.
I started on a Spectrum 128k writing in BASIC.
A fully fledged game is a lofty goal, a worthy one, but one a fully fledged professional would struggle to attain.
I'd start with a simple game - a Tetris or Breakout clone, or maybe even something text based. Something simple will be better for learning the basics. You're learning the language as you go, so expect:
That second point applies even to the best professionals when working with something new. No one gets everything right first time and you learn more from mistakes than successes.
And have fun!
这取决于很多事情,这是不可能说的。 一个建议是,从小事做起,最终完成你的项目。 启动太大的项目很容易永远无法完成。
It depends on so many things that it's impossible to say. One tip is though that start small and finish your projects. It's easy to start too big projects that never gets finished.
很高兴看到您喜欢编程。 我认为这个问题会有很多不同的答案(“我应该做 C 还是不做?”)但我认为从用 C 编写代码开始是一件好事。你会学到很多基本的东西如果立即使用 XNA 框架,可能就过去了。
但! 不要等太久。 XNA框架非常强大,并且非常容易上手。 我认为你应该问自己(包括你的朋友)“你认为开发游戏中最有趣的部分是什么?”
是游戏设计吗? 图形化编程? 只是编程? 制作图形?
也许这个答案会提示您应该关注什么。
因为私人项目应该是为了享受乐趣。
Glad to see that you are enjoying programming. I think there will be a lot of different answers to this question ("Should I do C or not?") But I think its a good thing that you start by writing code in C. You will learn a lot of basic stuff that you might have passed if only going for the XNA framework right away.
BUT! Don't wait to long. The XNA framework is quite powerful and it makes it very easy to get started. I think you should ask yourself (including your friends) "what you think is the most fun part of developing a game?"
Is it the game design? graphical programming? just programming? making graphics?
Perhaps that answer will give you a hint about what to focus on.
Cause private projects should be about having fun.
很高兴看到有些人对编程充满热情,最好还是继续使用 C。从 C 开始,即使是做基本的“Hello World”风格的程序,也会让您对内存管理等概念有一个很好的基本理解。
但正如其他人所说 - 不要等待太久才跳转到 C# 和 XNA:是的,这些框架相当大且令人恐惧,但是一旦您基本掌握了这些框架,您就会惊讶地发现完成工作的速度有多快语言。
我想指出几点:
首先,当某些东西不起作用、或者出现问题、或者收到负面反馈(众所周知的“糟糕”评论)时,不要灰心或沮丧。 如果您对自己的想法充满信心,更重要的是,如果您喜欢它,请继续前进。
不要指望从第一天起就能制作出出色的图形和 FPS 风格的游戏:但不要为此担心。 对于大预算游戏来说,“媒体”方面(3D 模型、美术作品、音频)至少是一项与实际游戏编程一样重要的工作,甚至更多。
从一个好主意开始,并对它充满信心。 不要担心图形:如果游戏很好,人们就会喜欢它。 看看绝大多数“市场”游戏(iPhone、Android Marketplace、XBox、Facebook):它们都有相当基本的图形,但都基于良好而坚实的概念。 其中一些可以赚钱,而且很多。
如果您不再享受某个特定的任务/项目,请不要担心暂时搁置它并继续前进。 通常情况下,您会遇到“顿悟时刻”(如果您像我一样,可能是凌晨 3 点),然后带着新的热情重新开始。
Good to see some people getting enthusiastic about programming - and better still playing about with C. Starting out with C, even if it's to do basic "Hello World" style programmes, will give you a good basic understanding of concepts like memory management etc.
But as others have said - don't wait too long to jump over to C# and XNA: yes the frameworks are quite big and scary, but you'll be amazed at how quickly you can get things done once you get a basic grasp of the language.
A few points I'd like to point across:
Firstly, do not be discouraged or disheartened when something doesn't work, or when something breaks, or if you receive negative feedback (the proverbial "it sucks" review). If you are confident in your idea and more importantly, if you are enjoying it, keep going.
Don't expect to be producing awesome graphics and FPS style games from day one: but don't let that worry you. For big budget games, the "media" side (3D models, artwork, audio) are at least a big a job as the actual game programming, if not more.
Start with a good idea and be confident in it. Don't worry about graphics: if the game is good people will enjoy it. Look at the vast majority of "market place" games (iPhone, Android Marketplace, XBox, Facebook): they all have fairly basic graphics but are based on good solid concepts. And some of them make money, lots of it.
If you stop enjoying a particular task / project, don't worry about parking it for a while and moving on. More often than not you'll have an "eureka moment" (probably at 3am if you are like me) and come back to it with renewed enthusiasm.
这完全取决于你的才华和对工作的热情。
This entirely depends on your talent and passion for the work.
RPG Maker 是一款很酷的东西,您可以尝试一下。 它将让您无需编程即可制作角色扮演游戏,这将使您了解游戏的设计方式。 如果您正在学习的话,在 PC 上开始也会比 Xbox 更容易。
RPG Maker is something cool you can try out. It'll let you make RPGs without programming, which will give you an idea of how games are designed. It'll also be easier to start on a PC than an xbox if you're learning.
我有一个朋友,他是一名游戏开发人员,致力于开发“使命召唤”等最先进的游戏。 我不确定语言是否与学习概念和积极参与社区一样重要。
我的朋友通过为现有游戏开发内容并以这种方式广为人知,从而取得了巨大的成功。 如今制作一款能够竞争的游戏确实很难,但也并非不可能。 正如基思提到的,从简单开始并学习基础知识很重要,但在线贡献并与志同道合的人在一起也同样重要。 这就是您第一次闯入的方式,这就是您所需要的。
我已经成为一名程序员多年了,我想说我所知道的 90% 都是从别人或网上学到的,而不是从书本上学到的。 书籍非常适合参考。 吸取所学并应用它。
我相信,如果你努力工作并在网上做出贡献,你就会成功。
祝你好运!
I have a mate who is a game developer, working on state of the art games like "Call of Duty". Im not sure if the language is as important as learning the concepts and being active in the community.
My friend made it big by developing content for existing games and getting known that way. Its really hard to made a game that can compete these days but its not impossible. As Keith mentioned its important to start simple and learn the basics but its also equally as important to contribute online and to surround yourself with like minded people. That is how you will make your first break in, and thats all you need.
I have been a programmer for years now and I would say that I learnt 90% of what I know from others or online not from reading books. Books are great for reference. Take what you learn and apply it.
Im sure if you work hard and contributte online you will make it.
Good Luck!
这可能会对您学习 XNA 和 C# 有所帮助。 我正在尝试宣传我的免费开源项目“XNA 调试终端”。 它在游戏顶部创建一个显示,并允许您在游戏运行时查找值、调用方法,甚至实时观察值的变化。 我相信这对您了解游戏中不同时刻的情况会有一定帮助。 该网站可以在这里找到:
http://www.protohacks.net/xna_debug_terminal
如果您喜欢,请告诉其他人。 我自己发现它对我自己的项目非常有帮助。 该网站告诉您所有您需要了解的信息。
This might be able to help you while you learn XNA and C#. I am trying to spread the word about my free open-source project called 'XNA Debug Terminal'. It creates a display on top of your game and allows you to look up values, invoke methods, or even watch values change in real-time while your game is running. I'm sure this could be of some help to you in learning what is going on in your game at various points. The website can be found here:
http://www.protohacks.net/xna_debug_terminal
If you like it, please tell other people. I, myself, have found it quite helpful in my own projects. The website tells you all you need to know about it.