openlierox · openlierox/openlierox
OpenLieroX 是用 C++ 编写的开源 2D 实时对战射击游戏,项目自述为「实时、火力夸张的 Worms 克隆」,也形容成像「带虫子和忍者绳索的 2D Quake」。它基于 Jason Boettcher 的 Liero Xtreme,原作者于 2006 年以 zlib 许可发布,社区随后...
OpenLieroX 是一款开源的 2D 实时对战射击游戏,用 C++ 编写。项目自述为「实时、火力夸张的 Worms 克隆」,也形容成「带虫子和忍者绳索的 2D Quake」。它基于 Jason Boettcher 的 Liero Xtreme:原作者于 2006 年以 zlib 许可发布作品,社区经过数月移植与增强后形成了 OpenLieroX。
游戏的核心体验围绕快节奏的横向对战展开,玩家在 2D 场景中移动、瞄准并发射各种武器,配合「忍者绳索」进行位移。项目主页为 http://openlierox.net,GitHub 上提供源码与发布版本。
更详细的编译说明见项目 Wiki 的 Compile-OpenLieroX 页面。
在 Ubuntu 和 Debian 上,可先安装开发依赖:
sudo apt install \
build-essential \
cmake \
libsdl2-dev \
libsdl2-image-dev \
libsdl2-mixer-dev \
libxml2-dev \
libgd-dev \
zlib1g-dev \
libzip-dev \
libx11-dev \
libcurl4-openssl-dev \
libboost-dev \
libopenal-dev \
libalut-dev \
libvorbis-dev \
libyaml-cpp-dev \
binutils-dev \
libiberty-dev \
liblua5.1-dev
然后使用 CMake 构建:
cmake .
或:
cmake -DHAWKNL_BUILTIN=Yes .
接着执行:
make -j8
构建完成后用 ./start.sh 启动游戏。
使用 build/Xcode 下的 Xcode 工程。
使用 build/msvc 2010 下的 MSVC 工程。
README 对玩法的描述较为简洁,但可以确认以下要点:
游戏数据采用大小写不敏感的文件名查找方式,在大小写敏感的文件系统上会使用第一个找到的文件。默认搜索路径依次为 ~/.OpenLieroX、./ 和 /usr/share/games/OpenLieroX,所有路径都相对于这些基准目录。玩家修改的配置、截图等个人内容始终保存在 ~/.OpenLieroX 中。更多搜索路径可以在 cfg/options.cfg 中调整。
GitHub Releases 页面提供 Windows、macOS、Linux 和 Android 的预编译版本。
macOS 版本没有使用 Apple Developer ID 签名(需要付费的 Apple 开发者账号),因此首次打开时系统会提示来自「未识别的开发者」。README 说明这是安全的,只需放行一次。最简单的处理方式是在终端执行:
xattr -cr /path/to/OpenLieroX.app
然后正常打开应用。该命令会移除浏览器下载附加的「隔离」标记,正是这个标记触发了警告。若想完全避免警告,也可以从终端下载 zip 而不是通过浏览器(用 curl 获取的文件不会被隔离):
curl -L -o OpenLieroX.zip <releases 页面中 macOS .zip 的地址>
unzip OpenLieroX.zip
如果对开发过程、工作方式、源码本身感兴趣,或希望以任何方式支持项目,可阅读 Wiki 的 Development 页面。
发现 bug 或想提出功能建议时,请填写报告。项目使用 GitHub issue tracker 进行跟踪。提交 bug 报告时请尽量精确:说明使用的版本、操作系统(Windows、macOS、Linux)及其版本;如果用的不是最新版本,请先尝试最新版确认问题是否已修复;如果使用 Git 版本,请说明具体修订号。
多数情况下还需要控制台输出。不同系统获取方式不同:
/Applications/Utilities/Console 工具查看,过滤「openlierox」即可;也可以像 Unix 一样在终端调用,例如安装在 /Applications 时执行 /Applications/OpenLieroX.app/Contents/MacOS/OpenLieroX。stdout.txt 文件,包含全部输出。OpenLieroX 是一个持续多年的 C++ 开源游戏项目,适合作为学习 2D 实时对战游戏架构的参考。阅读源码前,建议先通过 Releases 版本实际运行游戏,理解玩法与操作手感;再结合 Wiki 的编译与开发文档搭建本地构建环境。项目依赖 SDL2、OpenAL、Lua 等库,构建过程本身也是了解 C++ 游戏项目依赖管理的实践。由于 README 未展开具体模块设计,深入源码时建议从游戏主循环、输入处理与网络相关代码入手,逐步扩展到武器与地图系统。
NBlood 是用 EDuke32 引擎技术与开发思路对 Build 引擎游戏所做的逆向工程移...
DDNet 是 Teeworlds 的一个模组,源自 DDRace,是一款免费的合作型 2D 平台跳...