
那份「180 款开源游戏源码」的清单,这两周被转了很多次。清单本身没问题,问题在转发时的说法:「能下载」被说成了「能跑」。
我把清单从头翻了一遍,挑出 15 个「不需要原版商业素材、不需要自己编译」的候选,在一台 ARM64 的 Ubuntu 24.04 上逐个安装、启动、截屏。
结果是:9 个在 30 秒内开出画面,6 个卡在环境。下面是可以直接抄的结论,以及每个游戏真实的第一屏。
先说方法:什么叫「跑起来」
我的判据只有三条,缺一条就不算:
- 不用买原版游戏——素材是 CC0 或随包开源的,不需要你有《主题医院》《过山车大亨》的安装盘;
- 不用编译——发行版仓库里有现成的 arm64 包,或者有单文件可执行;
- 30 秒内出首屏——不是进程活着就算,要看到可操作的界面。
测试机是一台 ARM64 的 Ubuntu 24.04,没有 root 权限,所以我把 deb 包解开到本地目录直接运行(普通机器上换成 sudo apt install 即可,步骤只会更少)。截图是真实的 X11 屏幕抓取,不是官网宣传图。

9 个真的能跑
1. OpenTTD:运输大亨的完整复刻
sudo apt install openttd openttd-opengfx
安装包一共 9MB,包含免费图形包 OpenGFX。开出来就是中文界面、完整的运输经营玩法:修铁路、算线路成本、看城镇长大。它是这 9 个里最能直接当项目底座的一个——经济模拟、寻路、地图生成全是可读的 C++ 代码。想研究「交通网络怎么定价」,比看任何教程都直接。

2. Teeworlds:1MB 的 2D 竞技射击
sudo apt install teeworlds
下载体积只有 1MB,引擎和全部像素素材都在里面。启动后是经典的钩爪+射击对战,支持局域网和在线服务器。1MB 这个数字值得记住:它把「游戏体积大是因为内容多」这句话证伪了一半——2D 竞技游戏的核心,本来就不需要几个 G。

3. Pingus:旅鼠玩法的开源实现
sudo apt install pingus
12MB。玩法是给一群没有方向感的小企鹅分配技能(挖、搭桥、跳伞),把它们送到出口。关卡编辑器是内置的,改一关比写一版原型快得多。适合做关卡设计练手。

4. SuperTux:企鹅版马里奥
sudo apt install supertux
166MB,大头是美术和音乐。横版跳跃手感调得相当完整:惯性、踩怪、隐藏关、Boss 战都有。对独立开发者来说,它是「一整套平台跳跃关卡数据长什么样」的现成样本。

5. Wesnoth:回合战棋的规则教科书
sudo apt install wesnoth
151MB。中文界面开箱即用。真正值钱的不是战役,是它的数据驱动结构:单位、技能、地形修正、AI 全部写在 WML 配置里,改数值不用碰代码。想做一个战棋,先读它的规则文件,能少走很多弯路。

6. Endless Sky:太空贸易与探索
sudo apt install endless-sky
245MB。上层是贸易、跑商、改装飞船,底层是一条可以一直做下去的主线。它的数据结构非常规整:星系、任务、对话都是文本配置。适合当「开放世界内容管线」的参考实现。

7. Warzone 2100:3D 即时战略
sudo apt install warzone2100
153MB。90 年代末的商业 RTS 后来开源,单位可以在战役之间继承、自己组装底盘和炮塔。3D 画面在软件渲染下也能跑,说明它的图形管线不挑环境。

8. SuperTuxKart:卡丁车竞速
sudo apt install supertuxkart
637MB,是这 9 个里最大的。赛道、卡丁车、音乐、角色全在包里,直接就能开。它的价值不在代码结构,而在完整度:一个开源项目能做到这个体量的内容量,本身说明工具链和社区都成熟了。

9. FreedroidRPG:科幻动作 RPG
sudo apt install freedroidrpg
228MB。俯视角射击+RPG,剧情是机器人起义。界面偏老,但系统完整:装备、技能、对话树、地图。作为「单机 RPG 的最小完整形态」,读起来比 3A 拆解轻松。

6 个翻车的,只卡在两件事
失败名单:0 A.D.、Lincity-NG、Blobwars、Widelands、Cataclysm-DDA、C-Dogs SDL。
- 路径写死(4 个):0 A.D.、Lincity-NG、Blobwars、Widelands 都把
/usr/share/games编译进了二进制。系统装在/usr下当然没事,但一旦换目录(容器、解包、绿色版)就起不来。 - 字体或数据文件缺失(2 个):Cataclysm-DDA 找不到
data/font/Terminus.ttf,C-Dogs SDL 初始化时直接崩。这两类在正常apt install下多数会被依赖自动补齐,但在「解包运行」这种轻量环境里会暴露。
另外还有一类我根本没放进候选:OpenRCT2、CorsixTH、fheroes2 这样需要原版商业素材的项目。代码是开源的,贴图、音效、关卡数据仍归原厂。没有原版安装文件,装上也只是一堆报错。这不是缺陷,是边界。

体积这笔账:1MB 到 637MB,差 700 倍
同一份清单里,Teeworlds 是 1MB,SuperTuxKart 是 637MB。「一键跑」这四个字,对这两个游戏的含义完全不同:前者是一个可执行文件的事,后者要先清出 1GB 磁盘、等十几分钟下载。
如果你只是想找个周末能玩的东西,按体积从下往上试;如果你想拿代码当底座,体积大的那几个内容管线更完整,但阅读成本也高。

三条能直接用的判断
一、先看素材许可,再看代码
清单本身是 CC0,但清单里每个项目各有各的许可证。代码开源不等于素材开源:想商用、想录屏、想二次分发,必须逐个看项目自己的 LICENSE 和素材声明。这条比「能不能跑」重要得多。
二、ARM64 上,优先用发行版仓库,不要赌 GitHub Release
清单里的项目,GitHub Release 大多只提供 x86_64 的 AppImage 或压缩包。这台机器是 ARM64,能跑起来的 9 个全部来自 Ubuntu 官方仓库的 arm64 原生包。换架构时,先查发行版有没有打包,比去 Release 页碰运气快。
三、想学东西,挑「数据驱动」的那几个
如果目的是读代码,我的排序是:Wesnoth(规则 DSL)→ OpenTTD(经济与寻路)→ Endless Sky(内容管线)→ SuperTux(关卡与手感)。这四个的共同点是「逻辑和内容分离」,你能只改配置就看到变化;反过来,SuperTuxKart 这种内容量巨大的项目,适合当完成度参考,不适合逐行读。

来源与说明
- 清单来源:GitHub 项目
bobeff/open-source-games(https://github.com/bobeff/open-source-games )。本文写作时实测 17,901 star / 1,649 fork,最后一次提交停在 2026-02-25,仓库本身是 CC0。 - 实测时间:2026-11-09,Ubuntu 24.04 ARM64;体积为发行版包的实际下载大小,含数据包。
- 本文只做「能不能跑」的环境实测,不对任何项目的代码质量、安全性、许可证适用性作担保;商用或二次分发前请自行核对各项目 LICENSE 与素材授权。
- 文中截图均为本机实际运行画面,非官方宣传图。