怎么编程游戏?游戏编程入门指南

怎么编程游戏(游戏编程入门指南)

怎么编程游戏?游戏编程入门指南

文章插图
游戏代码也写了几年,有时候在想如果现在给刚入行的自己一点建议也许能有一点帮助 。
所以这篇日志主要是分享一下自己对于游戏编程入门的一些想法 。
这篇文章由爱发电支持写作,如果你喜欢我做的事情,可以考虑在那里支持我 。
语言的选择
在一开始更多是推荐从高级语言入门,比如 Java、C#、lua、,。在这个时期可以配合一些游戏引擎来学习,如果你是因为喜欢游戏才学习编程的可能不喜欢老是 print 一些文字,可能更喜欢输出图片 。
可以直接从对应语言的游戏引擎开始做几个小 Demo 了解一下游戏构造,但是游戏引擎有个弊端就是 API 太多入门有点难……
游戏引擎的优点是做游戏会比较快,但是引擎整体还是略庞大,不适合学习代码之用 。
之后可以使用 pico-8、、、SDL 或者直接操作画布来制作尝试制作游戏挑战自己编程能力 。
而 C 语言(包含 C++)可以放在后续研究,研究 C 语言可以对语言底层点的东西理解 。像指针可以让你直接访问内存,这在其他语言中是很少见 。可能一般感受不出来它的力量,但当你面对资源紧张的系统(需要手动内存管理),比如 GBA 和 NDS 上面的编程时候就绕不开 C 语言甚至汇编语言了 。
一定要多动手
我在没学习编程之前是个爱看书的小青年 。所以在我刚开始学习写代码时候常常就一直看书没有实践,有些东西看似懂了,实际还是要上手操作才能掌握透彻 。
在着手写代码时候最好是带着问题去学习,编程其实就是把复杂问题分解 。比如在制作一个小 Demo 时候可以考虑这几个问题:
而之后可以考虑的问题可能有:
怎么编程游戏?游戏编程入门指南

文章插图
不要执着于
游戏行业比较流行图形学,可能感觉起来高达上,但是对于初学者(非初学者其实也一样)来说更多还是应该专注于。
我在刚开始写代码没多久就跑去拿本红宝书在啃,写了一堆代码到头来也没学到什么 。
一开始不要考虑3D 方面东西,从简单的2d 开始比较不错 。这个时候我更多推荐看下代码本色和游戏人工智能来锻炼一下代码能力 。
甚至如果要学图形学的,我更多建议是先直接用 Unity 上面先学习如何写一些 (推荐Unity 着色器和屏幕特效开发秘笈),能写一些比较特效之后然后再回头去写那些渲染管线那些会比较有感触 。
不要禁锢在游戏引擎中
现在游戏引擎非常方便,写软件的目的就是为了使其越来越容易使用 。
但一直使用游戏引擎对于初学编程的人来说会比较难以提高编程水平 。个人建议是可以从先从游戏引擎入门,然后尝试不使用引擎使用上面提到一些底层点的框架或者工具来制作游戏 。
造点小轮子有助于提高
很多人都说不要重复造轮子,但有时候别人的轮子比较重量级不够轻 。自己写点适合自己的轻量级的轮子也对自己编程能力有一定提高,也可以更多享受编程的乐趣 。
比如用上文提到的比较底层的框架(比如 SDL)来制作游戏然后自己写个简单的地图编辑器、粒子系统、存档文件保存读取系统或者菜单系统 。虽然你做的这个跟专业引擎制作的没法比,但有一天你回到引擎里再来看待一些问题会有不一样的解决思路 。
注意数据结构的应用
数据结构刚学习时候会陷入这东西在游戏开发中能干什么的疑惑之中 。除了比较常见寻路用到图和网络编程的消息队列,其他的在我一开始学习数据结构时候都一无所知 。