Hi!
文章来源:8 Gamedev & Unity Essential Beginner Tips!
想要了解怎样快速学习游戏编程? 去做游戏。 这里是几点建议帮助你: Hi,我是Keryann,一个在IronEqual工作的年轻人,现在正在开发REPULSE: Galactic Rivals。 这个项目开始于一年多以前。对于一款小范围的游戏来说,这个时间似乎是真的很长了,但是当我开始开发这款游戏的时候,我几乎没有游戏开发的知识。所以在整个项目中,我学习了游戏编程以及Unity的工作流。 我想把我学到并且现在每天都在使用的东西写下来和你们分享:
在使用任何一款游戏引擎的时候,比如Unity或者是虚幻引擎,一些开发者(主要是来自计算机科学领域的)倾向于埋头开始开发大型算法或数据结构,而不去了解它们是不是在引擎中已经存在。 我想到了一些例子,比如一些开发人员阐释去重写Unity的动画器,甚至是基础的寻路系统。
当然,既是了解游戏引擎,也可以编写自己的工具使它们更适合你的项目,这样能节省你很多时间、也能弥补引擎的缺陷。 但是请记住,对于一个学习游戏开发的人来说,了解引擎所能提供的所有可能的工具是很重要的。知道了这些知识,就可以选择哪些工具可以去学习,哪些工具需要从头开始创造。
一旦你开始了你的游戏创作,在很多事情上,你会遇到很多问题,缺乏经验去解决。当你遇到这样的事情时,你的第一反应应该是查看文档(查看Unity的和虚幻引擎的)。 游戏引擎文档可能会很厚,但真的非常有用。它可以回答你大部分关于游戏组件的大部分问题,让你访问API文档,帮助你确定一个特定的语法,而最重要的是,它可以帮助你描述你遇到的问题。
这些都是为了召唤我们最好的朋友:谷歌! 无论你问什么样的问题,你都会发现有人已经问过了并且给出了答案。这真的是一个能够找到你遇到的任何问题 的解决方案的利器。
能否帮助你的主要网站,特别是Unity:answers.unity3d.com, stackoverflow.com 还有gamedev.stackexchange.com.
帮助和灵感,当然还有其他的一些创意的另一个更重要的来源是来自你周围或者是在网上。(原文:Another great source of help and inspiration is of course other creatives, from your surroundings or on the internet. )事实上,游戏开发像其他的活动一样可以有很多形式和项目,所有你总是会学到一些东西。 所以,为了最大化你的学习进程,你需要从别人的经验和失败中汲取营养。
分享你的工作。至少你会有一次愉快的交流,最好的情况是你会学到改进及当前的或未来的工作的方法。
游戏jam不仅仅是一个了解游戏开发的一种方法,而且是一种能刺激你的思维和技能的重要工具。 游戏jam的过程并不是经典的游戏开发,但这就是它的全部力量。事实上,因为它会发生在一个非常短的固定的时间内,你必须快读原型化、思考、并作出决定。另外,你应该着眼于游戏机制的基础要素,并保持它的简单性(当你在编写更大的游戏时,这个技巧也是适用的)。
实验心得功能特性、用新的东西测试你的技能、甚至是简单的尝试和失败,这都是一个很棒的练习。
你可以让自己重新振作,在一个长期的项目上休息一下。
在一些公司,游戏jams是一个很重要的游戏开发步骤。它用于验证游戏概念,测试项目的可行性,评估开发时间和可能出现的问题的范围(原文:estimate the development time or question the scope.)。
永远记住要不断重新评估和评判你所做的东西。
用一个全新的视角区分析你以前的工作,观察它的优缺点,并基于你现在的新知识去改进它。
这是一个很重要的过程,它让你很容易让你自己从你的工作中脱离出来。它让你在需要的时候更自由的剪切、删除和重启从零开始的功能。
一些人天性系统条理,而其他人则不然,但你必须严谨、系统条理,否则你(或你的团队)可能会遇到麻烦。 作为一个团队(如果你不是独立开发者的话)你可以开始决定使用一种通用的语法(你的代码的命名规范),以便在同样的页面上更容易检索所有的类和方法。
如果你使用Unity,你可以基于官方的C#语法或者创建你自己的,只要你团队的所有人都遵守它。
这在在资源的命名和项目工程的层次结构方面完全一样。你可以使用虚幻引擎的命名规范,或者把它作为一个起点。这样,你始终会有一个干净的项目来方便的集成和合并美术的输出,而不会丢失。
一旦你确定了层次结构并准备好工作,就应该使用版本控制工具轻松地合并每个人的工作。 无论你选择哪种版本控制工具,都要确保每个人都使用相同的版本控制工具,并且知道如何使用它。 花时间为项目的版本控制做准备。它可以防止大规模的合并冲突,并允许每个人和平地工作。 即使是独立工作,版本控制工具也会让你轻松地备份你的工作,保留某种各种记录,并且可以创建新的项目分支进行试验,而不必担心会丢失进度。 如果你正在使用Git,我最喜欢的应用程序是Git Kraken。它非常直观,符合人体工程学。虽然这里和那里仍然有一些小bug,但定期更新会逐渐减少它们! 你还可以使用更通用、更高效的Github桌面。
最后但同样重要的是,使用插件! 特别是在Unity上工作时,在资产商店中搜索哪些插件可能有用,甚至可以节省你的时间! 当然,许多插件都不是免费的,但是购买它们可以节省你的时间,所以至少考虑把你的一些资金花在节省时间的插件上是有好处的。 我可以对我喜欢的插件说很多好听的话,但我更愿意给你我的插件入门包。
以下是我总是添加到一个空白项目的所有插件: DOTween(免费) 真正酷且高效的tweener,有完整的,易于使用的文档。 Rewired(45美元) 节省时间的输入系统,便于在多个平台和控制器上开发。 Master Audio(30美元) 强大的音频集成系统。 Odin Inspector (35美元) 全新的插件,让您轻松定制您的查看器。 Colorful FX(40美元) 后处理插件重新组合了许多效果。 Post Processing Stack(免费) Unity免费后期处理插件。
To use, see:Jektify - Doc
Goodbye!
Put a very powerful message.