《动物之谜》中的Scratch编码与严格限制

去年,芝加哥本地的独立开发商共享记忆(Shared Memory),由比利·巴索(Billy Basso)领导,发布了其第一款游戏《动物之井》(Animal Well)。

这款游戏采用无战斗的探索平台玩法(也被称为Metroidvania类型),凭借其高度风格化的设计理念赢得了广泛的好评。项目完成后,文件大小仅为33MB。与同规模的其他独立游戏相比,能在硬盘上占用不到一兆字节的空间,堪称技术上的一大壮举。

展现极致的开发理念

恰逢此时,比利·巴索在本周的开发者大会(GDC)上发表题为“每年5MB开发:动物之井的制作过程”的演讲。演讲内容主要围绕他所采用的基础编程技术以及坚持七年开发的流程纪律,分享了他在制作如此精巧且内容丰富的游戏中的一些秘密。

使用的开发工具与技术

巴索首先介绍了他在不同开发环节中所用的工具:“我用 Visual Studio 进行编码。这其实涵盖了许多开发内容,因为如果不用Unity或Unreal引擎,基本没有关卡编辑器,所以游戏中的大量数据都是硬编码在C++文件中的。我还自行开发了一个内嵌式的关卡编辑器,可以随时开启或关闭。”

在精灵和像素艺术方面,他使用了 Aseprite 进行像素绘图,提到自己在GitHub上对软件进行了修改,开发了适合自己需求的动画格式。而音频制作方面,巴索则选择了 Reaper,这是许多小型开发团队的常用工具之一。

管理单人项目的独特方式

但在这方面,巴索的做法与许多同行不同。他谈到:“在设计和任务追踪方面,我只是用记事本在桌面上打开文本文件。”听众一开始还有些笑意,他接着补充:“我甚至不会给它们命名或保存,只是在里面打字。当所有任务完成后,我会关闭,Windows会提醒我——‘你可能想要保存’。”这个简单的习惯让现场听众发出了更多惊讶的笑声。

关卡编辑器的玩法

回到他自己开发的关卡编辑器,巴索演示了多种操作方式。用类似于《超级马里奥制造》关卡编辑器的工具,他展示了游戏中所有的精灵和瓷砖,从而说明:“我可以随意选择一个元素,像绘画一样摆放。设计关卡其实就是用这些精灵绘制场景,像用Photoshop的基本工具一样。”他提到一些类似于Photoshop色板和油漆桶的工具,还深入到Photoshop的安装文件中,特别推崇油漆桶工具的便利,因为他非常喜欢它。

游戏关卡设计的巧思:256个房间

他用这些工具将《动物之井》的世界缩放到一个16乘16的格子中,总共设计了256个房间。巴索表示:“我不能再设计更多房间了,因为每个房间都有一个一字节的编号,所以最多只有256个可能的取值。”这是他刻意为之,避免游戏范围无限扩展。相反,他集中精力充分利用每个房间,强调:“我只专注于让每个房间都尽可能丰富。这也是一种有趣的设计限制。”

游戏的成功与设计亮点

凭借其丰富且高效利用的世界地图设计,《动物之井》受到了极其热烈的评价。将整个地图放入一个字节系统中,体现了游戏在复杂性和细节上的精益求精,被玩家誉为瑞士手表般的精密,展示了开发者对细节的极致追求。

相关阅读

有关:GDC 2025 重要新闻、特色内容


<!–

游戏开发演讲现场

–>

常见问题(FAQs)

Q: 《动物之井》的文件大小为何如此之小?

A: 这是因为开发者采用了极简的关卡设计和高效的数据编码方法,仅用一个字节代表一个房间,极大地压缩了游戏的存储容量,展现了极致的技术优化能力。

Q: 开发者用哪些工具制作游戏?

A: 主要使用了 Visual Studio 进行编程,Aseprite 制作图像,Reaper 进行音频处理,还自主开发了关卡编辑器,以便高效管理关卡设计和开发流程。

THE END
喜欢就支持一下吧
点赞1351 分享