什么时候应该进入GUI /游戏开发?

时间:2009-07-11 18:10:18

标签: user-interface sdk

我是一个业余爱好者控制台C ++开发人员。我使用过指针,数组,std :: vectors,std :: strings,类和几个数据结构,包括堆栈和二叉树。我在线性代数和几何方面有一些经验,并且了解物理学的基础知识。我没有win32,QT,openGL,DX9,OGRE等方面的经验。我还在学习OOP中更有价值的部分,比如多态性。

我开始使用C ++作为第一语言,并且没有其他语言的经验。我可以使用C,但我需要习惯于操作char *和常规数组(而不是初始化变量)。

我的问题是,根据我的经验,我应该何时进入GUI应用程序/游戏应用程序的开发?我是否需要在某些数学领域更加坚定自己,适应win32,习惯SDK?

如果这个问题太主观,你不能轻易提出建议,那么你什么时候进入GUI /游戏开发,你采取了哪些措施让自己感到舒服?

编辑它以便它会受到影响。还有其他人有什么意见吗?

4 个答案:

答案 0 :(得分:5)

警告:我是一个非常“边做边学”的人,所以请带上一粒盐。

听起来你已经了解了足够的编程基础知识,可以跳进更现实的东西,并且有足够的背景来证明这个真实的项目是游戏。

我建议您下载Visual C# ExpressMicrosoft's XNA Game Studio 3.0

XNA是一个游戏框架,它为你(声音,精灵,3D支持等)提供了很多东西,建立在专业品质的C#平台上,这将是一个很好的起点。创建一个新的XNA项目并玩转。获取一些东西出现在屏幕上,然后学习用户输入操作它。如果您对3D感兴趣,请制作三角形等3D形状。然后,让它旋转。然后,根据用户输入进行旋转。然后,添加其他对象和碰撞。

当然,框架中会有一些你不理解的东西。在他们来的时候解决他们 - 使用谷歌并在这里提问,直到你理解它们为止。一步一步,你应该没事。

答案 1 :(得分:1)

我个人建议你从Win32开始;尝试创建一个基本窗口&继续从那一点开始。尝试制作一个简单的2D游戏引擎,您可以在其中制作像国际象棋这样的游戏。这也可以作为你可以编写AI的项目;这是游戏开发的另一部分!

完成后,下一步应该是3D。您可以使用之前编写的引擎并将其从2D修改为3D。选择一个3D API; OpenGL或DirectX。一旦你有一个基本的引擎,开始写一个游戏。需要额外的功能?然后将它添加到引擎!

数学上你应该知道什么是矩阵。三角学也可以派上用场。

我不会浪费时间与Xna,这只是一个炒作。 :P

答案 2 :(得分:1)

您似乎已经获得了编程语言的基本知识来开始游戏编程。我和你一起建立你已经获得的东西,比如学习OOP,用指针练习更多。我建议你继续前进,不要转向学习另一种工具“编程语言”来实现你的目标。

因此,如果您对游戏编程感兴趣,我建议您选择一个C ++框架并对其进行操作,只需使用它就可以学习更多高级编程。

我建议Gosu。它没有充分的高级功能,这可能是一个优势,但它有一个非常干净的设计,并以优雅和现代的方式使用C ++。这使它非常友好,特别是对于初学者。

另外HGE是另一个很好的2D引擎。

总而言之,通过实际使用现有的“做”来深入编程。这就是你将如何进步,你会对结果感到惊讶。当“做它”时不会被其他语言和工具所扰乱,你已经知道类似于它的东西,同时当学习一种工具来帮助你建立你当前的知识时,在你的情况下我指的是C ++引擎,不要选择非常复杂的(IMO,如OpenGL,DirectX,Win32等),因为你最终会花时间学习不使用它的工具,你很有可能会感到沮丧。你可以随时学习低级别的东西,然后它会更有意义。

答案 3 :(得分:1)

因为这个问题有点主观,因为每个程序员都有一个最喜欢的库,我会推荐SDL,因为它很简单,结构合理,而且非常完整,有很多教程在那里从一个简单的窗口到复杂的3D操作,一步一步地指导您。一切都可以轻松实现。

作为旁注,如果您想开始编程游戏,我还建议您阅读一些关于游戏基础知识(初始化,游戏循环,更新周期)的内容或书籍,以便您知道如何放置你对良好工作的了解。