视频游戏

什么是游戏引擎?

作者: Sofiia Pohut

审阅者: Meir Amzallag, 首席执行官 & 联合创始人

什么是游戏引擎

什么是游戏引擎?

游戏引擎是一个用于设计交互式体验的软件框架。开发者在开发的主要阶段(构建和测试)使用游戏引擎。游戏引擎部署在不同的平台上。利用这种机制可以揭示数字程序在实时和复杂模拟中的表现,这样创作者就不必从头开始编写底层代码。

游戏引擎的组成部分有哪些?

在现代开发架构中,运行时循环由多个同步系统管理,包括实时渲染、空间动力学、音频处理和脚本执行等功能。每个子系统都致力于处理用户输入并提供实时输出。

  • 渲染引擎(图形管线): 该子系统将3D数据、纹理映射和数学光照模型转换为2D像素网格,以便可视化地呈现给用户。
  • 物理引擎: 该子系统融合了运动学、刚体动力学、重力、碰撞以及专用方程等理论来模拟这些效果。
  • 音频引擎: 该子系统负责所有与音频相关的工作,例如三维声音定位、声音混合、声音加载以及提示音和背景音的播放。
  • 脚本组件与逻辑: 该子系统定义了游戏行为和规则,并基于设计师已编程的事件实现游戏AI和玩家输入/交互。

这些功能可以在各种流行的商业产品中看到。例如,Epic Games的Unreal Engine为高保真电影级游戏提供动力,而Unity Technologies的生态系统支持绝大多数跨平台手机游戏。

游戏引擎有哪些不同类型?

游戏引擎根据其目标和目标硬件进行分类:

  • 2D引擎 专门开发用于管理2D环境中的精灵、基于网格的移动和像素操作。这些引擎包括RPG Maker和GameMaker。
  • 3D引擎 专门设计用于操纵矩阵、计算空间中的光照、体积效果以及3D坐标系中的几何计算。这些引擎包括Unreal Engine。
  • 移动框架: 专为低功耗ARM架构、触控操作、功耗优化以及智能手机常见的内存限制而设计。
  • 基于网络的引擎: 配置为在浏览器内使用WebGL、WebGPU和WebAssembly技术运行,无需单独下载(例如PlayCanvas或Phaser)。
  • 模块化引擎: 灵活的插件结构,允许工程师交换或移除某些组件,以实现定制化的生产环境。

游戏引擎与游戏框架或渲染库有何不同?

行业标准(可在 游戏引擎架构 (2019) by Jason Gregory) 概述了在全面的开发生态系统和低级软件库之间清晰的架构区别。抽象层的选择直接影响项目时间表。

A 渲染库 在与低级图形API(例如OpenGL、DirectX、Vulkan等)接口时,专注于像素级别。它在操作时没有内置的音频信号处理或控制器数据支持。 游戏框架 由非常基本的脚本和循环构建,提供了一个架构骨架。这对于包含循环和脚本的结构有益,但其中不包含任何对图形或通用资产处理系统的内置支持。一个功能完善的 游戏引擎 将所有或大部分生产组件和系统整合到一个单一的生产工作空间中。

软件类别 主要功能 优点 缺点
渲染库 渲染几何体和像素。 您的优化选择与软件负载之间需要保持平衡。 意味着必须完全独立地构建各种系统(物理、音频等)和支持工具。
游戏框架 包含游戏代码并允许游戏代码流的定位。 架构自由度高;代码库轻量且灵活。 可以在不创建游戏资源的情况下编写和修改游戏代码。
完整游戏引擎 提供游戏设计环境。 涉及UI构建、拖放以及导出到多个操作系统的迭代设计。 影响编译游戏的体积、学习如何使用引擎所需的时间,以及设计环境的设计和结构。

使用游戏引擎相比从零开始开发有哪些优势?

团队在使用预构建的交互套件时,与从头开始编写整个核心架构的过程相比,能够从中受益。

  • 时间分配: 从头开发内存分配器、渲染管线和碰撞检测系统可能需要一组工程师花费数年时间;而使用游戏引擎,他们可以在第一天就开始构建实际的游戏玩法。
  • 可访问性: 现代引擎允许创作者(艺术家、设计师、作家)加入开发,因为系统功能包括可视化脚本节点、拖放式场景层级和直观的时间轴。 
  • 跨平台部署: 该引擎负责处理抽象层的复杂性,并支持将代码部署到PC、PlayStation、Xbox、Nintendo Switch、iOS和Android平台。

如何为您的项目选择合适的游戏引擎?

选择交互式环境时需要评估项目范围和团队能力。以下问题可能有助于您做出选择。

  1. 您的目标平台是什么——移动、游戏机、PC还是网络?
  2. 您的技术团队的专业知识是否与框架的原生语言要求相符(例如,Unreal 对应 C++,Unity 对应 C#,Godot 对应 GDScript)?
  3. 游戏设计需要2D线性空间还是3D坐标空间维度?

在做出最终决定之前,请确保编程语言兼容性、文档深度、市场资产可用性、社区支持规模以及平台许可费用。

结论

总而言之,游戏引擎是新软件系统流程的基础。现代游戏引擎集成了多个子系统:渲染、物理和音频。这些集成的子系统与游戏开发所需的时间以及部署和 销售视频游戏 跨多个平台。

准备好开始了吗?

我们理解您的处境。让我们分享二十余载的经验,助您实现全球化梦想。
马赛克图像
zh_CN简体中文