做一个游戏作为教程?

我在我的学校负责一个游戏开发俱乐部,我想在今年夏天做一个项目,下个学期我可以用它作为教程。 我从来没有做过这样的事情,所以我想知道是否有人有任何指导思想。

我想要做的基本上就是做一个非常简单的游戏。 就像一个自上而下的射手,敌人来冲你杀他们,拿起一些战利品。 但是,我希望一切都很容易被修改。 俱乐部里的人没有什么游戏开发的经验,所以如果我能够以这样的方式来设置我的游戏,人们可以轻松地修改和添加function,那对他们来说是非常好的。

这些东西就像拥有一个容易上手的敌人阶级,或者让枪支不同地发射/增加新的枪支和新的战利品。 即使在游戏中添加新的元素。 构建游戏以允许这种延展性最好的方法是什么?

在游戏开发中实现这一目标的传统方式是使用数据驱动架构来实现游戏系统。

从本质上讲,这意味着代码并没有实现一个特定types的武器(枪)与其范围/伤害/渗透明确定义的价值,而是填补了远程武器的通用概念(范围/损害/渗透…)从外部(到代码)数据源。 这个外部源可以从从磁盘读取的可分析(可能是XML)文件到通过游戏引擎本身内部或外部的工具生成的二进制文件或数据库元素。

定义类似于敌人的东西,人工智能系统可能被devise为支持一些通用行为(攻击性,防御性,支持性,懦夫),然后通过数据驱动元素进行调整。

我的新敌人,从积极的基地人工智能行为开始,具有以下数据驱动的价值:-ignore玩家>我的等级+ X-追踪玩家X以外的玩家 – 当生命值超过X时 – (当玩家太接近时)

一个更复杂的数据驱动scheme可能允许AI状态转换(有限状态机)到另一个状态的特定数据点(事件)的定义,甚至允许你的用户定义一个状态复杂的行为层次。

所有这些当然比只是明确地编码行为更多的工作,但它是一个有趣的挑战,使用户能够在不修改源代码的情况下制作内容。

有奖励点要实现:

  • 如果您可以dynamic更新数据,并在游戏引擎中反映出更改,而无需重新启动应用程序
  • 如果您创建用户界面友好的用户界面,允许用户使用界面与数据进行交互,而不是直接编辑文本(XML或其他)文件

对于一个面向更多技术人群的教程游戏,大部分的工作是在devise的类/对象中,为用户提供干净的接口来扩展,而接口又可能是数据驱动的。

如果您正在寻找关于如何让您的项目开始并逐步构建的一些想法,以便将其转换为教程,请参阅XNA Game Programming Adventures 。 作者有几个教程设置,解释和源代码,逐步增加。

我会建议看www.thenewboston.com上的Java游戏开发教程

在武器和爵士乐方面,这可能不是你要找的东西,但是它在游戏开发中给出了许多关键因素的逐步分解。 主持人“Bucky”也有一个冷静,只为乐趣的教学风格。 请享用。