【译】闯入游戏开发 #3:编程

作者:凌岚
2020-10-22
14 3 0

编者注

凌岚对免费书籍 Breaking into Gamedev(闯入游戏开发)进行了授权中文翻译,并将译文转交给 indienova 代为发布,分享给希望接触游戏开发却无从入手的爱好者们进行学习交流。indienova 会将译文分节成多篇文章更新,对整书感兴趣的朋友可以直接到下方的链接下载整书。同时,任何排版问题、翻译错误等意见建议,欢迎直接评论留言。

这本指南的作者 Steven Harmon 是一名至今(2020 年)有着八年开发经验的 USC 游戏设计本科在读学生,可以在 Steam 找到他开发的两款免费游戏:Awkward Dimensions ReduxGriptape Backbone

整书下载

*中文版有部分视频链接失效,建议中英都下载

#3:编程

没有了编程,什么事都不会发生

无论你认为自己是不是个程序员,编程都是必要的。你当然可以在(传统意义下)不需编程的情况下创造一款游戏,有些工具只需要很少的编程,特别是对于视觉小说和超文本游戏。然而,你使用这些工具的次数越多,就越会意识到它们是多么有限,并希望从中获得更多的功能。一位得体的程序员并不需要是一位数学天才,但如果你想提高你的数学技能,这有一些方法:


#3.1:工具

大多数代码都是在 IDE(集成开发环境)中编写的,本质上它所做的就是处理你编写的代码并将其转化为二进制(1 和 0,又叫计算机语言)。还有一些功能,比如调试器(debugger)——一个拼写检查器的高级版本,可以在你写代码时让你确切的知道哪里写错了。不用担心 IDE 的选择问题,因为大多数游戏引擎都预打包了自己的 IDE。不过这也有些我最喜欢的:

  • Visual Studio 2017
    绝对标准。但根据项目的规模,可能会有些臃肿和冗杂。免费的版本叫做 Visual Studio Code
  • Notepad++
    具有基本功能的开源文本编辑器,干净,快速。每台计算机都应该安装它
  • MonoDevelop
    C#跨平台的 IDE,无虚饰,很好用
  • Eclipse
    Java 专用

想要了解更多的编译器?点这

#3.2:他们在学校教你的一切

单就游戏而言,学校会教你 C++。然而我并不推荐你第一门编程语言就学 C++,当你适应与掌握了一般的游戏脚本后可以随时学习和回顾 C++。因为 C++是更“低级”的编程语言,这意味着它更接近设备硬件,也意味着如果你粗心大意了,将会有更多的错误要应对。另外,初学者很容易被 C++中像动态内存分配这样的东西弄糊涂,而它们对制作游戏并不是必需的。如果你刚着手做游戏,Unity 的 C#和 UE4 的蓝图是最好的选择。工具或编程语言并不重要,把重点放在编程的逻辑和算法上,这样在你为新项目更换语言之后,这些逻辑和算法都会继续发挥作用。


#3.2:他们在学校没有教你的一切

你并不需要去学校学习编程,事实上如果你按照自己的节奏去学习编程将会更容易更高效。唯一会阻挠你学习任何东西的坏习惯是:

在你搞懂别人的代码前,千万不要直接拿来用

如果你读不懂也解释不了一段代码中的字符和命令就拿来用,那你只是在给自己帮倒忙。开源项目和在线论坛里的代码是很好的资源,应该加以研究,但不应将其当成支柱。通过仔细研读这门语言,观看在线教程,通过打印“正常运行(I'm working)”这样的消息来测试和调试,以便观察这段代码是否被调用,从而了解这门语言。

编程最重要的真理是,你会觉得你是这个世界上最蠢的也是最聪明的人。你会时常快速地在两者间摇摆。这是一种让人谦卑的做法,任何自认为是这方面专家的人——可能都不是。对自己和自己的能力要诚实,因为一旦你自以为已经知道了某样东西,你就很难真正去学习它。


#3.4:恭喜!现在你拥有了人类一切知识的总和

这儿有些学习计算机科学和编程的好资源!