首页 › weekly › 独立游戏开发者的开源军火库

独立游戏开发者的开源军火库:从引擎到畅玩的8件硬货

本期挖掘思路

前几轮我们把 AI、自托管、量化、健身这些赛道翻了个底朝天,这一轮换一个反常识的方向——帮人“造游戏”和“玩游戏”的开源工具链。理由很简单:全球游戏市场规模早已超过电影和音乐之和,而独立游戏是其中增长最快的板块。做游戏的人越多,工具链的价值就越大。本期 8 个仓库串成一条完整流水线:写引擎、画关卡、编剧情、抠字体、打包图集,最后到躺在沙发上串流畅玩。既有 3 万星级的明星引擎,也有几百星但内行人才懂的隐形基建。所有 Star 数为发稿前估算,以仓库主页为准。

1. bevyengine/bevy | 约 3.5 万星 | 持续高频发版

一句话定位:用纯 Rust 写的 ECS 游戏引擎,可能是目前架构最优雅的开源引擎。

它解决什么痛点:Unity 收费风波后大量开发者出逃,而 Unreal 太重、Godot 用 C++。Bevy 的答案是:数据导向 + ECS(实体组件系统)架构,代码即插件,没有任何类继承包袱。

核心拆解: - bevy_ecs 可以脱离引擎单独作为 Rust 库使用,不少高频交易、仿真项目其实都在偷偷用它 - 插件化设计:加个 Plugin 就能扩展渲染、音频、物理,整个引擎自己也是用插件搭出来的 - 资产热重载开箱即用,改贴图/场景不用重启游戏 - 短板也要说清楚:截至目前仍处于 0.x 阶段(以官方发布为准),API 迭代很快,Rust 借用检查器 + 快速变化的 API 会劝退急性子

上手难度:⭐⭐⭐⭐

适用人群:Rust 爱好者、对引擎架构有控制欲的团队、技术驱动型独立项目。商业变现思路:用 Bevy 做商业化小游戏/模拟器,或为生态贡献付费资产与教程——Bevy 本身靠 GitHub Sponsors 维持全职开发,这套模式已被验证。

2. raysan5/raylib | 约 2.4 万星 | 长期稳定维护

一句话定位:一个 C 语言头文件级简洁的游戏库,全世界无数大学用它教图形编程。

它解决什么痛点:想学游戏图形编程,OpenGL 原生 API 陡峭得像悬崖,而引擎又把一切藏得太深。raylib 把“画一个窗口、画一个三角形”压缩到 5 行代码以内。

核心拆解: - 核心 API 极简:InitWindow() / BeginDrawing() / EndDrawing(),所见即所得 - C99 编写、无外部依赖(依赖全部打包内置),一个编译器就能跑 - 官方维护了几十种语言绑定,Python/Go/Lua/Node 全都有 - 配套工具链齐全:即时模式 GUI 库 raygui、资源打包格式 rres 等

上手难度:⭐⭐

适用人群:图形编程初学者、Game Jam 选手、想做教学内容的开发者。变现思路:它本身就是极好的付费课程/书籍题材("Learn C by making games"),B 站这类教程缺口明显。

3. mapeditor/tiled | 约 1.1 万星 | 活跃维护

一句话定位:2D 关卡编辑器的事实标准,从独立神作到手游大厂都在用。

它解决什么痛点:关卡编辑是 2D 游戏最脏最累的活。自己写编辑器?绝大多数小团队死在这一步。Tiled 用通用格式解决了“编辑器”这个公共组件。

核心拆解: - 支持直角/等距/六边形三种地图投影,瓦片层 + 对象层分离 - 导出 TMX/JSON 通用格式,Godot、Unity、Defold、Phaser 都有官方或社区插件 - 可以用 JavaScript 写扩展脚本,自定义自动化导入管线(比如从 Aseprite 直接同步) - 免费开源,作者靠 Patreon 赞助维持——一个工具类开源项目活了十几年的范本

上手难度:⭐⭐

适用人群:所有 2D 游戏团队。它是“策划和程序之间的翻译官”。二开方向:基于 tiled 格式做垂直行业的地图编辑器(如商场导览、仓储布局模拟),格式规范现成。

4. inkle/ink | 约 4.5 千星 | 稳定维护

一句话定位:Inkle 工作室开源的叙事脚本语言,《80 天环游世界》《天堂之穹》的剧情引擎。

它解决什么痛点:分支叙事用 if-else 写会指数爆炸。ink 用"结(knot)—针脚(stitch)—分流(divert)”三层结构,让编剧像写剧本一样写程序逻辑,文案与代码彻底解耦。

核心拆解: - 语法接近纯文本:* 是选项、-> 是跳转,策划独立于程序工作成为可能 - 官方编译器输出 JSON,官方运行时有 C#/Unity 版,社区还有 Godot、JS、Rust 等移植 - 配套可视化编辑器 Inky,左边写右边实时预览,编剧培训成本极低 - 在视觉小说、文字冒险、AVG 解谜品类里几乎是必选件

上手难度:⭐⭐⭐

适用人群:叙事驱动游戏的团队、互动小说作者、甚至做互动营销 H5 的工作室。二开方向:把 ink 运行时接进微信小游戏/短剧互动引擎,国内互动叙事工具市场基本空白。

5. nesbox/TIC-80 | 约 5.5 千星 | 持续维护

一句话定位:一台开源的“幻想游戏机”——逼你在 240×136 像素、16 色的方寸之间做游戏。

它解决什么痛点:现代引擎给的自由太多,新手反而无从下手。TIC-80 复古了 80 年代家用电脑的体验:开机是命令行,写完代码、画好精灵、编好音乐,全部打包成一张单文件“卡带”(.tic),能直接发给朋友运行。

核心拆解: - 规格硬约束:240×136 分辨率、16 色调色板、芯片音源,约束即创意催化剂 - 内置代码编辑器、精灵编辑器、地图编辑器、音乐追踪器,一台“虚拟机”全搞定 - 原生支持 Lua,社区版还有 Python、Ruby、JS、Fennel 等多种语言 - MIT 协议,卡带格式公开,浏览器里就能玩别人做的游戏

上手难度:⭐⭐

6. Chlumsky/msdf-atlas-gen | 约 1 千星 | 低频维护、功能稳定

一句话定位:游戏文字渲染的隐形基建——把字体变成任意缩放都不糊的 MSDF 图集。

它解决什么痛点:游戏里的文字缩放时会糊边毛糙。多通道有符号距离场(MSDF)技术让一张很小的字体图集在放大到任意尺寸时依然锐利,还能自由描边、变色。这个命令行工具是该项技术最权威的开源实现,源自作者同名的硕士论文。

核心拆解: - 输入 TTF/OTF,输出 MSDF 字体图集 + 描述 JSON,一次生成终身受用 - 支持任意 Unicode 字符集,中文游戏也能用(生成 CJK 子集是常规操作) - Godot 4 的字体系统就采用 MSDF 路线,自研引擎接它几乎没有坑 - Star 不高,但你玩过的不少游戏里都有它的影子——典型的“低星高价值”基建

上手难度:⭐⭐⭐⭐

适用人群:自研渲染管线的引擎程序员、做 GUI 框架的开发者。二开方向:把它封装成在线服务(上传字体→返回游戏可用图集),是极窄但刚需的利基 SaaS。

7. odrick/free-tex-packer | 数百星 | 社区维护

一句话定位:免费开源的精灵图集打包器,替代 Texture Packer 商业软件的平替。

它解决什么痛点:把几十上百张零散贴图合并成一张大图集(减少 draw call),商业工具 Texture Packer 要收费,而很多小团队只需要最基础的打包功能。

核心拆解: - 三种形态:浏览器版 Web App(开箱即用)、命令行 CLI(接 CI 自动化)、JS 核心库(嵌进自家管线) - 内置 MaxRects 等经典装箱算法,支持旋转、去重、修剪透明边 - 可导出 PixiJS、CSS sprites、自定义模板等多种格式,接 Phaser/Cocos 无障碍 - 单一痛点、单一工具,是“小而美”的教科书样本

上手难度:⭐

适用人群:HTML5 游戏开发者、独立团队。维护活跃度一般,追求稳定可用 Web 版,想深度定制就 fork 核心库自己养。

8. moonlight-stream/moonlight-qt | 约 1 万星 | 高频活跃

一句话定位:开源游戏串流客户端——躺在客厅沙发上,用电视/手机/Steam Deck 玩 PC 3A 大作。

它解决什么痛点:PC 在书房,人想在客厅。Moonlight 最初为 NVIDIA GameStream 协议而生,画质延迟吊打一票商业串流方案。NVIDIA 宣布停运 GameStream 服务后,社区转向搭配开源串流服务端 Sunshine(LizardByte/Sunshine),PC、甚至 Mac/Linux 主机都能当串流源。

核心拆解: - 全平台客户端:Windows、macOS、Linux、iOS、Android,还有树莓派和 Steam Deck 移植 - 支持硬件解码(NVENC/VAAPI/VideoToolbox),局域网 4K@120fps,公网配合好的网络也能流畅 1080p - 手柄原生支持,Xbox/PS/Switch Pro 手柄即连即玩 - 协议开源,二手开源生态(Sunshine + Moonlight)已成为自建游戏串流的事实标准

上手难度:⭐⭐

适用人群:有闲 PC 的所有人。商业思路极清晰:套壳 Moonlight + Sunshine 做开箱即用的“游戏 NAS”硬件,海外已有小公司这么干,国内市场仍属空窗。

本期横向对比

仓库 类型 Star(约) 上手难度 适用场景
bevy Rust 游戏引擎 3.5 万+ ⭐⭐⭐⭐ 技术型独立游戏、引擎二开
raylib C 游戏库 2.4 万+ ⭐⭐ 图形教学、Game Jam
tiled 关卡编辑器 1.1 万+ ⭐⭐ 2D 游戏通用管线
moonlight-qt 串流客户端 1 万+ ⭐⭐ 客厅大屏畅玩
TIC-80 幻想游戏机 5.5 千+ ⭐⭐ 新手第一个游戏、复古创作
ink 叙事脚本语言 4.5 千+ ⭐⭐⭐ 视觉小说、分支叙事
msdf-atlas-gen 字体图集工具 1 千+ ⭐⭐⭐⭐ 自研引擎文字渲染
free-tex-packer 图集打包器 数百 ⭐ H5 游戏资源管线

全景图

quadrantChart
    title 本期仓库:上手难度 x 热度
    x-axis "低上手门槛" --> "高上手门槛"
    y-axis "相对小众" --> "相对热门"
    quadrant-1 明星硬货
    quadrant-2 内行基建
    quadrant-3 骨灰玩具
    quadrant-4 国民工具
    "Bevy": [0.75, 0.85]
    "raylib": [0.2, 0.8]
    "Tiled": [0.3, 0.7]
    "Moonlight": [0.15, 0.9]
    "TIC-80": [0.35, 0.55]
    "ink": [0.45, 0.45]
    "msdf-atlas-gen": [0.7, 0.25]
    "free-tex-packer": [0.15, 0.15]

本期之最

参考来源

  1. bevyengine/bevy 及官网 bevy.org — Bevy 引擎仓库与官方文档
  2. raysan5/raylib 及官网 raylib.com — raylib 仓库、示例与语言绑定列表
  3. mapeditor/tiled 及官网 mapeditor.org — Tiled 关卡编辑器
  4. inkle/ink 及 ink 官方介绍页 — ink 叙事语言与 Inky 编辑器
  5. nesbox/TIC-80 及官网 tic80.com — 幻想游戏机规格与卡带社区
  6. Chlumsky/msdf-atlas-gen、odrick/free-tex-packer、moonlight-stream/moonlight-qt 与 moonlight-stream.org、LizardByte/Sunshine — 渲染与串流环节仓库

[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。

51学通信知识星球海报-扫码加入