网易首页 > 网易号 > 正文 申请入驻

《动物井》为什么只用33Mb?开发者在GDC上说,还可以更小

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成功地完成了这样一个独特且充满创意的游戏,而从最初对熟悉技术的坚持,到后期对复杂效果的探索和对游戏体积的极致优化,也都体现了独立开发的独特魅力。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
世界最冷的十座城市,中国有6座上榜,最冷竟然是它!

世界最冷的十座城市,中国有6座上榜,最冷竟然是它!

中国艺术家
2026-01-15 05:23:28
哈登已得28614分,需要多久才能超越3万分?说出来你可能不信

哈登已得28614分,需要多久才能超越3万分?说出来你可能不信

林子说事
2026-01-15 15:09:10
点谁呢?乌姆蒂蒂:教练必须永远是老大,但有球队不是这样

点谁呢?乌姆蒂蒂:教练必须永远是老大,但有球队不是这样

懂球帝
2026-01-15 17:55:07
等孩子考完才敢说的实话:初中这张牌桌,拼的从来不是孩子的智商

等孩子考完才敢说的实话:初中这张牌桌,拼的从来不是孩子的智商

青苹果sht
2026-01-15 06:17:00
樊振东欧洲杀疯了,赞助暴涨12倍,豪门破百年禁忌

樊振东欧洲杀疯了,赞助暴涨12倍,豪门破百年禁忌

让心灵得以栖息
2026-01-15 11:07:58
重磅!恭喜开拓者,升级顶级中锋!

重磅!恭喜开拓者,升级顶级中锋!

体育新角度
2026-01-15 19:19:55
因公牺牲的贺娇龙坠马频率及危害远超奥运 她为了宣传效果太拼了!

因公牺牲的贺娇龙坠马频率及危害远超奥运 她为了宣传效果太拼了!

劲爆体坛
2026-01-15 01:43:04
2026央视春晚首次彩排明星全名单出炉,网友:咋还有“春晚混子”

2026央视春晚首次彩排明星全名单出炉,网友:咋还有“春晚混子”

阿雹娱乐
2026-01-15 11:28:55
410次开房记录流出:央企“女老虎”陶荔芳,背后还有多少同伙

410次开房记录流出:央企“女老虎”陶荔芳,背后还有多少同伙

深度报
2025-12-14 22:36:54
47岁贺娇龙去世,同学发声:遗体已运回老家,安葬在父亲墓地旁

47岁贺娇龙去世,同学发声:遗体已运回老家,安葬在父亲墓地旁

180视角
2026-01-15 02:15:55
果然男二号不能找太帅的!网友:导演还是没听劝啊!

果然男二号不能找太帅的!网友:导演还是没听劝啊!

老吴教育课堂
2026-01-15 10:01:40
乌克兰继续在改变世界格局

乌克兰继续在改变世界格局

难得君
2026-01-13 19:15:30
特朗普称“阻挠达成俄乌和平协议的人是泽连斯基”,克宫回应

特朗普称“阻挠达成俄乌和平协议的人是泽连斯基”,克宫回应

环球网资讯
2026-01-15 19:39:13
俄罗斯物流大动脉中断,面包药品全面告急,民众恐慌囤货

俄罗斯物流大动脉中断,面包药品全面告急,民众恐慌囤货

石辰搞笑日常
2026-01-15 11:46:41
CBA最新消息!顶级大外援加盟北京首钢,上海男篮主力外援受伤

CBA最新消息!顶级大外援加盟北京首钢,上海男篮主力外援受伤

体坛瞎白话
2026-01-15 16:48:14
人去楼空,杉杉集团上海总部大楼流拍后降价4.5亿

人去楼空,杉杉集团上海总部大楼流拍后降价4.5亿

财视传播
2026-01-14 10:40:22
杨瀚森砍22+7发展联盟遭质疑水平低 韩国球迷:幸好他没打世预赛

杨瀚森砍22+7发展联盟遭质疑水平低 韩国球迷:幸好他没打世预赛

大嘴爵爷侃球
2026-01-15 17:07:00
三星痛失宝座,2025年全球智能手机出货量冠军易主

三星痛失宝座,2025年全球智能手机出货量冠军易主

商业周刊中文版
2026-01-13 17:26:09
太憋屈了!离异女子瞒着家人1800公里奔现,花1000买了个惨痛教训

太憋屈了!离异女子瞒着家人1800公里奔现,花1000买了个惨痛教训

火山诗话
2026-01-14 11:02:42
网格员深夜入户检查和凌晨点外卖被风控事件,它们都说这是为你好

网格员深夜入户检查和凌晨点外卖被风控事件,它们都说这是为你好

清书先生
2026-01-15 16:39:44
2026-01-15 20:47:00
游研社 incentive-icons
游研社
为你带来有趣而专业的游戏内容
7057文章数 85865关注度
往期回顾 全部

游戏要闻

育碧你来真的?《时之砂RE》网页泄露“明天见”!

头条要闻

中央纪委全会公报发布 首现着重查处"关键少数"等表述

头条要闻

中央纪委全会公报发布 首现着重查处"关键少数"等表述

体育要闻

聂卫平:黑白棋盘上的凡人棋圣

娱乐要闻

传奇棋圣聂卫平离世,网友集体悼念

财经要闻

央行再次结构性降息0.25个百分点

科技要闻

阿里最狠的一次“自我革命”

汽车要闻

吉利帝豪/缤越推冠军一口价 起售价4.88万

态度原创

健康
数码
旅游
亲子
房产

血常规3项异常,是身体警报!

数码要闻

还得多等:两家英特尔显卡合作伙伴称尚未收到锐炫B770测试板

旅游要闻

入境要“晒存款”?行程还要报备?巴厘岛“高标准”新规引热议

亲子要闻

既在意料之中,又在意料之外

房产要闻

突发!商业用房购房贷款最低首付比例下调至30%

无障碍浏览 进入关怀版