本页目录

「魔兽争霸:人类与兽人」开源复刻实现(War1gus)

war1gus · Wargus/war1gus

War1gus 是基于 Stratagus 引擎对《Warcraft: Orcs & Humans》的重新实现,可在现代平台运行。它沿用原版游戏的图像与音效,并借助引擎加入现代鼠标操作、命名编组、更大范围单位选中、多人模式更多阵营、地图编辑器与多城镇等功能。仓库...

竞速体育 SDL C 音频系统 渲染技术 高级
★ Stars 138 Forks 20 License GPL-2.0 更新 2026-11-09

国内开发环境适配

Windows
官方声明支持
Linux
官方声明支持
macOS
官方声明支持
引擎 / 框架:SDL 暂无中文教程标记 未标记站长实测
Linux 下需通过包管理器安装 CMake、GLEW,以及 SDL2 开发包或 X11/Xi/Xcursor/ALSA 开发包;国内从 GitHub 克隆仓库可能较慢,可考虑镜像加速。网页试玩托管于作者个人站点,国内访问速度与可用性待核验。

中文项目介绍

wipeout-rewrite 是开发者 phoboslab 对 1995 年 PlayStation 初代竞速游戏《wipEout》的 C 语言重实现项目。README 明确说明它仍处于开发中的状态,玩家应当预期遇到 bug;同时给出了可直接在浏览器中游玩的地址,以及作者博客中关于重写过程的文章链接。项目并不是简单地把原版资源打包运行,而是用新的代码重建这款经典反重力赛车游戏,因此页面同时具备“游戏复刻”和“跨平台 C 工程”的双重属性。

在运行时后端方面,项目提供 SDL2 与 Sokol 两套平台后端。两者最直接的功能差异是:SDL2 后端支持游戏控制器,包括摇杆和手柄,并使用 OpenGL 2.x;Sokol 后端不支持控制器,使用 OpenGL 3.3。README 还特别指出,Sokol 后端仅支持 macOS、Linux、Windows 与 Emscripten。不过 macOS 构建章节又注明目前只有 SDL2 平台可以工作,原因是 Sokol 与 OpenGL 3.3 在 macOS 上对 GLSL 着色器版本较敏感,若要修好可能需要在 SDL 与 WASM 之间加入一批条件编译处理,项目方表示欢迎提交 PR。

核心功能

核心特性

Linux 与类 Unix 系统是文档着墨最多的构建场景。项目为 Linux 提供简单的 Makefile,同时所有平台都可以用 CMake 构建。Linux 下通常需要安装 CMake、GLEW 以及平台相关开发库;选择 SDL2 后端时主要需要 sdl2 库和头文件,选择 Sokol 后端时则需要 X11、Xi、Xcursor 与 ALSA 的开发包。README 分别列出了 Debian/Ubuntu、Fedora、Arch Linux、OpenSUSE、FreeBSD 与 OpenBSD 的包管理器安装示例,并说明 BSD 系统不支持 Sokol 后端,因为 Sokol 头文件本身不支持这些操作系统。构建命令包括 make sdl、USE_GLX=true make sdl(面向传统 NVIDIA 等需要 GLX 的场景)、make sokol,以及标准的 cmake -S 源码目录 -B 构建目录 加 cmake --build 构建目录。

macOS 目前建议使用 Homebrew 安装 cmake 与 sdl2,再通过 CMake 指定 SDL2 前缀路径完成构建;Sokol 后端在 macOS 上尚未可用。Windows 原生构建相对复杂:源码依赖 GCC 扩展,msvc 不支持,因此需要使用 clang-cl。README 给出的路径是安装 Visual Studio 2022 并勾选“使用 C++ 的桌面开发”和“适用于 Windows 的 Clang C++ 编译器”,再借助 vcpkg 获取 SDL2 与 GLEW,项目自带 CMakeSettings.json,选择 clang_cl 工具集后用 F7 构建。另一个更省事的方案是 MSYS2,在 UCRT 环境中用 pacman 安装 toolchain、cmake、SDL2 与 glew,然后同样可以 make sdl、make sokol 或用 CMake 构建。

技术架构分析

技术要点

WebAssembly 方面,项目通过 Emscripten 构建,要求 emcc 与 emcmake 位于 PATH 中,并且只有 Sokol 平台适用于 WASM 构建。可以用 make wasm 生成完整与最小化构建,也可以用 emcmake 配合 -DPLATFORM=SOKOL 进行 CMake 构建。README 的 CMake 选项表还列出了 PLATFORM(SDL2、SOKOL、NULL)、RENDERER(GL、GLES2、SOFTWARE、NULL)、USE_GLVND、MINIMAL_BUNDLE(用于 Web 构建时排除音乐与开场视频)、PATH_ASSETS、PATH_USERDATA 以及 DEV_BUILD 等参数,说明项目在资源路径、用户数据路径和渲染后端上保留了一定可配置性。

对于想学习 C 语言跨平台游戏工程的读者,这个仓库的价值主要在于观察同一套游戏代码如何适配 SDL2 与 Sokol 两种平台层、如何用 Makefile 与 CMake 并存的方式组织构建,以及如何面向桌面系统、BSD 与 Emscripten 处理依赖差异。需要注意的是,README 明确标注项目仍在开发中、可能有 bug;原版游戏素材的获取与使用、各平台实际运行效果等细节,文档没有完全展开,动手前应结合仓库当前状态自行核验。

开源许可证与版权说明

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

相似项目