Widelands 开源即时战略游戏
Widelands 是一款受《工人物语 II》启发的免费开源即时战略游戏,拥有单人战役与多人对战模式,内容更丰富、玩法更有深度。使用 C++ 编写,支持 Linux、Windows、macOS 等平台。
爱鲜报评分
0 人评分
3.1k
星数
否
中文
C++
主语言
是
活跃
179
贡献者
人工分析
EDITORIAL推荐理由
Widelands 是少数长期活跃、完成度极高的开源 RTS 项目,代码规模大、架构清晰,非常适合学习大型 C++ 游戏工程的构建与组织方式。它同时提供 Lua 脚本与 Python 工具链,方便扩展玩法与内容。对想研究游戏引擎、AI 寻路、资源经济系统的开发者来说,是一份难得的实战教材。
适用场景
- 学习大型 C++ 游戏项目架构
- 研究 RTS 资源经济与 AI 寻路
- 用 Lua 编写自定义战役与地图
- 参与开源游戏开发与本地化翻译
- 在 Linux/Windows/macOS 上体验开源 RTS
优点
- GPL 开源,代码与美术资源可自由研究
- 跨平台支持完善,构建脚本与 CMake 文档齐全
- 内置 Lua 脚本系统,便于扩展玩法与战役
- 社区活跃,翻译与文档体系成熟
- 玩法深度高,单机战役与多人对战兼备
缺点
- C++ 代码库庞大,编译依赖较多,上手门槛不低
- 完整构建耗时较长,对机器性能有一定要求
- 明确拒绝 AI 生成内容,贡献需人工原创
- 游戏美术与数值调优需要一定领域经验
Widelands 是什么
Widelands 是一款免费、开源的即时战略(RTS)游戏,灵感来自经典作品《工人物语 II》(Settlers II™),但在玩法广度和深度上都做了明显扩展。它提供单人战役与多人对战模式,支持 Linux、Windows、macOS 等主流平台。
项目采用 GPL-2.0 许可,部分美术资源使用 Creative Commons 系列许可,代码与素材均可自由研究与再分发。
核心特色
- 经典 RTS 经济体系:采集资源、建造建筑、扩张领土、训练军队,形成完整的生产链。
- 单人战役与多人对战:既有剧情驱动的战役关卡,也支持联机对抗。
- Lua 脚本扩展:战役、地图与玩法逻辑可通过 Lua 脚本编写,便于社区创作。
- 跨平台构建:官方支持 Linux、MSys2/MSVC 下的 Windows,以及 macOS。
技术栈与构建
游戏主体使用 C++ 编写,图形与音频依赖 SDL2 系列库(SDL、SDL_image、SDL_mixer、SDL_ttf),并配合 zlib、libpng、Asio、GLEW/glbinding 等组件。构建系统基于 CMake,同时提供便捷脚本。
# 安装依赖(脚本会自动识别系统)
./install-dependencies.sh
# 便捷编译脚本
./compile.sh -r -w # Release 构建
# 或手动使用 CMake
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make
编译完成后即可运行生成的 widelands 可执行文件。CMake 还提供 OPTION_BUILD_TESTS、OPTION_ASAN、USE_XDG 等选项,可按需开启测试与调试工具。
参与贡献
项目欢迎代码、战役脚本、美术与翻译等多方面的贡献:
- 代码:遵循 Google C++ 风格指南,主分支在 Codeberg 与 GitHub 之间双向镜像。
- 脚本:战役与地图脚本使用 Lua,官方提供 Lua API 文档。
- 美术与翻译:有专门的图形开发与本地化指南。
注意:项目明确不接受由 AI/ML/LLM 生成的内容,认为其存在版权与质量问题,相关 PR 可能被直接关闭。
适合谁
如果你对大型 C++ 游戏工程、RTS 经济与 AI 系统、Lua 游戏脚本,或开源游戏社区协作感兴趣,Widelands 是一个值得深入阅读与参与的项目。
评论
- 暂无评论,来写第一条吧。