我是这个网站和编程的新手。几周前我开始使用python进行一些基本的编程,最近又乱用了Java基础知识。
我的主要问题是我完全不知所措,并且没有丝毫的线索我应该在哪里开始。
我想学习编程,因为我非常喜欢这样做,我设法让人想到的简单应用程序让我脸上露出笑容。
我的计划是最终(最终我说的是6年+)进入游戏编程。
我被告知C ++是解决这个问题的最好方法,但是对于那些仍然在学习基础知识的人来说,哪些书/视觉最佳是最佳的。
这是我的问题:
我去过Definitive C++ Book Guide,但仍然不确定 哪本书最好从哪开始。
我应该坚持使用Python还是Java而不是继续使用C ++?
您对初学者程序员有什么建议吗?
再次感谢您的帮助。
修改
我目前使用的关于Java的书是Programming Video Games for the Evil Genius。可悲的是,它充满了错误,他没有解释某些重要的命令。
答案 0 :(得分:12)
游戏编程很多关于设计和游戏玩法;语言只是一种工具。当然,C ++被广泛使用,但即使是C ++大师,如果他不玩游戏或理解实际的机制如何工作,也无法制作出体面的游戏。
你可以随时学习C ++,在我看来,学习如何制作一款真正有趣的游戏更为重要。
我建议从PyGame开始。是的,C ++家伙会告诉你没有人在真正的游戏业务中使用PyGame,但你明天不想在XBLA / PSN / WiiWare上出售你的游戏,对吗?
你宁愿学习如何制作一个,因此重点关注游戏本身而不是处理指针和垃圾收集。
所以我的建议是:
- 从小型开始,做平台游戏或冒险游戏,开始了解像马里奥或塞尔达的2D世界背后的系统
- 不要害怕复制!即使制作Zelda / Metroid / Mario克隆也会对你有所帮助,因为你会发现即使是简单的东西也往往不像看起来那么简单。
- 在您编写了几个2D游戏之后,尝试将重复使用的部件提取到通用引擎中,然后您可以将其用作项目的基础
- 学会发挥创意,学习如何绘制基本内容。创建游戏更多的是编码。当然,你最有可能不会最终成为一名图形设计师,但是当你必须与它们合作时,了解它们的作用会对你有所帮助
答案 1 :(得分:8)
C ++对初学者来说太可怕了。这是一种庞大的混合语言隐喻。通过更加严格的环境(如C#或Java),您肯定会更容易接近面向对象。
像Python这样的脚本语言是一个更好的起点。在Pygame或其他任何东西中捣乱一些东西来进行练习。现代游戏通常使用脚本语言来控制高级游戏逻辑。
如果你是初学者,那么在你能够用C ++编写完整的游戏引擎之前,这将是一个漫长的过程。慢慢来!
答案 2 :(得分:3)
请记住,游戏行业竞争非常激烈,并没有那么多就业机会。这意味着很难进入大门。目前最大的增长领域是移动设备游戏,如iPhone和Android,所以我会把精力集中在那里。如果您认为您希望专注于移动平台,则可以开始使用适用于您所选平台的SDK。我建议用Java安装Android SDK。 Java比C ++更容易学习,是移动游戏的理想选择。
此时最好的老师就是你的亲身体验。设计一个简单的游戏,并开始把它放在一起。把头撞到墙上。挖掘互联网资源。把它做完。利用您获得的经验来做一个更复杂,更复杂的游戏。在学校努力学习数学技能。不久之后,您将拥有成为优秀游戏程序员所需的知识和经验。
如果您有时间和热情在每个空闲时刻进行编程,那么您可以非常快速地完成任务。我记得我能连续30个小时编程。青春的活力真是一件令人惊奇的事情。如果你在一年内在Android商店购买游戏,我不会感到惊讶。
答案 3 :(得分:2)
如果你想进入游戏编程,那么学习游戏,玩游戏,沉浸在游戏中。拿起几本有关游戏编程的书籍。一开始,您编写的语言比学习游戏,数据结构和算法,叙述结构和用户交互要重要得多。 Python和Java都是初学者编程语言的不错选择。一旦掌握了编程基础知识,就可以开始研究你能找到的任何游戏代码 - 如果它们是用你不认识的语言编写的,那么这可能是学习另一种语言的好方法。在你的6年开始之前,在开始的2年内,你应该能够对自己的最佳方式有所了解。
答案 4 :(得分:1)
我的建议是通过大学的Java课程(不确定有多少提供Python?)以及它们的低级数据结构单元和算法单元。许多大学都在网上发布笔记,每个人都可以访问。它们通常是您应该知道的基础知识的良好指南,一旦掌握了基础知识,您应该知道自己缺少什么,以及如何以逻辑方式解决缺失的差距。至少,它们提供了您可能想要了解的主题列表。一旦你掌握了基础知识,你就可以开始做你想做的事了。
答案 5 :(得分:0)
有一本书,针对编程初学者,使用C ++,由C ++的创建者编写。
编程:使用C ++的原理和实践,它非常有用(即使对于非初学者)。
http://www.stroustrup.com/Programming/
这是一个开始,但是一个好的开始。你不会在本书的Windows环境中编写3D游戏,但这是一个非常好的基础。
答案 6 :(得分:0)
如果你感到不知所措,请坚持使用Python一段时间。使用起来相当容易,并且易于阅读。继续制作小程序。也许会遇到一些Project Euler问题。游戏编程是复杂的,如果你现在开始使用C ++,你会感到气馁并想放弃。我知道我做了:-P。首先了解如何编程,并在解决游戏编程之前了解如何构建更大的应用程序(或者至少从非常小而简单的游戏开始。像Pong一样)。
除此之外,阅读,阅读,阅读。读堆栈溢出。阅读有关编程主题的维基百科文章。去你当地的图书馆,阅读他们所有的编程书籍。专注于谈论编程的书籍,而不是特定的语言。专注于设计模式,算法,好坏代码之间的区别等等。去大学/大学并参加编程课程。没有正规教育并不是不可能的,但是你会比你自己学得更快(我相信文凭/学位会帮助你在这个行业找到工作)。
答案 7 :(得分:0)
坚持使用java。 6年后,java(或类似的jvm上运行的东西)将成为一种更受欢迎的游戏语言(特别是因为Android的移动版)。
如果您需要6年的工作,请注意以下事项:http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html(请注意java和c 与其他语言比较的百分比)。
答案 8 :(得分:0)
我实际上来到这里寻找同样的邪恶天才书的建议。这么多错误。非常恼人的尝试找出所有这些东西没有解释。 我在Java期间将Python作为额外的功劳。我们使用了由Zed Shaw创建的在线图书。所有代码都是为您输入的,但您仍需要通过它来了解它的作用。继承人的链接。 http://learnpythonthehardway.org/book/。 我自己也想成为未来的视频游戏设计师。我开始时通过保留笔记本并将所有想法写入其中。如果你有一个也是个好主意,除非你已经有一个。一旦你把它们写下来,就会更容易想出新的想法,使旧的想法变得更好。不要以为你可以记住这一切。写下来。一些可能对你有所帮助的书籍是Jesse Schell的“游戏设计艺术:镜头之书”和Jane McGonigal的“Reality is Broken”。这些书中没有编程,但是它们帮助我理解了制作好游戏所需要的东西。喜欢创造力和想象力等。祝你好运