我已经在《不朽之轮》上工作了大约一年半的时间,建立它真的很开心。 Gamemaker 是我学习编程的地方,建造小游戏和尝试开发超出范围的游戏。这一项目也是一项真正的挑战,主要是在设计方面管理范围。在代码方面,Gamemaker 对基于回合数的、2D像素艺术游戏(即使我的代码是混乱的,充满了警报和巨大的 switch语句)是一个非常顺滑的适应。

我确信有很多地方可以使用更好的实践来获得相同的结果,但我真的试图找到使用我所知道的解决方案,并在我迷惑时浏览文档。

玩家牌堆存储在列表中,仅存储牌的标签。当牌从列表创建时,它会运行一个脚本来检查标签,提供统计数据。标签也对应于一个图像索引,这样牌知道应该绘制什么。牌的颜色变量决定了哪个图像索引的牌框应该绘制。牌的行为基于状态,状态有脚本,如果牌在手中或在棋盘上或其他地方。牌被扔到车道中,每个车道都是一个存储玩家和敌人牌的控制器对象;obj_lane 也在跟踪行为的敌人条件方面做了一些工作。

敌人的行为是我的一个最大疑虑,是否可以设计这样一个游戏,其中对手使用相同的牌堆。 我考虑了一个系统,其中敌人通过将来回合的循环来确定最佳游戏,但它太令人畏惧了。 相反,我保持简单,敌人评估每张牌在每个车道中可以玩的分数。当牌创建时,它也包含评估模式的列表。 如果它是一种移除咒语,它会根据玩家单位的威胁程度评分车道。如果它是一种单位,它会考虑单位的统计数据与玩家单位的匹配情况,以及是否更重要的攻击性还是防御性游戏。 由于双方轮流回合,因此敌人也考虑到什么时候放弃是更强的,甚至会使用更便宜的牌进行探测。 我担心我不能创建一个难度合适的敌人,但实际上它变得非常具有挑战性!

我将 FMOD 整合到音乐和音效中,我的朋友要求音乐。 尽管集成是一个学习曲线,但它是一个非常棒的工具。 我们使用参数将战斗音乐中的紧张曲目添加到玩家低 HP 时。 如果其他人正在考虑 FMOD,欢迎提问,我很乐意分享我所学到的知识。

我最喜欢的细节是牌拖动和牌翻转的伪 3D 效果。 我花了很多时间来调整它,感觉很好,但我使用了一点点旋转和图像缩放来创建一个很好的假象。 拖拽牌时,速度和方向会修改牌的倾斜度。 当敌人扔出牌时,它会翻转,通过将图像 x 缩放到 0,改变图像索引并重新放大。

我正在建立 Steam 页面、社交媒体和 Kickstarter,但这些还没有公开。 我有一个 Discord。 如果你想尝试这个游戏,请留下评论,我很乐意分享一个 beta 键并邀请你加入 Discord。

我也很乐意讨论任何设计或开发工作,如果你有任何问题!