源码与资源分离
仓库提供的是可编译的源代码,图形、音乐、音效、语音等资源均需来自原版完整游戏。
FlappyBird · onlynight/FlappyBird
这是一个用 JavaScript 编写的微信 FlappyBird 游戏示例项目,仓库描述标注为「Wechat FlappyBird game demo」。需要注意:仓库提供的 README 摘录内容与 FlappyBird 无关,实际是 Aquaria 源码的构建说明,因此项目的具体玩法实现、运行...
Aquaria 是一款由 Bit Blot 开发的 2D 水下动作冒险游戏,其源码在 icculus.org 上以开源形式发布。由于原仓库长期缺乏维护,AquariaOSE 分支接手了后续的维护工作。根据 README 的说明,这一分支相较原版加入了较多增强,但具体增强项在 README 中并未逐条列出,需要进一步核验。
需要特别注意的是,本仓库只包含 Aquaria 的 C/C++ 源码以及必要的构建脚本,不包含任何图像文件和音频文件。因此,它并不是一个开箱即用的完整游戏,而是一份需要与原版商业游戏数据配合使用的源码工程。
仓库提供的是可编译的源代码,图形、音乐、音效、语音等资源均需来自原版完整游戏。
README 明确表示相较 icculus.org 上的原版有较多增强,但未在 README 中展开说明具体内容。
构建流程基于 CMake,README 中给出了 Linux 下的依赖列表,并针对 Windows、macOS 以及 Linux 打包维护者分别给出了配置建议。
Lua、libogg、libvorbis 既可以使用系统安装的版本,也可以使用仓库内附带的版本,因此不强制要求系统级安装这些库。
通过 `AQUARIA_DATA_PATH` 环境变量或编译期选项指定游戏数据目录,并可将仓库中的 `files` 目录以符号链接或 junction 的方式挂载为 `override`,便于频繁更新源码而不改动原始安装。
从 README 的构建说明可以确认以下技术依赖:
make 完成编译。build-essential cmake liblua5.1-0-dev libogg-dev libvorbis-dev libopenal-dev libsdl1.2-dev。ccmake 可以指定编译期选项;Windows 构建或希望自包含的 Linux 构建,建议把 AQUARIA_INTERNAL_* 系列 CMake 变量设为 TRUE,以使用内置依赖。AQUARIA_DEFAULT_DATA_DIR 用于设定默认游戏数据目录,AQUARIA_EXTRA_DATA_DIR 用于指定打包时额外文件的安装位置。AQUARIA_EVENT_JOYSTICK0 环境变量把手柄索引映射到 /dev/input/event* 设备节点。README 给出的标准构建步骤如下:
mkdir cmake-build && cd cmake-build。cmake ..;若需指定编译选项,改用 ccmake ..。make。aquaria 可执行文件。运行前必须先拥有原版完整游戏(Windows、Linux 或 macOS 版本均可)。README 给出了三种配置方式:
files 目录内的所有文件复制过去并覆盖同名文件。注意不要删除安装目录中的任何文件,只是替换其中一部分;在 macOS 上用 Finder 操作时要小心,它会替换整个文件夹而不是合并。AQUARIA_DATA_PATH 指向安装目录,并在该目录内创建指向仓库 files 目录的 override 符号链接;Windows 下建议使用 junction(硬链接扩展工具)把 files 链接到编译输出目录。AQUARIA_DEFAULT_DATA_DIR,确保包内包含 files 目录的全部文件,并用 AQUARIA_EXTRA_DATA_DIR 指定这些额外文件的安装位置;同时需要保证 ~/.Aquaria/_mods/*/scripts/ 下的 mod 脚本与仓库 game_scripts/_mods 保持同步。若想游玩随附的默认 mod,还需把 game_scripts/_mods 复制到本地的 _mods 目录。遇到问题时,README 指向 IRC 频道 #bitblot @ irc.esper.net 获取支持。
这份仓库更适合作为「商业游戏源码开放」的工程案例来阅读,而不是入门教程:
scripts、data、game_scripts 等目录与可执行文件之间的配合方式,以及 override 覆盖机制。
NBlood 是用 EDuke32 引擎技术与开发思路对 Build 引擎游戏所做的逆向工程移...
Frogatto & Friends 是一款 2D 横版动作冒险游戏,主角是一只青蛙;开发团队...
id Software 公开的初代 DOOM 源代码,限非盈利使用。README 说明:运行仍需...
CatacombGL 是 Catacomb 3D 与 Catacomb 冒险三部曲(Abyss、Armageddon、Apo...