制作第一个视频游戏的经验教训-第一部分–流沙分发–中

制作我的第一个视频游戏的经验教训-第一部分

接下来是一系列三个帖子,其中包括我们的整理建议,其中包括一些重要的技术决策和必要的思维模式,这些想法是为正在开始(或正在考虑开始)独立游戏项目的开发人员培养的。 下面,我们为您的独立游戏确定最合适的开发平台和代码技术时要考虑的主要注意事项。

流沙GamesLab是一个独立的项目团队,位于更大的工作室中。 我们的小型团队在一起一直在开发“指向并单击”冒险游戏已有4年了。 令我们感到自豪和高兴的是,我们最近在网上游戏平台Steam上受到尊敬的游戏社区的青睐时,我们的努力达到了顶峰,我们现在计划在不久的将来与世界分享我们的最终版本。

建立Antariksha Sanchar是对时间,精力和精力的重大投资,而经验促使我们在做事的过程中学习了很多东西。 边做边学的价值在于知识的坚持,但没有什么东西可以像书面那样在智力和身体表现上巩固知识。

Unity vs虚幻〜

在Unity和Unreal之间进行选择很容易:像业余爱好者一样,Unity对我们而言似乎更加容易获得。 虚幻是一个令人难以置信的游戏引擎,并且已经在其上构建了很多出色的游戏(例如),也许虚幻的无法访问只是一种幻想,但是我们在Unity中开始实验是因为它似乎可以更快地在该平台上进行原型制作。 除Unity和Unreal之外,还有其他游戏引擎,其中一些很棒,但是我们的团队没有任何经验。 之前,我们曾与Unity进行过小型项目合作,并与Unreal合作了一些。

我们从不后悔这个决定。 Unity是一个功能非常强大的游戏引擎,对于独立开发人员来说几乎是免费的。 它有一个活跃的社区,提供全面的文档和大量的教程(免费和专业)。

大型游戏开发项目具有如此众多的组件,以至于像虚幻引擎一样受欢迎的引擎在某些领域必定具有其他引擎所没有的优势。 此外,您肯定会遇到Unity中不必要的复杂工作流程,或者只是缺少正确的定义。 话虽如此,当您开始时,Unity似乎是宽容和诱人的,而Unreal则没有。 对我们来说,这是最重要的差异化因素。

〜C#与JavaScript〜

比较编程语言有时有时很愚蠢,我坚信您应该使用自己喜欢的语言进行编程。 如果您以前使用过C ++,C或C#,那么您会感觉到用C#for Unity进行编程的感觉。 如果您来自网络背景,那么JavaScript可能会更好。 对于几乎没有编程经验的人来说,JavaScript似乎更易于使用。

总体而言,在Unity中工作时,很多事情都非常相似。 实际上,您将花费大部分时间作为一个Unity开发人员(以小组形式)来编写Unity代码。 理解为Unity平台编写代码的细微差别比辩论C#与Javascript的抽象质量更为重要。 详细说来,Unity在某种程度上可以根据Unity平台的开发人员所做出的设计选择来工作。 了解此背景设计并与之保持一致非常重要。 您使用此设计工作的次数越多,引擎与您的竞争就会越少,您成为一名程序员的生活就越容易。

我们开始用Javascript编写游戏代码。 我们做了大约7-8个月。 然后在接下来的3-4个月中,我们用C#代码替换了所有Javascript代码,此后再也没有回头。 我们的游戏中几乎没有JavaScript。 发生了什么? 我们从Javascript开始,因为我们希望没有编程经验的业余爱好者也能做出贡献,并且知道C#会立即吓跑我们想要从事的这些贡献者:

  1. 首先,我们没有找到很多业余爱好者来帮助我们,而我们发现的那些爱好者在总体上与Unity编程息息相关。 当您在努力应对大型代码库和Unity基础结构的结构复杂性时,Javascript往往不太冗长这一事实无关紧要。
  2. 其次,随着我们开始更深入地研究Unity,我们遇到的大多数示例都是用C#编写的。 我们购买的插件主要是用C#编写的,当我们深入了解这些插件的编程细节时,我们通过用C#编写的代码了解了很多关于Unity的知识。 因此,我们开始用C#编写一些代码,并意识到增强功能 C#的冗长性实际上对我们来说很棒。 我们发现更容易全面理解我们用C#编写的代码。 似乎更清楚了,而且我敢说,这更是Unity的本机。
  3. 第三,由于有MSDN文档,所以C#的文档要好得多。

通常的感觉是,大约80%的Unity用户使用C#编程,约20%的Java程序编程,并且有5个人在Boo中编程。 毫无疑问,一个忠实的Javascript或Boo程序员无需编写C#就能做出出色的游戏。 我们只是不那么致力于Javascript。 或者换种说法,我们发现提交到C#变得更加容易和有意义。