我想下载开放源代码游戏的源代码,以便熟悉游戏体系结构。有谁知道一款游戏的源代码清晰易懂?
编辑:经过一番思考,我想制作一款可以在台式机或带有2D图形的Andriod手机上玩的游戏。
我想下载开放源代码游戏的源代码,以便熟悉游戏体系结构。有谁知道一款游戏的源代码清晰易懂?
编辑:经过一番思考,我想制作一款可以在台式机或带有2D图形的Andriod手机上玩的游戏。
Answers:
我不确定您要问的是哪种游戏,但是有一个用c ++编写的名为OpenTTD的开源游戏。我认为您可以将其用作一个很好的示例。
一些使这款游戏与众不同的功能:
- 编辑 -
就在今天,我从头开始阅读它们的代码。要理解他们写的东西,您必须是一个体面的C和C ++程序员(尽管他们的代码受到了很好的评论)!我的意思是您必须是这两种语言的精通者,因为它们正在使用两种语言的结构!因此,如果您对自己的编程技能没有足够的信心,甚至不要靠近该代码!那是我见过的最脏的代码!(我本人是一个肮脏的编码员,但他们还有别的!)
我想现在我可以建议您检查supertux代码。这是一款平台游戏(就像超级马里奥赛车一样),到目前为止,它们的代码似乎还很干净(我已经检查了里程碑1.3)。他们在该代码中有一些注释,但仅适用于您可能会感到困惑的地方。
有像 雷神之锤3》(Quake 3)或者如果您想要更简单的东西(以及2D),请看一下独立游戏Gish。他们都使用OpenGL,并且也是跨平台的。
不过,吉什有点凌乱。
我建议您首先将注意力集中在您想学习的游戏架构类型上-3d管道,物理,人工智能等。
我认为有一个很好的游戏编程范例的普遍要求,我认为 太空侵略者gl很难被击败,因为它具有简洁的代码,并可以在不使事情变得简单的情况下开放gl的游戏玩法和界面。
干杯
我认为您可以做的最重要的事情之一就是选择自己喜欢玩的游戏。这将有助于您保持对此的兴趣,并使您更加熟悉代码本身如何转换为玩家的观点。
选择了该游戏之后,无论游戏多大,都不必尝试弄清楚每一行代码的工作方式。挑选一块,看看。例如,尝试弄清楚如何存储播放器数据或如何绘制菜单项,等等。
您可以做的下一件事,就是尝试更改某些内容。起初不是很大的东西,只是游戏中简单而引人注目的东西。甚至像菜单按钮上的文字,添加菜单项或更改损坏计算等简单的操作。也许您认为他们应该做一些不同的事情,尝试自己进行更改。
当我最初对开发游戏感兴趣时,我真的很喜欢2D在线RPG。因此,我找到了一个在线资源,然后开始在此基础上构建。添加我自己的功能并进行调整,修复错误等。几年前在VB6中就是这样,现在我正在使用C#和XNA并从头开始编写自己的游戏。因为我喜欢这些游戏,所以激发了我去研究它,使其变得更好的动机。巧合的是,这也是我在与非gamedev相关的日常工作中学到的许多编程,调试和问题解决技术的方式。
如果游戏中有许多社区,您可以提出问题并从中获取帮助和示例,这也将非常有帮助。但是话又说回来,即使不存在,您也已经在这里,我们随时可以提供帮助。
该卷轴游戏开发工具包2,您可以实际创建2D游戏和使用图形用户界面,而无需编写代码播放。但是,它也允许您查看和编辑嵌入在项目中的代码,这些代码表示游戏背后的框架/引擎。大多数代码是通过GUI公开的,尽管其中一小部分是根据放置精灵的位置和创建的地图生成的代码。但是,如果生成项目,然后在Visual C#Express中打开生成的文件,则即使此代码也可见。整个程序(IDE)本身也是开源的。它建立在OpenTK库(用于与C#的OpenGL接口)上,该库也是开源的。