游戏开发¶
基本概念¶
游戏(在本文应该称为电子游戏)是一种带有交互性质的文化艺术产品,通常包含以下几个部分
- 程序,电子游戏显然应该是一个可以运行的软件应用
- 资源,包括美术、音乐、文本等各种资源
- 策划,或者叫游戏性。比如游戏玩法、关卡设计、数值规划等
本文只重点关注 程序 这一部分。
主要技术¶
图形学¶
由于实时交互的要求,游戏相当依赖图形技术,通常都要使用底层图形 API。目前主流的图形 API 大概有 OpenGL/Vulkan/DirectX/Metal 这几种。
在 GUI 应用章节提到过,图形 API 是一种非常低级的抽象,为了提高开发效率我们需要更高级的抽象。传统的 GUI 框架也可以用来开发游戏应用,但考虑性能等各种问题,游戏引擎通常是更好的选择。
如果游戏不存在性能问题,也可以考虑使用基于浏览器的 UI,目前这项技术已经足够成熟了。
游戏引擎¶
游戏引擎是为游戏开发者提供的集成开发环境,集成了 图形渲染、物理模拟、资源管理、游戏脚本 等核心功能,可以大幅提升开发效率