结语

原文 Final thoughts
作者 JoeydeVries
翻译 包纸
校对 暂无

Note

本节暂未进行完全的重写,错误可能会很多。如果可能的话,请对照原文进行阅读。如果有报告本节的错误,将会延迟至重写之后进行处理。

与仅仅是用OpenGL创建一个技术演示相比,这一整章的教程给我们了一次体验在此之上的更多内容的机会。我们从零开始制作了一个2D游戏,并学习了如何对特定的底层图形学概念进行抽象、使用基础的碰撞检测技术、创建粒子、展示基于正射投影矩阵的场景。所有的这些都使用了之前教程中讨论过的概念。我们并没有真正地学习和使用OpenGL中新的、令人兴奋的图形技术,更多的是在将所有知识整合至一个更大的整体中。

Breakout这样的一个简单游戏的制作可以被数千种方法完成,而我们的做法也只是其中之一。随着游戏越来越庞大,你开始应用的抽象思想与设计模式就会越多。如果希望进行更深入的学习与阅读,你可以在game programming patterns找到大部分的抽象思想与设计模式。(译注:《游戏编程模式》一书国内已有中文翻译版,GPP翻译组译,人民邮电出版社)

请记住,编写出一个有着非常干净、考虑周全的代码的游戏是一件很困难的任务(几乎不可能)。你只需要在编写游戏时使用在当时你认为正确的方法。随着你对视频游戏开发的实践越来越多,你学习的新的、更好地解决问题的方法就越多。不必因为编写“完美”代码的困难感到挫败,坚持编程吧!

优化

这些教程的内容和目前已完成的游戏代码的关注点都在于如何尽可能简单地阐述概念,而没有深入地优化细节。因此,很多性能相关的考虑都被忽略了。为了在游戏的帧率开始下降时可以提高性能,我们将列出一些现代的2D OpenGL游戏中常见的改进方案。

这些应该可以给你一些关于,我们可以用什么样的的高级技巧进一步提高2D游戏性能地提示。这也让你感受到了OpenGL的强大功能。通过亲手完成大部分的渲染,我们对整个渲染过程有了完整的掌握,从而可以实现对过程的优化。如果你对Breakout的性能并不满意,你可以把这些当做练习。

开始创作!

你已经看到了如何在OpenGL中创建一个简单的游戏,现在轮到你来创作属于自己的渲染/游戏程序了。到目前为止我们讨论的许多技术都可以应用于大部分2D游戏中,如渲染精灵、基础的碰撞检测、后期处理、文本渲染和粒子系统。现在你可以将这些技术以你认为合理的方式进行组合与修改,并开发你自己的手制游戏吧!