期待编程未来但不知从何开始
我刚刚开始接触这个网站和编程。几周前我开始学习一些基础的Python编程,最近又在玩Java的基础知识。
我现在最大的问题就是感觉完全不知所措,根本不知道该从哪里开始。
我想学习编程,因为我真的很喜欢这个过程,自己做出来的一些简单应用让我很开心。
我的计划是最终(我说的最终是指6年以后)进入游戏编程领域。
有人告诉我C++是最好的选择,但我对适合初学者的书籍或网站一点头绪都没有。
我有以下几个问题:
我去过权威C++书籍指南,但还是不确定哪本书最适合我开始学习。
我应该继续学习Python或Java,还是直接转到C++呢?
你有什么建议可以给初学者程序员吗?
再次感谢大家的帮助。
编辑:
我现在用的Java书是Programming Video Games for the Evil Genius。可惜这本书错误很多,而且对一些重要命令的解释也不够详细。
9 个回答
要知道,游戏行业竞争非常激烈,实际上可供选择的工作并不多。这意味着想要进入这个行业会比较困难。目前增长最快的领域是移动设备游戏,比如iPhone和Android,所以我建议你把精力放在这方面。如果你想专注于移动平台,可以开始使用你选择的平台的开发工具包(SDK)。我建议使用Android的SDK和Java语言。Java比C++更容易学,非常适合做移动游戏。
在这个阶段,最好的老师就是你自己的实践经验。设计一个简单的游戏,然后开始动手制作。遇到困难时不要气馁,努力寻找网络上的资源,尽量把它做出来。利用你获得的经验,再去做一个更复杂的游戏。在学校里努力提高你的数学能力。没多久,你就会拥有成为优秀游戏程序员所需的知识和经验。
当你有时间和热情去编程时,利用每一个空闲的时刻,你会学得非常快。我记得我曾经可以连续编程30个小时。年轻的精力真的是一件了不起的事情。如果你在一年内能在Android商店发布一款游戏,我一点也不会感到惊讶。
C++对初学者来说非常糟糕。这是一种混合了很多概念的复杂语言。等你对面向对象编程有了一定了解后,比如通过更规范的语言像C#或Java,你会发现C++更容易上手。
像Python这样的脚本语言更适合初学者入门。你可以在Pygame里做一些简单的练习,积累经验。现代游戏通常使用脚本语言来控制游戏的高级逻辑。
如果你是初学者,要想用C++写出完整的游戏引擎,可能需要很长时间。慢慢来,不要着急!
游戏编程主要是关于设计和游戏玩法; 编程语言只是一个工具。当然,C++被广泛使用,但即使是C++高手,如果他不玩游戏或者不了解游戏的实际机制,也无法做出一个好的游戏。
我觉得你可以随时学习C++,但学习如何制作一个真正有趣的游戏更为重要。
我建议你可以先从PyGame开始。是的,C++的程序员会告诉你,真正的游戏行业里没人用PyGame,但你明天可不想把自己的游戏卖到XBLA/PSN/WiiWare吧?
你更应该学习如何制作一个游戏,因此,关注游戏本身比处理指针和垃圾回收要重要得多。
所以我的建议是:
- 从小项目开始,做一个平台游戏或者冒险游戏,逐渐理解像马里奥或塞尔达这样的2D世界背后的系统
- 不要害怕模仿!即使是做一个塞尔达/银河战士/马里奥的克隆游戏也会对你帮助很大,因为你会发现即使是简单的东西,往往也没有看起来那么简单
- 在你写了几个2D游戏之后,尝试把重复使用的部分提取出来,做成一个通用的引擎,这样你就可以用它作为你项目的基础
- 学会创造,学会画一些基本的东西。制作游戏不仅仅是编码。当然,你可能不会成为一个图形设计师,但理解他们的工作会在你需要和他们合作时帮助你很多。