《动物井》为什么只用33Mb?开发者在GDC上说,还可以更小
创始人
2025-03-21 01:32:47
0

独立开发的独特魅力。

作为去年独立游戏届的“双璧”,《动物井》和《小丑牌》两款游戏有一个共同之处,那就是都是由一人开发者独立完成的优秀作品,两位开发者之间也多次“商业互吹”。

前几天《小丑牌》的开发者Localthunk,回顾了游戏开发的过程,而在近日的GDC游戏开发者大会上,《动物井》开发者Billy Basso也做了一场有关游戏开发背后的分享。

在《动物井》开发过程中,Billy Basso曾在Blog上记录过一些游戏开发的过程,上线之后也接受过一些采访,所以这次的GDC分享并没有太多关于开发理念的内容,而是更专注于技术层面的探讨,他的主题是:《 Developing at 5MB/Year——The Making Of ANIMAL WELL》。

相信每个玩家都对这款现代游戏(PC版本)只有33M感到惊讶,Billy Basso的这个分享就对此进行了揭秘。

《动物井》于2017年开始开发,最初的计划只是一个时长1小时、耗时6个月完成的小型游戏,不过最后耗费了Billy Basso 7年的时间,内容丰富度自然也大大提升。在游戏开发的前4年里,Billy Basso还有一份开发医疗模拟软件的全职工作,直到2022年1月,Basso辞去了这份工作专注于开发《动物井》。

结语

在演讲的开始,Billy Basso坦言过去曾参与过多个大型游戏团队的项目,但始终未能拥有“属于自己的游戏”并最终完成,因此开发《动物井》的首要目标是选择一个他“100%确定能够发布”的项目。为了顺利完成这个目标,他在开发过程中做了很多的自我限制,只使用自己熟悉的技术,比如为了确保项目能够完成,他决定不采用新技术或复杂的3D建模,而是专注于自己熟悉的2D像素艺术,在引擎和开发工具上也是如此。

《动物井》的一个独特之处就是没有使用Unity或虚幻等常见的商业引擎进行开发,而是Basso基于C++自行开发的游戏引擎,这需要自行处理大量底层工作,包括内存管理和资源加载等,但是也让他能够完全掌控游戏的各个方面,避免了与第三方合作的麻烦,同时也满足了他构建和理解底层系统的乐趣。

Billy Basso介绍了自己使用的开发工具,没有任何复杂的技术工具:

  • 使用 Visual Studio 2019用于代码开发:

  • 构建了 自定义关卡编辑器,支持类似《超级马里奥制造》的瓦片绘制模式和世界地图的拖拽式构建。

  • 使用 Sprite进行像素艺术创作,并对其进行了修改,以支持自定义的动画格式和导出。

  • 使用 Reaper进行音频处理。

  • 使用 Notepad做文本设计与任务追踪。

自定义关卡编辑器有三种主要模式:

屏幕编辑模式:类似于《超级马里奥制造》的风格,可以在调色板中选择游戏中的精灵并进行绘制,创建游戏中的一个个屏幕。每个图块可以代表一种实体类型,从而在屏幕中生成可移动和更新的游戏对象。

世界构建模式:允许开发者将创建好的一个个“屏幕”拖拽组合成游戏的世界地图。最初,世界被限制为16x16的网格,因为每个房间都有一个单字节的ID,最多只能有256个不同的房间。这个限制其实也是Basso有意为之,他希望通过约束来推动更具创意的设计,最终尽可能地使每个房间都内容丰富。

精灵图集编辑模式:最初Basso是直接在C++文件中硬编码精灵在图集中的UV坐标,后来他创建了一个自定义的精灵编辑器,可以直接在精灵周围绘制选框,并设置如碰撞、是否为泥土等标记。尽管如此,他最终还是实现了一个自定义的精灵打包工具(Sprite Packer),这是行业标准的解决方案,可以将文件夹中的所有精灵自动打包成图集,但他最初的硬编码方式仍然保留了一部分。

在动画方面,Basso表示他使用软件 Aseprite进行像素动画的制作,并且修改了Aseprite程序本身以便导出他自定义的二进制动画格式。他不希望在游戏中使用任何文本字符串,以防止数据挖掘,并且认为解析JSON会涉及动态内存分配,这也是他想要避免的。他的动画格式是以帧和图层的数组形式存储,可以在运行时快速循环播放并根据画布偏移量进行绘制。此外,他还编写了大量的过程化动画函数库,用于创建各种形状和效果,应用于游戏中的许多生物。

对于游戏中让玩家印象深刻的视觉效果和光照,Basso表示没有采用单一的着色器,而是使用了约 50个小的独立技术,在演讲中介绍了他以其中几个技术举例进行了介绍。

动态阴影:通过在屏幕空间中使用光点数组,并对周围的图块进行相交测试,然后将生成的阴影遮罩渲染到大的精灵调色板上,再进行模糊和抖动处理,最终与场景进行叠加。他还实现了不同图层之间投射阴影的效果,通过将不同的游戏图层渲染到单个渲染目标的不同颜色通道中,然后在渲染背景时采样前景或中景来判断是否需要投射阴影。

边缘光照:通过对前景图层进行简单着色并模糊处理,然后根据设定的阈值来决定哪些部分需要着色,从而增强了平台和墙壁的对比度。同时虽然是2D游戏,但Basso后期为背景添加了手工绘制的 法线贴图,以提供更具方向性的光照效果。

水体效果:每个屏幕都有一个定义水位线的单字节变量。渲染时,先正常渲染屏幕,然后进行第二次渲染,将相同的内容颠倒并扭曲(使用正弦波数学),并在底部逐渐淡化。

流体系统:《动物井》实现了一个复杂的2D Navier-Stokes流体模拟,用于烟雾、水花等效果。Basso表示这个技术所采用的算法原理和实现方法并不是什么前沿技术,而是可以追溯到 2004年出版的技术书籍《GPU Gems》上,需要多个渲染目标和着色器,通过速度和压力的相互作用来模拟流体运动。

而在 资产管线方面,《动物井》的所有游戏资产在离线状态下都被转换为C++头文件中的字节数组,并直接包含在代码中,这意味着游戏运行时不需要进行文件I/O,所有的内容都直接加载到内存中,从而实现了极快的加载速度。这种方式也方便了资产加密,Basso使用AES加密离线加密资产,而解密密钥则与玩家在游戏中解决的谜题相关联。

Basso最后概括总结了游戏为什么只有33MB这么小的原因,并且表示还可以更小:“ 如果我知道人们会如此印象深刻,我可能会更加努力地缩小它”。

  • 自研引擎,所以没有第三方库冗余。

  • 低分辨率像素艺术,纹理尺寸极小。

  • 音频压缩和稀疏的音乐使用。

  • 大量动态生成内容,提高资源利用率。

  • 无文本内容,尽可能使用二进制格式。

通过这个分享我们可以看出,33M的游戏文件大小也并非是Basso刻意的追求,而是其技术选择和资源管理策略的自然结果。通过限制范围、专注于已知技术、自制工具和拥抱实验性的方法,Bily Basso成功地完成了这样一个独特且充满创意的游戏,而从最初对熟悉技术的坚持,到后期对复杂效果的探索和对游戏体积的极致优化,也都体现了独立开发的独特魅力。

相关内容

热门资讯

宁波朗迪取得网布烫边切割装置专... 金融界2025年8月6日消息,国家知识产权局信息显示,宁波朗迪环境科技有限公司取得一项名为“网布烫边...
富兴塑膜取得PVC塑膜压纹成型... 金融界2025年8月6日消息,国家知识产权局信息显示,苍南县富兴塑膜有限公司取得一项名为“一种PVC...
美国拟2030年前在月球建成核... △艺术家描绘的月球上的电力系统。(图片来源:NASA) 当地时间8月5日,据多家美国媒体报道,美国交...
TTG3-1KSG,清清正反手... TTG3-1战胜KSG,终于结束了对KSG的连败。从EWC回来之后他们似乎变强了,清清证明了为什么萝...
中国电信视联网赋能基层治理 提... 近日,丰都县仁沙镇依托中国电信视联网技术,进一步提升基层治理智能化水平,推动乡村基层治理体系不断完善...
《上古OL》开发商被砍掉的《黑... 微软最近的大裁员砍掉了《上古卷轴OL》开发商备受期待的新IP(代号为黑鸟计划)以及Rare工作室的《...
山东科嘉电气:高效智能充电方案... 山东科嘉电气近日推出了两款创新充电设备,专为不同领域提供专业、高效、安全的充电解决方案。这些设备分别...
科技前沿丨普通家庭何时能用上保... 7月31日召开的国务院常务会议审议通过《关于深入实施“人工智能+”行动的意见》。会议指出,当前人工智...
泰科汽车取得油箱加油单向阀专利... 金融界2025年8月6日消息,国家知识产权局信息显示,芜湖泰科汽车科技有限公司取得一项名为“一种油箱...
当年吹爆Edge浏览器的我,现... 每位资深玩家,在对枪失败、团战暴毙后,都有一套神圣的仪式: “诶今天鼠标有点飘”、“这键盘键程不对”...
走出光伏同质化困境,BC生态圈... 来源:澎湃新闻 隆基绿能创始人、首席技术官李振国 同质化的红海厮杀,令光伏产业深陷恶性竞争泥潭。乘...
AL被打晕了?IG辅助抢大龙翻... ★游戏马蹄铁原创 AL对战IG第二局 IG无愧是现在LPL的人气王,流量王,他们的比赛不仅是明星选...
LOL:BLG被曝不是全华班,... Shadow护照是意大利的 在LPL赛区中,全华班自带流量和话题,像RNG、BLG这种主打全华班的...
紧盯AI人才,“鹅厂”招新,软... 8月6日,腾讯2026校园招聘正式启动。本次招聘面向2025年1月至2026年12月期间毕业的大学生...
DOTA2 7.39d 更新深... 当看到 7.39d 的更新日志时,我的第一反应是:这不是简单的数值微调,而是V社对当前版本生态的一次...
《仁王3》制作人访谈:保留硬核... 今年6月,《仁王3》发布了首支预告片,并宣布游戏将于明年年初正式发售,登陆PlayStation 5...
青春好市 | 以手抵心,对话千... 当棕榈叶在指尖翻飞成灵兽,当大漆在掌心打磨出光华,当破碎的古瓷片在你手中重获新生...这不是遥远的传...
IDC:Q2中国消费级游戏本市... IT之家 8 月 6 日消息,市场研究机构 IDC 今天发文,披露了中国消费级游戏 PC 市场的数据...
小米手机欧洲市场份额首超苹果,... 【太平洋科技快讯】8 月 6 日,小米集团合伙人、小米集团总裁、部总裁兼小米品牌总经理卢伟冰在社交媒...
王者荣耀:夏侯惇喜迎加强,亚连... 王者荣耀本赛季已经进入中期,还没有拿到王者印记的小伙伴确实该抓紧时间了,毕竟到了赛季后半段上分难度会...