openage README

The project's README from github.com/SFTtech/openage. As one markdown file: README.md.

openage

openage: a volunteer project to create a free engine clone of the Genie Engine used by Age of Empires, Age of Empires II (HD) and Star Wars: Galactic Battlegrounds, comparable to projects like OpenMW, OpenRA, OpenSAGE, OpenTTD and OpenRCT2.

openage uses the original game assets (such as sounds and graphics), but (for obvious reasons) doesn't ship them. To play, you require any of the original games (AoE1, AoE2) or their Definitive Edition releases.

github stars #sfttech on matrix.org GPL licensed

Contact

Contact Where?
Issue Tracker GitHub SFTtech/openage
Development Blog blog.openage.dev
Subreddit reddit /r/openage
Discussions GitHub Discussions
Matrix Chat matrix #sfttech:matrix.org
Money Sink money sink

Technical foundation

Technology Component
C++20 Engine core
Python3 Scripting, media conversion, in-game console, code generation
Cython Python/C++ Glue code
Qt6 Graphical user interface
CMake Build system
OpenGL Rendering, shaders
Opus Audio codec
nyan Content Configuration and Modding
Humans Mixing together all of the above

Goals

But beware, for sanity reasons:

Current State of the Project

Important notice: At the moment, "gameplay" is basically non-functional. We're implementing the internal game simulation (how units even do anything) with simplicity and extensibility in mind, so we had to get rid of the temporary (but kind of working) previous version. With these changes, we can (finally) actually make use of our converted asset packs and our nyan API! We're working day and night to make gameplay return*. If you're interested, we wrote detailed explanations on our blog: Part 1, Part 2, Monthly Devlog.

* may not actually be every day and night

Operating System Build status
Debian Sid Kevin CI status
Ubuntu 24.04 LTS Ubuntu 24.04 build status
macOS macOS build status
Windows Server 2019 Windows Server 2019 build status
Windows Server 2022 Windows Server 2022 build status

Installation Packages

There are many missing parts for an actually working game. So if you "just wanna play", you'll be disappointed, unfortunately.

We strongly recommend building the program from source to get the latest, greatest, and shiniest project state :)

If you need help, maybe our troubleshooting guide helps you.

Quickstart

Alternative approach: You can build and run the project using Docker. See Running with docker for more details.

All of those are features, not bugs.

To turn them off, use ./bin/run --dont-segfault --no-errors --dont-eat-dog.

If this still does not help, try our troubleshooting guide, the contact section or the bug tracker.

Contributing

You might ask yourself now "Sounds cool, but how do I participate and get famous contribute useful features?".

Fortunately for you, there is a lot to do and we are very grateful for your help.

Where do I start?

Ok, I found something. What now?

How do I contribute my features/changes?

I want to help, but I'm not a programmer...

Then openage might be a good reason to become one! We have many issues and tasks for beginners. You just have to ask and we'll find something. Alternatively, lurking is also allowed.


Cheers, happy hecking!

Development Process

What does openage development look like in practice?

How can I help?

All documentation is also in this repo:

License

GNU GPLv3 or later; see copying.md and legal/GPLv3.

I know that probably nobody is ever gonna look at the copying.md file, but if you want to contribute code to openage, please take the time to skim through it and add yourself to the authors list.

openage (SFTtech/openage)

Searching Database…

14.5K ·GitHub
这是什么?openage 是由志愿者开发的开源项目,是 Genie Engine 的复刻版本。Genie Engine 是 Age of Empires、Age of Empires II (HD) 和 Star Wars: Galactic Battlegrounds 所使用的引擎。该项目旨在用现代化、易于模组化的引擎,重现原版的游戏玩法。
这是完整游戏还是只是引擎?它是一个引擎,而不是独立的游戏。你仍然需要自己拥有原版 Age of Empires 或 AoE2(或其 Definitive Editions)的副本来提供游戏资源,因为 openage 本身并不附带这些资源。
我该如何构建并运行它?先克隆仓库,安装 doc/building.md 中列出的各平台依赖项,然后使用 CMake 构建。之后运行 'cd bin && ./run' 即可启动;如果不想在本地构建,也可以改用提供的 Docker 配置。
引擎底层的技术栈是什么样的?引擎核心使用 C++20 编写。Python3 负责脚本、媒体转换和代码生成,Cython 提供胶水层,Qt6 负责图形界面,OpenGL 负责渲染,Opus 负责音频,nyan 负责内容和模组配置。
我现在能完整玩一局吗?不能。README 中说明,在内部模拟系统重建期间,游戏玩法目前基本无法正常使用。而且目前也没有适用于 Linux、Windows 或 macOS 的现成安装包,因此你必须从源码构建。
它支持哪些操作系统?openage 面向 Linux、Windows 和 macOS。持续集成(CI)构建已在 Debian Sid、Ubuntu 24.04 LTS、macOS 以及 Windows Server 2019/2022 上进行过测试。
nyan 是什么?nyan 是 openage 自有的内容配置和模组描述语言,用于以易于修改的格式定义游戏数据,而不是把数值硬编码在程序中。
它能与原版游戏的在线服务互通吗?不能。这是有意的设计:openage 与原版 Age of Empires 在网络和二进制层面不兼容。它不会连接原版的多人游戏服务器,也不会直接复用其存档或地图格式。
AI 对手能使用机器学习吗?引擎提供了内置的 Python 控制台和 API,用于编写脚本来控制单位和游戏行为。项目明确的目标是让贡献者能够将机器学习应用于 AI 脚本编写。
What are similar projects?OpenRCT2, bgfx, luanti, Yakumo, SFML, tiled, entt, TrinityCore
Creator
SFTtech
Size
19 MB
Stars
14.5K
Age
12y
Commits · 90 Days