2012-02-12 23 views
0

我开始游戏开发,但我真的想要避免一步一步地游戏。我在想,处理所有这些事情的好系统是什么?例如,我想制作一个菜单类,其中包含菜单中的按钮对象数组,然后每个游戏循环调用菜单上的update(),然后调用update()按钮,传递用户输入等。这是做这件事的好方法吗?什么是制作游戏的好结构?

我试图找到结构技术过去的游戏循环,任何意见将不胜感激。谢谢!

(顺便说一句,我用C++)

回答

0

这个问题不是小事,但让我尝试给你一个非常简单的答案。您至少需要一个可以注册多个引擎的核心架构。深入研究状态机和几种软件模式。游戏编程宝石等游戏开发书籍已经非常丰富。从AndréLaMothe开始阅读一本旧书。阅读源代码即。从半条命2,可以在某些地方下载。

它肯定取决于环境,C++是最好的,可能是编写游戏的最快方式,但是您想使用DirectX还是OpenGL,您是否需要音频和高级输入?你想从更早的WinApi开始?尽管如此,它始终始于单一的主循环。在那里你的状态机应该被初始化,并且所有的资源管理器都需要被设置。对于图形对象,您需要考虑低级别的初始化,更新,绘制,释放和销毁循环。 UI建立在图形,输入和其他部分上。不要开始编写自己的用户界面,否则你需要花费接下来的两年时间。你需要一个描述你想创建的世界的关系游戏模型。老实说,读了很多关于模式(如mvc),状态机,gpu管道和框架设计的知识。从非常有才华的人那里读取很多代码,这些代码会为我们开源:)

顺便说一下,什么是一步一步游戏?

+0

感谢您的提示。我不知道HL2是开源的。一步一步,我的意思是手动编写代码并编辑游戏循环以使事情发生,而不是通过一个单一的注册调用来创建一个新的类,并将它挂接到代码的其余部分。 – Cole 2012-02-12 22:46:48

+0

HL2不是开源的,但你会找到代码。早在2003年,当坏人盗窃了阀门的源头。但对于我们来说,这是一个学习游戏架构大局的好地方。 – 2012-02-13 08:35:42