关于制作一个小黄油的进一步思考:
首先游戏的舞台是一个类似于“勇者别嚣张” 的一个棋盘,通过“移除”棋盘上的方块来创造地牢的通道以及房间。再通道以及房间中放置魔物或者陷阱来进行防御。游戏的最终目标那当然是ghs,也就是需要抓住勇者,并且防止地牢里的宝物被勇者夺走。
那么通过这样的游戏目标来设置游戏流程:
1. 游戏开始
2.构筑地牢
3. 勇者入场
4. 游戏结束
与此同时,魔物的放置应该是能够在阶段2和阶段3的时候进行的(参照勇者别嚣张)。
因为我的技术原因,以及相较于unity,GMS2在网上的教程以及别人造好的轮子都比较的少。不少的东西都需要自己来研究,比如说:
既然游戏的目标是ghs,那么勇者就是游戏很重要的一部分。参照勇者别嚣张,勇者的行为模式是依据一定的行动优先级来决定的,也就是在有岔路的时候,勇者会依据对其设置的行动优先级对岔路进行选择,而当遇到无法再继续前进的时候,就会回到之前的岔路口再依据行动优先级进行选择。听起来有点耳熟是吧,因为这是遍历算法。
这只是没有魔物的时候勇者会进行的行为,当地牢中有魔物的时候,勇者会优先攻击魔物。那么这就会产生一个问题,当勇者因为魔物被勾引走,要回到之前的探索路径时,勇者怎么知道哪些地方时他探索过的?哪些没有?
由于我并不知道游戏的源代码,那么只能通过实际游玩时勇者的行为来猜测他的代码到底是怎么写的。
由于游戏比较小众,并且难度不低,导致至今为止在b站上关于这个游戏的视频都很少。至于会提到勇者行为模式的攻略就更少了。所以我尝试使用日文来搜索游戏攻略,毕竟是日本的游戏,搜到的概率应该会大一些。
所以真的被我搜到了,而且根据我的日本语本当上手的日语水平,很明显上面用荧光笔标注的地方就有我想要的东西。在这里顺便将链接放给大家:https://wikiwiki.jp/yuunama/%E5%9F%BA%E7%A4%8E%E3%83%BB%E6%88%A6%E7%95%A5%E3%83%BB%E3%83%86%E3%82%AFor2
在经过翻译软件的洗礼之后,终于算是理解了游戏中勇者的行动ai,以下是我做出的总结,基本上应该和翻译后的文本差不太多。
在你挖开了地图的格子之后,每一个格子都会记录下面这几项内容:
1. 勇者是否检查了这个格子
2. 勇者是从那个方向走进的这个格子
3. 勇者入侵地牢之后是否挖了格子
说实话,最后一个条件在勇者不会挖格子的时候是可有可无的,对于我的游戏来说应该不需要。
在勇者踏入地牢之后,每进入一个新的格子,都会执行以下的“探索”来决定走哪一个格子:
- 将自己上下左右的4个格子设置为“正在检查”。
- 将自己的进入方向记载在所在格子中。(在抓住魔王之后不再记录)
- 确认四周是否有魔王,当有魔王存在时计算移动变化。
- 当四周没有魔王的时候,对自己4个方向进行移动可能调查(什么是移动可能调查:已经被挖开,而且勇者没有检查过,也不是在入侵迷宫后被挖开。(最后一个条件可有可无))
- 在确定了移动可能调查之后,根据可移动方格数量最大的方向前进,当存在多个最大值时,根据移动优先级来决定移动方向
- 当可移动方格全部为0时,直接进行下一部分的行动。
- 在可移动的格子没有增加的情况下,将不能移动的格子标记为“已检查完毕”,返回到之前的格子。
上面的这部分移动条件是有例子的,原文的链接上面已经放过了,这里还是推荐各位可以自己去看。
当然,游戏攻略也并不是游戏开发商,还是有一些事情没有能够调查清楚,比如说“正在检查”和“已检查完毕”的状态难以分辨,而且当勇者身边有魔物的情况下,勇者的行动就会有变化。比如说当勇者被攻击的时候,勇者应该会冲上前去攻击魔物。这就得我自己来决定了。下一篇的开发日志应该会带有勇者行进AI的假代码。
暂无关于此日志的评论。