一般游戏都是基于 “场景驱动”的。
所谓场景驱动就是由玩家在游戏中具体位置、具体状态、具体行为触发游戏逻辑。
如在某地图中,进入某个门,就到下一张地图;
如在某地图中,选择和某人对话,就触发战斗等……
请看下面来自武林群侠传的截图:
由驱动级任务(RPG场景、养成模式场景)来驱动子任务(战斗、小游戏、菜单)等。

在我们的GDE-X引擎中,也采用这种设计理念。
将 战斗、小游戏、其他菜单等看做是临时任务。每次需要的时候可以独立加载。
而场景作为后台驱动级任务,一直存在,只需要维护当前的场景信息。
那么我们的游戏引擎状态机可以完全基于当前的场景
while(not exit)
{
场景行为xxx( 当前场景 );
}
然后在场景行为中去阻塞的启动临时任务,比如战斗 StartBattle( this.战斗信息 );

在完成战斗后又回到场景行为中来。
场景驱动设计
本文介绍了一种游戏设计中的场景驱动理念,通过玩家在游戏中的具体位置、状态和行为触发不同的游戏逻辑,如进入特定区域触发战斗等。该文还讨论了如何在游戏引擎中实现这一设计理念。
2580

被折叠的 条评论
为什么被折叠?



