在reddit(特别是gamedev subreddit)上,有抱负的游戏开发者最常问的问题之一是“我应该使用什么游戏引擎”,这不是一个容易回答的问题,即使对于那些游戏开发者来说也是如此。谁“玩了一段时间”。
什么是游戏引擎?
该引擎是一个完整的软件包:一套全面的工具,可帮助开发人员从头开始构建游戏。引擎通常包含某种级别或场景编辑器、用于导入和管理游戏资产(模型、纹理、声音等)的工具、动画系统以及用于编写游戏逻辑的脚本语言或 API。你仍然需要编写代码来使用引擎,但只关注游戏逻辑,系统层面已经由引擎完成。
什么是游戏框架?
框架比引擎轻,框架用于抽象出最底层的编程细节,让开发人员可以轻松制作交互式图形程序。通常,框架处理创建运行游戏的操作系统级窗口(这非常复杂),提供一种直观的、独立于平台的方式在窗口中绘制事物(2D 或适当的 OpenGL/DirectX 代码)它提供访问各种输入设备(键盘、鼠标、操纵杆等)的状态,并提供一个处理声音的系统,以及其他需要编码的东西。框架比引擎小得多,但这意味着可以自由构建您想要的任何架构,而不是在任何预设引擎的约束下工作。
为什么我需要这些?
严格来说,你不需要使用这些工具,但游戏制作之路漫长而艰辛,很多提出这个问题的开发者自己很可能陷入所谓的“引擎陷阱”,即也就是说,他们所有的时间都花在了重新创建这些 3rd 方工具中已经存在的功能上,而没有真正开发他们一开始就试图制作的游戏。
如果您的最终目标是制作游戏游戏开发引擎有哪些,那么在一些第三方工具的帮助下,它几乎总是一个更好的选择。
那么我需要一个框架还是一个引擎?
这取决于你的背景和目标。一般来说,如果你的动机是“我想玩游戏”,你应该选择一个让开发者从混乱的架构中解脱出来的引擎游戏开发引擎有哪些,转而专注于艺术、设计和游戏。
但是,如果你的目标是“我想学习游戏编程”,那么这个框架可能更适合你,因为你可以自己决定如何构建内容,并且你会对游戏如何进行更深入的了解实际上是建立起来的认知。
此外3D素材,如果您想要现代时尚的图形(如 Xbox 360 或更高版本),请使用引擎,除非您知道自己在做什么,否则您将完全疯狂地尝试重新实现所有这些东西。
我应该使用哪个框架?
这是一个棘手的问题程序开发,因为答案很大程度上取决于您需要框架完成什么。用于游戏开发的常用框架包括
我应该使用哪个引擎?
这是另一个难题,因为那里的引擎太多了,没有一套快速的规则来选择最好的引擎。所以最终由你来决定。
原文:engine_faq - gamedev