AX 爱鲜报

Widelands 开源即时战略游戏

Widelands 是一款受《工人物语 II》启发的免费开源即时战略游戏,拥有单人战役与多人对战模式,内容更丰富、玩法更有深度。使用 C++ 编写,支持 Linux、Windows、macOS 等平台。

爱鲜报评分

0.0

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 是一个值得深入阅读与参与的项目。

评论

登录后才可评论与评分

0 条评论

  • 暂无评论,来写第一条吧。