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 с открытым исходным кодом, созданный добровольцами. Этот движок используется в Age of Empires, Age of Empires II (HD) и Star Wars: Galactic Battlegrounds. Цель проекта — воссоздать оригинальный игровой процесс на современном движке, который легко модифицировать.
Это полноценная игра или только движок?Это движок, а не самостоятельная игра: для работы всё равно нужна собственная копия оригинальной Age of Empires или AoE2 (или их версии Definitive Edition), так как 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 для описания контента и модов. Он позволяет задавать игровые данные в удобном для модификации виде, а не через жёстко прописанные значения в коде.
Работает ли оно с онлайн-сервисами оригинальной игры?Нет, по замыслу никакой сетевой или бинарной совместимости с оригинальной Age of Empires нет: openage не подключается к её серверам мультиплеера и не использует напрямую её форматы сохранений и карт.
Могут ли ИИ-противники использовать машинное обучение?Движок предоставляет встроенную консоль Python и API для написания скриптов, которые управляют поведением юнитов и игры. Заявленная цель проекта — дать участникам возможность применять машинное обучение для скриптов ИИ.
What are similar projects?OpenRCT2, bgfx, luanti, Yakumo, SFML, CursedTomorrow, tiled, entt
Creator
SFTtech
Size
19 MB
Stars
14.5K
Age
12y
Commits · 90 Days