游戏引擎的内容和原因

摘自“使用Unity开发2D游戏”(Apress Publishing,2018年),可从以下网站获得:Amazon,Apress。

游戏引擎是一种软件开发工具,旨在降低视频游戏开发所需的成本,复杂性和上市时间。 这些软件工具在开发视频游戏的最常见任务之上创建了一个抽象层。 抽象层被打包到工具中,这些工具旨在用作可互操作的组件,可以将其完全替换或扩展为其他第三方组件。

游戏引擎通过减少制作游戏所需的知识深度,提供了巨大的效率收益。 它们的预建功能很少或功能齐全,使游戏开发人员可以完全专注于编写游戏代码。 对于那些只想专注于制作最好的游戏的单独开发人员或团队而言,游戏引擎比从头开始提供了不可思议的优势。 在编写本书中的示例游戏时,您无需从头开始构建复杂的数学库,也无需弄清楚如何在屏幕上渲染单个像素,因为创建Unity的开发人员已经为您完成了这项工作。

根据您的游戏,您可能需要实际的火箭科学

设计良好的现代游戏引擎在内部分离功能方面做得很好。 游戏代码包含描述玩家,存货和为游戏级别加载特定背景音轨的逻辑的代码,与解压缩.mp3文件并将其加载到内存的代码分开保存。 游戏代码将调用定义明确的引擎API接口,以请求诸如“在此位置绘制此精灵”之类的操作。

精心设计的游戏引擎的基于组件的体系结构允许可扩展性,从而鼓励采用,因为开发团队并未锁定在预定的引擎功能集合中。 如果游戏引擎源代码无法作为开放源代码使用,或者许可成本过高,则此可扩展性尤其重要。 Unity游戏引擎是专门为允许第三方插件而构建的。 甚至可以提供一个包含可通过Unity编辑器访问的插件的资产商店。

在没有预建引擎的情况下构建游戏…

第一种方法类似于不使用游戏引擎坐下来编写视频游戏。 您必须从头开始做所有事情:编写数学库,图形渲染代码,碰撞检测算法,网络代码,资产加载库,音频播放器代码等等。 即使您从一开始就知道如何做所有这些事情,仍然会花费很长时间来编写游戏引擎代码并对其进行调试。 如果您不熟悉线性代数,渲染技术以及如何优化剔除算法,则应该期望可能要花很多年才能拥有足够的游戏引擎,才能真正开始编写与之配套的游戏。

关于第二种方法

盖房的第二种方法是假设您并非完全从头开始。 它并不需要您知道如何操作高炉,掉落数百种木材或将其碾磨成木材。 第二种方法使您可以完全专注于建造房屋,而不用制作建造房屋所需的材料。 只要您仔细选择材料并知道如何使用它们,您的房屋将建造得更快,成本更低,并且质量可能更高。

游戏引擎极大地缩短了游戏开发时间

第二种方法类似于坐下来编写视频游戏并使用预构建的游戏引擎。 游戏开发人员能够专注于游戏的内容,而无需知道如何进行复杂的计算来找出两个物体在空中飞行时是否发生碰撞,因为游戏引擎会为它们做这些。 无需构建资产加载系统,编写底层代码来读取用户输入,解压缩声音文件或解析动画文件格式。 不必构建所有视频​​游戏都具有的此功能,因为游戏引擎开发人员已经投入了数千个小时来编写,测试,调试和优化代码以完成这些任务。

结论…

夸大游戏引擎给独立开发商或大型工作室团队开发下一款热门游戏的优势是不可能的。 一些开发人员希望编写自己的游戏引擎作为编程练习,以了解引擎盖下的所有工作原理,并且他们将学到很多。 但是,如果您打算发布游戏,那么您将不使用预制的游戏引擎而对自己造成损害。


请确保为这篇文章鼓掌,以便其他人也能找到它。 如果您想了解有关Unity或iOS开发的更多信息,可以在Medium和Twitter上关注我。 我的网站:https://JaredHalpern.com。

谢谢阅读!