本页目录

OpenLieroX(开源 2D 实时对战射击游戏 / Liero 克隆)

openlierox · openlierox/openlierox

OpenLieroX 是用 C++ 编写的开源 2D 实时对战射击游戏,项目自述为「实时、火力夸张的 Worms 克隆」,也形容成像「带虫子和忍者绳索的 2D Quake」。它基于 Jason Boettcher 的 Liero Xtreme,原作者于 2006 年以 zlib 许可发布,社区随后...

动作游戏 射击 多人对战 SDL 自研引擎 C++ 角色控制 物理系统 游戏状态管理 网络联机 中级
★ Stars 305 Forks 72 License 未明确 更新 2026-10-29

国内开发环境适配

Windows
官方声明支持
Linux
官方声明支持
macOS
官方声明支持
引擎 / 框架:SDL 暂无中文教程标记 未标记站长实测
Linux 构建需从发行版仓库安装大量开发依赖(SDL2、OpenAL、Lua 5.1 等),国内镜像源通常可用;GitHub Releases 下载可能受网络影响,建议使用镜像或代理。macOS 首次运行需执行 xattr 命令放行。

中文项目介绍

OpenLieroX 是一款开源的 2D 实时对战射击游戏,用 C++ 编写。项目自述为「实时、火力夸张的 Worms 克隆」,也形容成「带虫子和忍者绳索的 2D Quake」。它基于 Jason Boettcher 的 Liero Xtreme:原作者于 2006 年以 zlib 许可发布作品,社区经过数月移植与增强后形成了 OpenLieroX。

游戏的核心体验围绕快节奏的横向对战展开,玩家在 2D 场景中移动、瞄准并发射各种武器,配合「忍者绳索」进行位移。项目主页为 http://openlierox.net,GitHub 上提供源码与发布版本。

技术架构分析

如何构建

更详细的编译说明见项目 Wiki 的 Compile-OpenLieroX 页面。

Linux/Unix

在 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 启动游戏。

macOS

使用 build/Xcode 下的 Xcode 工程。

Windows

使用 build/msvc 2010 下的 MSVC 工程。

补充说明

玩法与内容

README 对玩法的描述较为简洁,但可以确认以下要点:

  • 实时对战:游戏是实时进行的,而非回合制,这与传统 Worms 的回合制玩法形成区别。
  • 火力夸张:项目自称「excessive」,意味着武器效果和战斗节奏偏向夸张、爽快。
  • 忍者绳索:绳索是重要的位移手段,类似 2D Quake 中的移动技巧。
  • 2D 射击:整体为横向 2D 视角的射击对战。

游戏数据采用大小写不敏感的文件名查找方式,在大小写敏感的文件系统上会使用第一个找到的文件。默认搜索路径依次为 ~/.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 版本,请说明具体修订号。

多数情况下还需要控制台输出。不同系统获取方式不同:

  • Linux/Unix:直接在控制台运行游戏即可看到全部输出。
  • macOS:可以通过 /Applications/Utilities/Console 工具查看,过滤「openlierox」即可;也可以像 Unix 一样在终端调用,例如安装在 /Applications 时执行 /Applications/OpenLieroX.app/Contents/MacOS/OpenLieroX。
  • Windows:OpenLieroX 目录下应有 stdout.txt 文件,包含全部输出。

学习建议

OpenLieroX 是一个持续多年的 C++ 开源游戏项目,适合作为学习 2D 实时对战游戏架构的参考。阅读源码前,建议先通过 Releases 版本实际运行游戏,理解玩法与操作手感;再结合 Wiki 的编译与开发文档搭建本地构建环境。项目依赖 SDL2、OpenAL、Lua 等库,构建过程本身也是了解 C++ 游戏项目依赖管理的实践。由于 README 未展开具体模块设计,深入源码时建议从游戏主循环、输入处理与网络相关代码入手,逐步扩展到武器与地图系统。

开源许可证与版权说明

许可证标识:未明确。源码、资源与依赖许可可能不同,请以官方仓库为准。本站仅做索引,不托管源码。

相似项目