游戏编程之始学心路
历经多年的游戏代码打磨,常常想,若是对初入此道的自己提供些许建议,或许能助其一臂之力。故此,以文字分享自己对于游戏编程入门的一些思考与体会。
这篇文章得到爱发电的支持,如果你喜欢我所做之事,不妨去那里支持我。
语言选择与入门
初入游戏编程,推荐从高级语言开始,如Java、C、Lua、Python和JavaScript等。这些语言配合游戏引擎学习,能让你更快地了解游戏构造。若你是因为热爱游戏而学习编程,那么你或许不喜欢只是打印文字,更希望能输出图像和动画。
可以直接从对应语言的游戏引擎开始制作几个小Demo,这样能更快地理解游戏的结构。虽然游戏引擎的API较多,入门时可能觉得有些难度,但它的优点在于能快速制作出游戏。
在掌握基础之后,可以尝试使用如pico-8、love2d、pygame、SDL等工具,或者直接用JavaScript操作canvas画布来制作游戏,以此锻炼编程能力。而对于C语言(包括C++)的学习,可以在后续进行,它能帮助你更深入地理解语言的底层机制。
动手实践重于理论
在学习编程的初期,我曾是个爱看书的小青年。但后来发现,仅看书不实践,有些东西看似懂了,实际还是要上手操作才能掌握透彻。一定要多动手,带着问题去学习。编程其实就是把复杂问题分解,在制作小Demo的过程中,可以思考如何显示一个图片/精灵、如何播放帧动画等一系列问题。
避免过度追求高级技术
在游戏行业,图形学往往备受追捧,但对于初学者来说,更应专注于GamePlay。一开始不要过于关注3D技术,从简单的2D开始更为妥当。在提高代码能力的再回头学习图形学和渲染管线等高级技术。
不要被游戏引擎束缚
如今的游戏引擎确实让制作游戏变得更加容易,但若一直依赖引擎,可能难以提高编程水平。建议初学者先从游戏引擎入门,然后尝试不使用引擎,使用一些底层的框架或工具来制作游戏,这样能更深入地理解编程的原理。
造与编程乐趣
有人说不要重复造,但有时候适合自己的轻量级能提高编程的乐趣和效率。在项目中尝试造点小,比如写一些自己的工具或插件,对提高编程能力也有很大帮助。
注意数据结构与应用
数据结构在游戏开发中有着广泛的应用。除了常见的寻路问题用到的图和网络编程的消息队列外,还有很多其他应用场景。比如堆栈可以用于处理菜单和场景切换,队列可以用于缓冲输入和控制技能组合等。树和图则常用于分支和流程控制复杂的场景中。
游戏开发设计模式的应用
保持代码的整洁与可读性
代码的整洁与可读性是长期项目成功的关键。保持函数的单一职责、避免代码重复、注重代码的注释和文档都是保持代码整洁的重要手段。这样不仅便于自己日后维护代码,也方便他人阅读和理解你的代码。
无论你是因为热爱游戏还是热爱编程而进入这个领域,都希望你能享受游戏编程的快乐!愿你在编程的路上不断进步、不断探索、不断收获!
2019年12月23日
Codinggamer
推荐书籍:
《游戏设计、原型与开发》 等相关书籍等你来发掘。