【发布时间】:2011-03-09 20:00:43
【问题描述】:
我想用 C 语言从头开始编写一些简单的类似马里奥的游戏。但老实说,我不知道该怎么做,而且我找不到任何好的教程,这是免费的。
但是对于实际的问题,到目前为止我只编写了 WinAPI 程序,所以所有事件处理和用户输入都由操作系统处理,工作量很小,但是要开发游戏,例如带有非矩形按钮的菜单、动画,所以,我想,在 WinAPI 中没有这样的东西可以帮助我解决这个问题,而不仅仅是一些基本的例程鼠标指针定位和按键。
那么,编写游戏的正确方法是通过为玩家、敌人甚至是自己的背景操作对象来编写游戏引擎的整个绘制部分,而不仅仅是使用 directdraw 输出到屏幕?
编辑: 我真的很想学习如何从头开始编写游戏,因为这一定是很棒的编程经验,而且如果您考虑像 DOS 上的 Commander Keen 这样的游戏,它没有框架或库创建,但仍然非常棒。
【问题讨论】:
-
当心你将要完成的工作。我在业余爱好游戏开发领域很活跃,如果我告诉你 70% 的失败是由于糟糕的设计,或者根本没有设计,或者没有考虑这可能需要多少工作,这并不过分,毕竟它并不那么有趣如果你完成了引擎的东西等等。
-
你有什么特别的理由使用 C over 例如 C++ 或其他 OO 语言(我只是认为它会让生活更轻松)?另外,DirectDraw 很久以前就死了(如果我没记错的话是 DX7),现在它本质上是 Direct3D 的一部分(我很久没有接触过 DX,但我认为它现在被称为 Direct2D)。此外,请考虑使用 OpenGL 而非 DX,因为您的代码将更容易移植到非 Windows 系统。