协议兼容
作为 Ace of Spades 0.75 的兼容客户端,可连接 vanilla、pyspades、pysnip 三类服务器。
bgfx · bkaradzic/bgfx
bgfx 是一个用 C++ 编写的跨平台渲染库,不绑定特定图形 API,采用「自带引擎/框架(Bring Your Own Engine/Framework)」的定位。仓库 topics 标注其后端涉及 D3D11、D3D12、OpenGL、OpenGL ES、Metal 等,主要面向游戏开发与图形编程场...
OpenSpades 是经典多人第一人称射击游戏《Ace of Spades》0.75 版本的兼容客户端。它并非从零构建的新游戏,而是以开源方式重新实现客户端,让玩家能够继续连接仍在使用原版协议的服务器。根据 README 说明,OpenSpades 可以连接 vanilla、pyspades 与 pysnip 服务器,并借助 OpenGL 与 OpenAL 提供更好的画面与音频体验。项目采用 C++ 编写,遵循开源许可,并面向多个桌面平台发布。
对于熟悉《Ace of Spades》的玩家而言,OpenSpades 的意义在于延续了原版 0.75 的多人对战生态;对于开发者而言,它则是一个研究实时网络 FPS 客户端架构、体素渲染与跨平台构建的现成样本。
作为 Ace of Spades 0.75 的兼容客户端,可连接 vanilla、pyspades、pysnip 三类服务器。
使用 OpenGL 进行渲染,使用 OpenAL 处理音频,以改善整体体验。
项目开源,并支持在多个操作系统上构建运行。
Linux 上提供 Snap 与 Flatpak 安装方式;Windows 与 macOS 提供源码构建指引。
从 README 的构建说明可以推断出 OpenSpades 的技术栈轮廓:
README 还特别提示,构建过程会自动从 GitHub 下载预编译游戏资源与库,并可通过 CMake 选项关闭非自由资源或 YSR 音频引擎。
README 针对不同平台给出了详细的构建步骤,以下为要点整理:
sudo snap install openspades,安装后可从桌面菜单或终端启动。flatpak install flathub jp.yvt.OpenSpades,随后通过 flatpak run jp.yvt.OpenSpades 启动。openspades.mk 目录,运行 cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo && make。sudo make install 可安装到系统;也可将 Resources 复制到 bin 目录后手动放置。nix shell github:yvt/openspades -c openspades 直接构建运行。Resources 文件夹。bin/OpenSpades.app 启动。README 建议,若构建遇到问题,优先查阅项目 Wiki 中的 Building Guide,因为 README 可能过时。
构建过程中会自动下载以下资源:
pak000-Nonfree.pak 与 font-uniform.pak,来自 openspades-paks 仓库;可通过 -D OPENSPADES_NONFREE_RESOURCES=NO 禁用。-D OPENSPADES_YSR=NO 禁用。此外,vcpkg 会收集遥测数据,可在引导时通过 -disableMetrics 选项关闭。对于国内开发者,从 GitHub 下载资源与依赖可能受网络环境影响,建议提前配置镜像或代理,具体可用性需自行核验。
OpenSpades 适合作为学习实时多人 FPS 客户端架构的参考项目。建议从以下方向入手:
由于 README 未提供代码结构说明,深入阅读源码前可先参考项目 Wiki 与社区讨论。
NBlood 是用 EDuke32 引擎技术与开发思路对 Build 引擎游戏所做的逆向工程移...