AI-Youtube-Shorts-Generator完全指南:从安装到批量处理
Cataclysm-DDA 安装指南:从零跑通程序生成的终端生存游戏
Cataclysm: Dark Days Ahead(简称 CDDA,Cataclysm-DDA)是一款开源的回合制终端生存游戏:世界完全由程序生成,你在废墟里搜刮食物、武器和燃料,躲开僵尸与怪虫,可以完全离线地玩上几个月。本文带你走通"克隆 → 装依赖 → 编译 → 启动"全流程。
开工前检查:装哪些、为什么装
| 工具/库 | 最低版本 | 为什么需要它 |
|---|---|---|
| C++ 编译器(GCC/Clang) | 支持 C++17 | 游戏逻辑全部是 C++ 写的,没有编译器无法生成可执行文件 |
make + build-essential | — | 项目用 make 作为官方构建入口,它负责调度整个编译过程 |
ncurses 开发库 | — | 就是让程序在终端里画出文字界面的库,CDDA 的默认界面靠它渲染 |
zlib、bzip2 开发库 | — | 游戏存档和地图数据用这两种格式压缩,运行时必需 |
astyle | — | make 默认会对源码做风格检查,缺了它会在编译前报错 |
git | — | 用来获取代码,构建时也要用它读取版本号 |
图形模式(tiles 版)还需要 SDL3 全家桶,依赖明显更多,本文先带你用依赖最少的终端版跑通,最后再给图形模式的升级路线。
第一步:获取源代码
打开终端,执行:
git clone https://gitcode.com/GitHub_Trending/ca/Cataclysm-DDA
cd Cataclysm-DDA
确认目录里能看到 Makefile、src/、data/ 三项,说明代码完整。游戏内容(怪物、物品、地图)都在 data/json/ 下的 JSON 文件里,纯代码部分在 src/,之后遇到问题可以顺藤摸瓜。
第二步:一次装齐所有依赖
Ubuntu / Debian
sudo apt-get update
sudo apt-get install build-essential g++ make git astyle libncurses5-dev libncursesw5-dev zlib1g-dev libbz2-dev
Fedora
sudo dnf install gcc-c++ make git astyle ncurses-devel zlib-devel bzip2-devel
Arch Linux
sudo pacman -S base-devel git astyle ncurses zlib bzip2
💡
libncurses5-dev这类"开发库"和终端里平时用的 ncurses 不是一回事:开发库带了头文件和链接文件,是给编译器用的。
第三步:编译只需要这一条命令
make -j$(nproc)
-j$(nproc) 表示用满你 CPU 的全部核心并行编译,把编译时间从十几分钟压到几分钟。看到大量 g++ 滚动、最后没有红色 Error 即成功。此时项目根目录下会多出可执行文件 cataclysm。
嫌编译慢可以加
RELEASE=1开启优化;想装 ccache 加速后续增量编译可以再加CCACHE=1。
第四步:启动并验证跑通
./cataclysm
看到这样的画面就算成功了:终端中央出现 "Cataclysm Dark Days Ahead" 的 ASCII 艺术字标题,下方是 Custom Character、Random Character、Play Now 选项列表,底部一排 [New Game] [Load] [World] ... [Quit] 快捷键栏。
再输一条命令确认版本信息正常输出:
./cataclysm --version
能打印出版本号并退出,说明二进制与数据目录都工作正常。
卡住了怎么办
Q1:make 一上来就报 astyle not found make 默认开启源码风格检查。装一下即可:sudo apt-get install astyle(或对应发行版包名)。赶时间也可以跳过检查:make ASTYLE=0。
Q2:报 fatal error: curses.h: No such file 或 ncurses 相关链接错误 说明 ncurses 开发库没装对,回上一步按你的发行版补装 libncurses5-dev libncursesw5-dev(Fedora 为 ncurses-devel)。
Q3:想看图块画面而不是纯文字,make TILES=1 却报找不到 SDL3 tiles 版依赖 SDL3 ≥ 3.4.0,且 SDL2 已不被支持。Ubuntu 上先装 sudo apt-get install libsdl3-dev libsdl3-ttf-dev libsdl3-image-dev libfreetype6-dev glslang-tools,再执行 make TILES=1 -j$(nproc),产物是 ./cataclysm-tiles。
下一步往哪走
跑通之后,新存档建议先用主菜单的 Random Character 直接开局熟悉操作。想深入定制角色、地图生成或 MOD,可以从编译说明 doc/c++/COMPILING.md 和 JSON 数据规范 doc/JSON/ 入手,游戏内容本体都在 data/json/ 目录里等你翻。
更多推荐


所有评论(0)