AX 爱鲜报

shapez.io 形状工厂

一款受 Factorio 启发的开源 2D 基地建造游戏,玩家通过切割、旋转、合并和染色几何图形来搭建自动化生产线,完整源码基于自研引擎与 JavaScript 实现。

爱鲜报评分

0.0

0 人评分

7k

星数

否

中文

JavaScript

主语言

是

活跃

301

贡献者

人工分析

EDITORIAL

推荐理由

这是少数把完整商业游戏源码开源的项目,代码结构清晰、模块划分合理,非常适合研究浏览器端游戏引擎、渲染管线与自动化玩法设计。虽然官方已转向 shapez 2,但社区版仍在持续维护,学习价值依然很高。

适用场景

  • 学习 2D 游戏引擎与渲染架构
  • 研究自动化/工厂类游戏玩法设计
  • 开发游戏 MOD 与自定义关卡
  • 浏览器端 Canvas 性能优化实践
  • 作为游戏开发教学与二次创作素材

优点

  • 完整开源一款已上架 Steam 的商业游戏,参考价值极高
  • 自研引擎代码相对干净,模块边界清晰易读
  • 内置 MOD 系统与示例代码,扩展方便
  • 支持多语言翻译,社区活跃(Discord)
  • 纯 JavaScript + Canvas,无需复杂环境即可运行

缺点

  • 官方仓库已停止活跃维护,新功能转向 shapez 2
  • 基于 ES5 编写,部分写法偏老旧,缺少 TypeScript 类型
  • 构建依赖 Node 16、Yarn、Java、ffmpeg 等多个工具链
  • 游戏逻辑层存在较多 hack 代码,阅读门槛不低
上手难度 进阶

shapez.io 是什么

shapez.io 是一款受 Factorio 启发的开源 2D 基地建造游戏。玩家需要搭建传送带、开采机与加工设备,通过切割、旋转、合并、染色几何图形来完成越来越复杂的生产目标。游戏已在 Steam 上架,同时提供网页版在线试玩。

官方已推出续作 shapez 2(支持多层工厂、列车、流体等),本仓库不再活跃维护,持续开发请关注 Community Edition。

技术架构

游戏基于作者自研的引擎,核心与 YORG.io 3 共享,整体采用 JavaScript(ES5 为主) 编写,渲染基于 Canvas。

  • 引擎层代码相对整洁,游戏逻辑层则带有较多历史包袱
  • 出于性能考虑,刻意避免使用部分 ES2015 特性,例如关键循环中不用 Array.prototype.forEach
  • 资源文件统一打包进图集(atlas),修改后自动重建

构建与运行

构建前需要准备以下环境:

  • ffmpeg 已加入 PATH
  • Node.js 16 与 Yarn
  • Java(纹理打包工具依赖)

大致流程为:在根目录执行 yarn,进入 gulp 目录再次执行 yarn 与 yarn gulp,随后会自动在浏览器中打开调试版本。调试构建默认开启若干调试开关,可在 src/js/core/config.js 中调整。

MOD 与翻译

  • MOD 资源与文档位于 mod_examples/ 目录,包含多个示例,方便快速上手
  • 翻译文件位于 translations/,不过官方目前不再审核新的翻译提交

适合谁

如果你对浏览器端游戏引擎、自动化玩法设计或大型 JavaScript 项目工程化感兴趣,这个仓库是很好的学习样本;若只是想玩,直接前往 Steam 或官网体验即可。

评论

登录后才可评论与评分

0 条评论

  • 暂无评论,来写第一条吧。