2011-01-07 202 views
1

我很新的游戏编程所以请原谅我很模糊的问题:P设计和负荷水平

我已经开始使用iPhone上的OpenGL作为自学的手段在2D游戏工作游戏编程。我已经到了编写引擎的地步,获得了碰撞检测等工作和其他动画,但现在我需要真正开始创建某种可播放的东西,而我的第一个重大问题就是在关卡上。对于我的项目,我将使用Tiled map作为关卡,我的问题是:我将如何去设计关卡?我的意思是,程序员如何知道某些敌人在某个地图上的哪一点会发挥作用?他们如何指定将会发生的级别中的某些事情?总体而言,是否有一种设计级别的方法(从编程的角度来看),并能够加载它来使用它?游戏程序员如何做到这一点?我当然知道这里有一个敌人的AI部分,所以我当然不会为每个敌人预先编写每一个动作,但至少基本知道每个人何时应该进场并且这样的事情呢?再次感谢您的帮助,我再一次很抱歉,如果我的问题是过于模糊,因为我刚刚开始:d

回答

3

你可以从老式的方式开始:让小怪静止不动。你的地图数据可以包含小怪,他们所在的位置,他们是什么类型,以及他们如何移动。精心设计的地图可以使游戏非常具有挑战性和乐趣。

对于AI,通常需要多种算法的混合。假如你正在做一个单人自由模式的星际争霸,那么人工智能可以结合启发式(即预先制定的策略,如洪水玩家基础与压倒性的权力,创造第二基地)和最小最大算法决策(即在遭遇时,像在国际象棋中那样去掉最具威胁性的单位)。这是一个有趣的话题,也是许多程序员/科学家职业生涯的基础。

0

看看这个this页,有很多资源,游戏开发商

3

那么其通常是你为了满足你的需要而做的事情。没有一条正确的道路。

对于我在几年前工作过的3D平台游戏,我设计了编辑器和游戏逻辑。游戏逻辑全部是C++层次结构,每个对象都有能力将消息传递给其他对象。要激活一个打开门的杠杆,我只需简单地设置一个简单的“触发区”,它本身就是一个逻辑对象,简单地说,检查用户是否在球体内部(因为水平被组织成某些“区域”I不需要检查不在我当前区域中的触发器)。触发器将激活杠杆(这将启动动画)。然后,杠杆被设置为在门被拉动时启动门。由于任何对象都可能成为触发器,因此将触发器链接在一起很简单。我甚至可以将触发器分配给某些点。例如AnimationBegin,AnimationEnd,在一段时间之后,或者它可以被键入到动画中的特定关键帧。由于每个对象都可能具有这样的触发器,因此设计编辑器很容易,可以让您选择触发器事件,然后设置发生触发器时激活哪个对象。当然,这些触发器可能会发生键盘动画,这允许我做同步对象运动的更多令人讨厌的陷阱之类的东西...

这只是一种方法,它对我们所需要的功能非常有用。有许多不同的方法来解决这个问题。没有一种方法是正确的,所以你最好的选择是阅读诸如“游戏逻辑”和“游戏对象行为”之类的东西。更重要的是,你需要弄清楚你想要的是什么样的交互,并考虑你需要的状态转换。与直觉相反,我一直发现设计框架工作比编写实际逻辑要复杂得多。

祝你好运!