ITBear旗下自媒体矩阵:

又一款游戏来袭,这回能掀起怎样的回忆杀?

   时间:2024-08-23 09:25:48 来源:indienova作者:柳晴雪编辑:瑞雪 发表评论无障碍通道

准备期

在开始这个项目之前,我的想法是做一款小型解谜游戏。记得小时候曾经玩过一款滚动方块的 Flash 游戏,我在网上找了很久,终于找到了它——《Bloxorz》。我的计划是保留游戏的核心机制,即翻滚方块,但去掉《Bloxorz》中的机关块、橙色块和传送门等机制。因为我觉得《Bloxorz》后期的谜题更多是探索,而不是推理。我想做一款专注于翻滚的静态谜题游戏,类似于《见证者》,同时加入一些不破坏静态性的机制。理论上,你可以在谜题开始时就推理出答案。

第一周(7 月 8 日至 7 月 14 日)

这周的重点是快速试验游戏机制,并评估其开发难度和所需的开发时间。

我原本的想法是做一个真 3D 的方块翻转游戏,不仅支持任意形状的方块,地形也是 3D 的。虽然程序上实现 3D 翻转相对简单,但编写 Solver 有些困难,算法性能也有些吃力。基于之前《塔防实验室》项目的经验,我深知所有问题一旦进入 3D 空间,难度都会大幅上升。因此,我迅速放弃了这个想法,转而采用类似原版的长条块在平面上翻转的机制。这个机制的巧妙之处在于,虽然看似是 3D 的,但实际上完全可以当成 2D 问题来解决。

在机制设计上,我主要参考了自己的老项目《PuzzleMino》。当时,我总结了一些常见谜题的变体方式,如挡板、对称、多起点、多终点、颜色等(这些都是从《见证者》总结出来的,真是个谜题宝库)。考虑到时间关系,我的目标是实现 4 种机制(最终只完成了 3 种),预估完成 40 个谜题(最终只完成了 31 个)。

确定了把工作重点放在谜题设计上,所以删去了非必要的功能,包括不做开始菜单(New Game 页面)、不做选关页面,谜题采用线性开启。

代码方面,我实现了核心的翻滚机制,编写了 Solver 以及随机谜题生成器。 通过玩随机生成的谜题,总结解题技巧,分析解题心流,收集有趣的局部题面。 我完成了前 5 个谜题,并制作了第一版美术(简单的原型方块)。

下图展示了实现的翻滚操作。

下图展示的用 A * 算法求解这种非常规移动,不过其对应评估函数我没去深究,所以算出来的不一定是最短路径,但能求出是否有解。下图有时不显示路径,就代表无解。

下图是简单实现的随机谜题生成器,随机出有价值题目的概率大概是 10%。

第二周(7 月 15 日至 7 月 21 日)

这周的主要任务是支持挡板机制。

由于时间紧迫,我秉持着“怎么快怎么来”的原则写代码,因此,这周对代码进行了必要的快速重构,使后续扩展更容易,降低模块的耦合度。 我开始寻找合适的背景音乐,同时尝试了第二版美术设计(从老项目《PuzzleMino》中拷贝了圆角方块)。 高强度地玩随机挡板谜题,总结解题技巧,分析解题心流,收集有趣的局部题面。 完成了关于挡板机制的 6 个谜题。第三周(7 月 22 日至 7 月 28 日)

这周的重点是提高美术表现力。

从插件库里找来了动态格子水面效果。 开始优化方块滚动动画以及关卡切换动画。 从《塔防实验室》项目中拷贝了地形格子系统,这种带裂缝的柱子风格是我个人非常喜欢的。 从《mota24》项目中拷贝了 UI 菜单系统。 实现了最简单的存档系统(只保存玩家当前玩到的关卡编号)。 支持手柄操作(研究 New Input System 花了一些时间)。 快速重构代码。 完成了关于白色方块的 5 个谜题。 由于存在多个可操作的方块,实现了选中系统(我理想的选中系统要复杂很多,这里只实现了最简单的版本,所以导致谜题中不能有太多可操作方块,否则选中操作会变得很麻烦)。 游戏字体采用了得意黑(可惜得意黑不支持繁体,所以后续改了)。 高强度地玩随机多方块谜题,总结解题技巧,分析解题心流,收集有趣的局部题面(多方块谜题的 Solver 写不出来,太难了,所以随机题目不一定可解,这导致花了不少时间去解一些其实无解的题目)。

下图是最终被抛弃的水面效果。

第四周(7 月 29 日至 8 月 4 日)

尝试制作多终点、多方块谜题。 尝试了新的美术风格,去掉了水面,整个背景完全采用随机高度的柱子,氛围感很强。 关卡切换采用了程序化动画,通过背景柱子形成题面(效果非常好)。 进一步优化了方块的翻滚动作,加入了很多不易察觉的细节。 整理音效需求,从素材库中寻找合适的音效(可惜最终音效的匹配度还是偏低)。 谜题数量达到 21 个,并根据最新的美术对所有谜题进行了优化。

下图接近游戏最终的美术效果了(关卡切换时有颜色闪烁问题)。

第五周(8 月 5 日至 8 月 8 日)

增加了多语言支持(简体中文、繁体中文、英语)。 游戏字体改用了阿里巴巴普惠体。 修复了手柄操作 UI 引起的各种 Bug(由于工作中没做过手柄相关的功能,所以这方面花了不少时间)。 制作了简单的选择关卡系统以及清空存档系统。 完成了操作引导的相关内容(将引导嵌入到谜题中,同时将谜题名字也嵌入到谜题中)。 完成了总共 31 道谜题(未达到预期的 40 题)。 制作了游戏通关场景(想看的自己通关去~)。 重构了关卡切换效果,确定了最终的美术表现。 在最后一天制作了 itch.io 和 的页面,包括游戏 Icon、Banner 等素材。

下图是大宝剑谜题。

回顾

虽然机制和谜题数量没达到预期,选关系统过于“简单”,选中系统也有些敷衍,但游戏的完成感很强:必要的内容都有了,而且谜题质量让我个人非常满意。喜欢挑战硬核谜题的玩家赶紧来试试吧,免费的!

大概估算发现,这次项目 80% 的时间都花在了谜题设计上。好的谜题需要灵感、迭代和沉淀,是非常偏向创意型的工作,不是增加工时就能增加产出的。想提高谜题设计效率,还是只能不断设计谜题,积累经验。

关于一个月做一款游戏的方法,我个人觉得非常好用,强烈推荐。不仅能顺利发布游戏,还顺带解决了我的分享焦虑。

更好的开发日志分享方法

我以前也定期写过开发日志,但日志内容大多是流水账,不仅别人看了没收获,对自己也没太多回顾价值。如果想写出好的日志,分享一些开发过程中的技巧和心得,需要投入不少时间,这会打断开发节奏,自己也会过分关注开发外的事情。

在之前的项目中,我其实有很多技巧和心得想分享,但总感觉这些内容还会随着项目进展持续改变,就没有及时动笔。另一方面,写好文章真的太耗心力了,总想着以后有时间再分享,结果最后都不了了之。

在上一个项目《mota24》发布后,我发现自己非常高效地写出了 2 篇分享文章,原因可能有两点:

1. 项目发布后有种完结感,即项目不会再变了,自己也有空闲时间可以跳脱出项目,从外部观察总结。

2. 由于开发时间只有 1 个月,即使过程中没有做任何记录,对每周的工作印象也还是很深刻,用到的技术、总结的心得都记得很清楚。

趁着分享欲爆棚,基本文章都是一口气写完,非常舒畅。

这次《谜途方块》(Bloxpath)项目结束后,我也有类似的感受,而且更强烈了。除了这篇回顾外,我还计划写一篇关于谜题设计技巧的总结文章。

后续计划

本来预计月底开始下一个独立游戏开发项目(也是一个月),但最近有些新想法,所以一切都不确定。不过,接下来的两周肯定是休息时间。一个月的高强度开发还是挺耗精力的,需要恢复一下。

*本文为用户投稿,不代表 观点。

 
举报 0 收藏 0 打赏 0评论 0
 
 
更多>同类资讯
全站最新
热门内容
网站首页  |  关于我们  |  联系方式  |  版权声明  |  网站留言  |  RSS订阅  |  违规举报  |  开放转载  |  滚动资讯  |  English Version