跳至内容

视频游戏设计/编程/框架

来自维基教科书,开放世界开放书籍

一般架构问题

[编辑 | 编辑源代码]

游戏的框架基本上是所有用于游戏创建的编程,但并不直接实现任何游戏玩法。 这可能是管理显示、文件访问、声音和其他外设的代码。

没有一个适合所有视频游戏的框架。 每款游戏都需要选择组件和策略来将它们链接在一起。 使用免费提供的或甚至授权流行框架的好处是,您无需“重新发明轮子”,并且可以在解决问题和扩展功能方面获得支持和协作。 实际上,创建您自己的框架的唯一优势是可以控制它,这可能是由于需要实现其他反对的东西,或者只是为了从特定工作中获得经济补偿并将其许可给其他人。

选择 API(应用程序编程接口)

[编辑 | 编辑源代码]

有很多适用于游戏编程的 API。 API 范围从专门(仅图形,例如 OpenGL)到非常非常广泛(窗口、图形、网络等在 ClanLib 中可用)

  • OpenGL -- 特别是,这是一个图形库。 一些其他 API 可以很好地与 OpenGL 集成(例如 SDL)。 它也是跨平台的。
  • DirectX -- 由 Microsoft 提供的一组 API,专门用于运行 Windows 的机器,尽管它也存在于其他 Microsoft 平台上(xbox 1 使用修改版本的 DirectX API)。 它们包括声音、音乐、图形、输入和网络。
  • SDL(简单直接媒体层) -- 一个基于 C 的良好库,非常便携,虽然相当底层,但它足够完整可以控制声音、图形和输入(来自操纵杆、键盘、鼠标和 CD-Rom)。 zlib/png 许可证。
  • SFML -- 一个面向对象的 C/C++/.Net API,支持音频、图形、窗口处理、多线程、网络和输入(来自鼠标、键盘和操纵杆)。
  • Allegro -- 一个易于使用的 C/C++ 程序库。 跨平台(支持 Windows、DOS、Mac OS X、UNIX 和 BeOS)。 提供用于图形、声音、输入和计时器的函数。
  • ClanLib -- 一个 C++ 工具包和 OpenGL 2.0 包装器。
华夏公益教科书