• 登录
    • 注册
  • 登录
  • 注册
  • 首页
  • Unity
  • Unreal
  • Shader之路
  • 大型 ARPG
  • 源码小站!
  • 博客
    • 登录
    • 注册
全部课程
  • 首页
  • Unity
  • Unreal
  • Shader之路
  • 大型 ARPG
  • 源码小站!
  • 博客
  1. 资讯频道
  2. 技术分享
  3. 正文
06
06月

探析《Animal Well》背后的Scratch编码与严格约束

75 0
 

探析《Animal Well》背后的Scratch编码与严格约束

引言:小即是美——《Animal Well》的惊艳亮相与核心探究命题

2024年,一款名为《Animal Well》的独立游戏以其独特的魅力席卷了游戏界。这款由芝加哥独立开发者比利·巴ссо(Billy Basso)以“Shared Memory”之名,历时七年独自打造的作品,呈现了一个无战斗、重探索与解谜的“类银河战士恶魔城”(Metroidvania)世界。然而,最令人惊叹的或许并非其精巧的关卡设计或迷人的像素艺术风格,而是其最终仅约33MB的微小文件体积。在动辄数十GB的游戏成为常态的今天,《Animal Well》的出现无疑是一股清流,也引发了业界的广泛关注与赞誉。正如Basso在游戏开发者大会(GDC)上以“每年开发5MB:Animal Well的制作”(Developing at 5MB per Year: The Making of Animal Well)为题的演讲所揭示的,这背后蕴藏着一套独特的开发哲学和方法论 (Game Developer, 2024 GDC Talk)。

本文旨在深入探讨《Animal Well》成功的两大基石:其一,开发者选择“从零开始编码”(Scratch Coding)的匠人精神,即完全自主构建游戏引擎及相关工具链;其二,在整个开发过程中开发者主动施加的“严格约束”。在商业游戏引擎如Unity、Unreal Engine等唾手可得,且功能日益强大的时代,为何Basso会选择一条看似更为艰难的道路?这种极致的自我设限,究竟带来了哪些挑战,又催生了怎样的创新与机遇?本文将结合现有资料,对这些问题进行系统性分析,以期揭示《Animal Well》独特魅力背后的深层逻辑,并探讨其对于当代游戏开发,尤其是独立游戏创作的借鉴意义。

引言关键要点

  • 《Animal Well》核心特征: Metroidvania类型,无传统战斗,强调探索与解谜,由Billy Basso单人历时七年开发完成。
  • 核心成就与关注点: 最终成品仅约33MB,引发业界对其技术实现和开发理念的广泛讨论。Basso曾在GDC分享其“每年5MB”的开发理念。
  • 本文探讨核心: 深入剖析“从零编码”(Scratch Coding)的方法论以及开发者在创作过程中施加的“严格约束”如何共同铸就了这款备受赞誉的作品。
  • 探讨意义: 思考在当前游戏开发环境下,这种看似“复古”的开发方式所蕴含的独特价值和对独立开发者的启示。

核心剖析一:从零构建的“匠人精神”——Scratch编码的实践路径

在当今游戏开发领域,成熟的商业引擎为开发者提供了极大的便利,使得快速原型制作和商业化产品的推出成为可能。然而,《Animal Well》的开发者Billy Basso却毅然选择了“从零开始编码”的道路,这份坚持源于他对项目完全掌控的渴望以及对特定艺术表达的极致追求。

animal_well_cats

动机与理念先行:摆脱“臃肿”与“延迟”,追求“永恒品质”

Basso曾坦言,他在先前从事手机游戏和在线服务游戏开发时,对现有商业引擎的“臃肿”和“延迟”感到不满 (Game Developer, Engine Success)。他认为,这些引擎为了通用性而集成了大量功能,导致了不必要的性能开销,并且在实现特定、精细的视觉效果(如像素艺术的完美缩放和定制化的光照)时,往往需要开发者“对抗”引擎的内置逻辑。Basso希望打造一款具有“永恒品质”的游戏,如同那些经典的卡带游戏一样,即便在30年后依然能拥有活跃的玩家社群 (Game Developer, Engine Success)。这种愿景驱使他必须对游戏的每一个字节都拥有绝对的控制权,而不受外部引擎或库的依赖和限制。

技术栈与工具链的自主选择

为了实现这一目标,Basso构建了一套完全自主的工具链,充分体现了其“Scratch Coding”的特性:

  • 编程语言与环境: 核心代码采用 C++ 编写,使用 Visual Studio 作为开发环境。由于没有使用集成式的商业引擎,游戏中大量的数据,包括关卡布局等,都是通过C++硬编码实现的 (Game Developer, 2024 GDC Talk)。
  • 美术与动画: 游戏的像素艺术使用 Aseprite 创作。值得一提的是,为了实现一种独特的动画格式,Basso甚至修改了Aseprite本身的源代码(该软件在GitHub上开源) (Game Developer, 2024 GDC Talk)。这再次凸显了他对工具的深度掌控和定制化需求。
  • 音效制作: 音频部分则选用了 Reaper,这是一款在小型开发者中较为常见的数字音频工作站。
  • 自研关卡编辑器: Basso开发了一个内建于游戏中的自定义关卡编辑器,可以随时在编辑模式和游戏模式之间切换。这个编辑器被描述为类似于《超级马力欧创作家》的工具,提供了调色板、吸管、油漆桶等类似Photoshop的功能,使得关卡设计能够直观高效地进行 (Game Developer, 2024 GDC Talk)。

自研引擎的关键技术决策与创新亮点

Basso的自研引擎并非简单地重复造轮子,而是在关键技术点上进行了创新,以服务于游戏独特的美学和体验:

  • 像素完美缩放与定制光照: 为了避免商业引擎中常见的、与像素艺术风格相冲突的平滑光照效果,Basso实现了高度定制化的渲染管线。其中一个关键的视觉元素是 “边缘光照着色器”(rim light shader)。这个着色器使得物体边缘高亮,而主体处于阴影中,角色在草丛中时能与前景图块自然融合,奠定了游戏幽暗、神秘且富有层次感的视觉基调 (Game Developer, Engine Success)。
  • 动态流体模拟: 为了增强游戏的氛围感,Basso还实现了一个 全屏的Navier-Stokes流体模拟系统,用于处理游戏中的烟雾和水体效果。这种高保真度的物理模拟与相对原始的像素艺术相结合,产生了一种奇妙的化学反应,进一步强化了游戏的朦胧和梦幻感 (Game Developer, Engine Success;Bilibili 译文 GDM)。
  • 引擎优先的开发哲学: Basso推崇一种“引擎优先”的开发心态。他认为,先构建一个有趣的技术系统,然后去探索这个系统能够带来哪些创新的玩法和可能性,这种方式能够开辟许多独特的创意途径。技术创新反过来又会影响和塑造游戏的设计方向和艺术风格,形成良性循环 (Game Developer, Engine Success)。

nimal Well

Scratch编码的挑战与收获

从零构建引擎并非一帆风顺。Basso透露,他最初尝试开发一个通用的3D游戏引擎,但三年后发现项目过于关注“预先解决问题”,而缺乏明确的游戏方向,最终将其视为一次“学习经历”而放弃 (Game Developer, Engine Success)。转向2D Metroidvania项目后,目标变得更加清晰。尽管开发周期漫长,但Basso强调,能够完全掌控项目、享受构建系统和使用自制工具的过程,避免了因依赖第三方引擎遇到无法修复的bug或限制所带来的挫败感和倦怠 (Prankster101 Interview)。这种全身心的投入和创造乐趣,是支撑他完成这个马拉松式项目的关键。同时,通过自研引擎积累的技术和经验,也为他未来的项目奠定了坚实的基础。

核心剖析一:关键要点

  • 自研动机: 对商业引擎的“臃肿”、“延迟”不满,追求对项目的绝对控制、实现特定像素艺术效果和打造“永恒品质”的游戏。
  • 核心技术栈: C++与Visual Studio进行编程和数据硬编码,Aseprite(修改源码)进行像素艺术创作,Reaper处理音频,并开发了内建于游戏的自定义关卡编辑器。
  • 引擎亮点: 实现像素完美缩放,独特的“边缘光照着色器”奠定视觉风格,全屏Navier-Stokes流体模拟增强氛围感。
  • 开发哲学: “引擎优先”,技术探索驱动创意实现,让技术反哺设计。
  • 挑战与收获: 早期3D引擎尝试的经验教训,转向2D后因完全掌控而获得的迭代灵活性和创新空间,享受创造过程本身,以及宝贵的技术积累。

核心剖析二:“于方寸间造乾坤”——严格约束的艺术

与从零编码的自由探索精神并行不悖的,是Billy Basso在《Animal Well》开发过程中刻意施加的“严格约束”。这些约束不仅关乎技术实现,更是一种核心的设计方法和项目管理策略。Basso的实践证明了“限制是创意的催化剂” (Game Developer, Procedural Animation) 这一理念,通过在有限的框架内深耕细作,最终孕育出意想不到的深度与精巧。

具体的约束实践案例分析

Basso在多个层面为《Animal Well》设定了明确的边界:

  • 极小的目标文件体积: GDC演讲中“每年5MB”的目标虽然带有一定的修辞色彩,但其核心思想是追求极致的资源优化和高效的代码。最终成品约33MB,这在现代游戏中堪称微型。这一约束直接迫使开发者在代码、美术素材、音效等各个方面都必须精打细算,高度优化和复用。据官方系统需求显示,游戏运行时也仅需40MB的硬盘空间 (Technical City System Requirements),进一步印证了其轻量化特性。
  • 严格的房间数量上限: 《Animal Well》的游戏世界被精确地设计在一个16x16的网格中,总共包含256个独立的房间。更关键的是,每个房间的ID仅用一个字节(one-byte ID)来存储,这意味着ID的取值范围是0到255,从根本上限定了房间数量的上限 (Game Developer, 2024 GDC Talk)。Basso明确表示,这是他有意为之,目的是为了避免“范围蔓延”(scope creep)——这是许多独立项目(乃至大型项目)难以收尾的重要原因。
  • 专注房间密度与深度: 在房间数量受限的前提下,Basso并未感到束缚,反而将精力聚焦于提升每个房间的内容密度和可探索深度。“我只是专注于让每个房间尽可能地密集,”他说道,“这是一种有趣的约束。” (Game Developer, 2024 GDC Talk)。这种策略使得有限的空间内充满了谜题、秘密和值得反复推敲的细节。

Animal Well key

约束如何成就独特设计与高效开发

这些看似严苛的约束,实际上对《Animal Well》的最终形态和开发过程产生了积极而深远的影响:

  • 有效避免范围蔓延: 清晰的边界(如256个房间)使得Basso能够将有限的精力高度集中在打磨核心内容上,而不是在无尽的功能扩展和内容填充中迷失方向。这对于一个单人开发者而言至关重要。
  • 激发创造力与深度: 正是因为空间的有限和资源的限制,开发者被迫思考如何在这些条条框框内玩出花样。例如,如何用有限的像素块、敌人类型和互动机制组合出丰富多样的谜题层次和环境叙事。这种“螺蛳壳里做道场”的努力,往往能催生出更加精巧和新颖的设计。
  • 塑造核心游戏体验: 《Animal Well》因其“瑞士钟表般的复杂性”和对细节的极致关注而备受赞誉 (Game Developer, 2024 GDC Talk)。这种特质,在很大程度上正是源于在严格约束下对每一寸空间、每一个元素的精雕细琢和反复推敲。每一个房间都可能隐藏着多个层次的秘密,等待玩家发掘。
  • 保证项目可控性与完成度: 对于长达七年的独立开发项目,维持项目的可控性是能否最终完成的关键。严格的约束如同灯塔,指引着开发方向,确保项目不会无限膨胀,从而使得开发者能够一步一个脚印地向着既定目标迈进,并最终交付一个完整、打磨精良的作品。

核心剖析二:关键要点

  • 核心理念: “限制是创意的催化剂”,主动施加约束以激发创造力和保证项目聚焦。
  • 具体约束实践:
  • 以“每年5MB”的理念控制最终约33MB的文件体积,要求极致优化。
  • 游戏世界严格限制在16x16网格,共256个房间,每个房间ID仅用1字节存储,从根本上杜绝范围蔓延。
  • 在有限空间内,专注于提升每个房间的内容“密度”和探索深度,而非盲目追求数量。
  • 约束的积极影响: 有效避免范围蔓延,集中精力打磨核心;激发在限制条件下寻找创新解决方案的创造力;塑造了游戏“瑞士钟表般”精巧复杂的体验;对单人长期开发而言,保证了项目的可控性和最终完成度。

核心剖析三:七年如一日的坚守——独立开发的纪律与独特工作流

将《Animal Well》这样一款精雕细琢的游戏从概念变为现实,尤其是在单人开发的情况下,历时七年之久,需要的不仅仅是技术实力和设计巧思,更需要惊人的毅力、严格的自律以及一套行之有效(即便可能反传统)的工作流程。Billy Basso的开发历程充分展现了这些特质。

独立开发的孤独与挑战

独立开发,特别是长期项目,往往意味着长时间的孤独工作、巨大的不确定性以及对个人意志和时间管理能力的极致考验。没有团队的外部督促和支持系统,开发者必须完全依靠内在驱动力来克服困难、保持进度。Basso在这七年间,在完成日常工作之余,将夜晚和周末投入到《Animal Well》的开发中 (Game Developer, Engine Success),这种坚持本身就令人敬佩。

极简甚至“反常”的任务管理

在GDC的演讲中,Basso分享其任务管理方式时,引起了现场听众的阵阵笑声和惊讶。他透露,在进行设计和任务追踪时,他仅仅是在桌面上打开 Notepad(记事本)的文本文件来记录待办事项。更令人称奇的是,他通常不会为这些文件命名,甚至不会主动保存它们。当所有任务完成后,他会直接关闭记事本,并在Windows弹出“是否保存更改”的警告时选择“否” (Game Developer, 2024 GDC Talk)。

​ “我甚至不会给它们命名或保存它们。我只是把事情写进去,然后当所有任务都完成后,我会关闭,然后Windows会警告我‘你可能想保存’。” —— Billy Basso 在GDC的分享

这种看似“反常”的工作方式,一方面可能反映了他对项目的高度专注和对任务的清晰记忆,另一方面也暗示了一种极简主义和结果导向的工作哲学。它或许不适用于所有人,但在Basso的案例中,这种独特的流程显然奏效了,支撑他有条不紊地推进这个庞大的工程。

内在驱动与“热爱”的重要性

Basso多次强调,他非常享受构建系统、编写代码和使用自己创造的工具的过程。在他看来,这种发自内心的热爱是维持长期开发动力的关键。他认为,如果使用商业引擎并遭遇到无法访问源代码修复的bug,很容易会感到沮丧和倦怠,甚至可能因此放弃项目。而从零开始构建,尽管耗时更长,但整个过程充满乐趣和掌控感,这是一种更可持续的工作方式 (Prankster101 Interview)。他将《Animal Well》描述为一个“纯粹的副业项目”,在这个项目中,他可以按照自己认为最理想的方式去实现每一个细节,追求代码的健壮性和独立性 (Game Developer, Engine Success)。

迭代与愿景的坚持

在长达七年的开发周期中,保持对最初愿景的坚持,并根据实际进展和新的发现进行迭代调整,是一项巨大的挑战。Basso提到,最初他的游戏美术风格“看起来像NES游戏,艺术上不够引人注目”。但在他实现了关键的边缘光照着色器后,游戏的视觉风格立刻变得独特起来,这反过来又“启发了游戏环境和动物的风格方向”。随后,他又加入了流体模拟等技术,不断丰富游戏的表现力。这个过程是设计、艺术和引擎开发之间不断互动、相互促进的过程,“游戏的丰富性层层叠加,我逐渐在这个过程中找到了游戏的基调和身份。” (Game Developer, Engine Success)。这表明,即便有清晰的约束,也需要在宏观愿景的指引下,保持灵活性和对新可能性的开放态度。

核心剖析三:关键要点

  • 独立开发的毅力: 长达七年的独立开发是对个人意志、时间管理和自律能力的极致考验,Basso主要利用业余时间完成。
  • 独特的任务管理: 使用未命名、未保存的Notepad(记事本)文件进行任务追踪,反映了其高度专注、内在驱动和极简的工作方式。
  • 内在驱动力: 对构建系统、从零编码和使用自制工具的热爱,是其能够长期坚持并享受开发过程的关键因素。他认为这种方式比受制于商业引擎的限制更可持续。
  • 迭代与愿景: 在坚持核心愿景的同时,通过技术创新(如边缘光照、流体模拟)不断迭代和丰富游戏内容,逐步塑造出游戏的独特基调和身份,实现了技术与艺术的有机结合。

结语:《Animal Well》的启示——在限制中寻求无限的创作自由

《Animal Well》的成功并非偶然,它是开发者Billy Basso七年磨一剑,将“从零编码”的极致掌控与“严格约束”的聚焦策略巧妙结合的产物。这两者看似矛盾,实则相辅相成:Scratch编码赋予了Basso在技术实现和艺术表达上近乎无限的自由度,使他能够精确打磨每一个细节,实现自己独特的美学愿景;而严格的约束,则为这种自由框定了清晰的航道和务实的目标,使其不至于在无垠的创意海洋中迷失方向,反而激发了在有限空间内创造无限可能的智慧。

这款仅有33MB大小、由一人主导开发的游戏,不仅赢得了玩家和媒体的广泛赞誉,更在商业上取得了显著的成功(例如,据销售估算机构Gamalytic的数据,仅Steam平台销量就超过30万份 Game Developer, Engine Success)。它的出现,有力地证明了在当前游戏市场,小体量、高密度、深度打磨的作品依然拥有强大的生命力和竞争力。《Animal Well》的实践为当代游戏开发者,尤其是资源相对有限的独立开发者,带来了诸多深刻的启示:

  • 自研引擎的价值重估: 在商业引擎日益普及的今天,《Animal Well》提醒我们,对于追求独特美学风格、极致性能优化,或者希望构建不受外部依赖影响的“永恒作品”的开发者而言,自研引擎(或对现有开源引擎进行深度定制)依然是一条值得考虑的路径。它可能意味着更长的开发周期和更高的技术门槛,但也可能带来无与伦比的创作自由度和最终产品的独特性。
  • “少即是多”的约束艺术: 有意识地设定并坚守合理的约束,可以成为一种强大的创作工具。它能帮助开发者聚焦核心体验,避免不必要的范围蔓延,并在限制中激发更深层次的创造力。正如《Animal Well》通过256个房间的限制,创造出一个充满秘密、值得反复探索的微缩宇宙。
  • 独立开发者的“匠人精神”与长期主义: Basso七年如一日的投入,对技术细节的执着,对项目品质的极致追求,充分体现了独立开发者的“匠人精神”。他的成功也印证了长期主义的价值——不急于求成,而是潜心打磨,最终作品的时间会证明其价值。Basso希望他的游戏能像老式卡带游戏一样,“在30年后仍能拥有一个粉丝社群” (Game Developer, Engine Success),这种对作品生命力的长远考量值得深思。

Billy Basso已经确认他正在“考虑另一款游戏”,并处于“设置新项目和引擎的非常早期阶段” (Game Developer, Engine Success)。有了《Animal Well》的成功经验和技术积累,我们有理由期待他未来能继续带来超越现有粉丝期望的惊喜。归根结底,《Animal Well》的故事告诉我们,即使在资源有限的条件下,凭借清晰的愿景、独特的方法论、非凡的纪律和对创作本身的热爱,独立开发者依然能够创造出具有深远影响力的卓越作品,在看似严格的限制中,寻找到属于自己的无限创作自由。

结语关键要点

  • 成功的核心公式: Scratch编码(赋予完全的技术与创作控制)与严格约束(聚焦核心、避免失控、激发创意)相辅相成,共同构成了《Animal Well》的成功基石。
  • 《Animal Well》的意义: 证明了小体量、高密度、深度打磨的作品的强大价值和市场潜力,销量和口碑双丰收。
  • 对业界的启示:
  • 在特定条件下,自研引擎或深度定制依然具有不可替代的价值。
  • “少即是多”的理念,有意识的约束是强大的创作工具。
  • 独立开发者可以通过“匠人精神”和长期主义的投入,创造出具有持久生命力的作品。
  • 对“永恒品质”的追求: Basso希望游戏能像经典卡带游戏一样,在30年后仍被玩家喜爱和讨论,体现了其对作品长远价值的思考。
  • 展望: Basso已着手新项目和新引擎的开发,其经验和理念预示着未来可能带来的更多创新。
 

文章来源: gamesida.com

原文链接: https://www.gamesida.com/zh/blog/post/scratch-coding-of-animal-well.html

0

热门焦点

1
Unity视频播放的各种实现方式汇总
2
教你一步步实现一个虚拟摇杆
3
Unity2019如何激活许可证
4
unity animation 控制动作...
5
【十一活动】盛惠国庆节,快乐大放价!
6
Unity3d使用UGUI实现长按功能

热门标签

.Net Go Fantasy C ET7.2 ET6.0 Net5 ET框架 Protobuf ET5.0 ETCore Node.js

编辑推荐

1
泰课在线2020年双十一活动
2
unity或游戏开发新人如何找工作?
3
Unity Shader之磨砂玻璃与水雾...
4
Tiled结合Unity实现瓦片地图
5
超实用 Typescript 内置类型与...
6
Unity3D引擎中投影式纹理映射应用

新手指南

  • 使用优惠码
  • 常见问题
  • 联系我们

我是老师

  • 课程制作规范
  • 如何发布课程
  • 如何录入题目

我是学生

  • 购买须知
  • 购买指南

账户管理

  • 修改邮箱
  • 找回密码

关于我们

  • 关于我们
  • 讲师加盟
  • 版权信息
微信公众号
网校APP
Powered by EduSoho v24.2.2 ©2014-2025 课程存档
课程内容版权均归 成都煌拓科技发展有限公司 所有
蜀ICP备2021029340号-2
  • 学
    习
    中
    心
  • TOP
在线客服1

U3D5群

U3D千人群

UE4会员群

工作时间:9:00 - 18:30

客服:18600062327

邮箱: admin@taikr.com