openage

SFTtech活跃维护

用 C++ 重写《帝国时代 II》游戏引擎,让玩家在 Linux 等平台原生运行这款经典 RTS,并支持加载原版游戏资源。

Clone of the Age of Empires II engine 🚀

v0.6.0发布于 2024-11-26 15:27 UTC14,593star +6 / 7 天1,286fork同步于 2026-11-10 05:27 UTC

怎么上手

README 里没有找到可直接复制的安装命令

README 里没有找到可直接复制的安装命令,请到 README 或官方文档查看安装方式。

硬件要求

README 没有说明硬件要求。

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

这个项目的说明还在生成中,先参考下面「最近发版」和 README。

最近发版

5 个版本v0.6.0
  1. v0.6.0openage v0.6.0 release最新正式版2024-11-26 · 2024-11-26 15:27 UTC

    openage 0.6.0

    This release expands and overhauls existing new engine components relevant for gameplay. Pathfinding is now implemented using a flow field pathfinder that enables smooth pathing over the terrain. We also added a new entity behavior system based on node graphs (activity system) that is configurable via the API. Additionally, several additional assets can now be loaded from modpacks via the API, e.g. terrain graphics.

    Highlights

    • New flow field pathfinder
    • Activity system for node-based unit behavior configuration graphs
    • Massive performance improvements

    Full Changelog

    https://github.com/SFTtech/openage/blob/master/doc/changelogs/engine/v0.6.0.md

    What's Changed

  2. v0.5.3openage v0.5.3 release2023-12-18 · 2023-12-18 12:28 UTC
    查看更新说明

    Fixes a bunch of small errors and removes a lot of legacy code, making the engine easier to build.

    Also, the dependencies SDL2 and SDL2_Image are no longer required!

    What's Changed

    New Contributors

    Full Changelog: https://github.com/SFTtech/openage/compare/v0.5.2...v0.5.3

  3. v0.5.2openage v0.5.2 Release2023-10-17 · 2023-10-17 20:15 UTC
    查看更新说明

    Adds a few fixes for macOS and release builds. The version number should also be correctly display now.

    What's Changed

    New Contributors

    Full Changelog: https://github.com/SFTtech/openage/compare/v0.5.1...v0.5.2

  4. v0.5.1openage v0.5.1 Release2023-10-08 · 2023-10-08 16:55 UTC
    查看更新说明

    Adds a few fixes for clang and startup errors.

    What's Changed

    New Contributors

    Full Changelog: https://github.com/SFTtech/openage/compare/v0.5.0...v0.5.1

  5. v0.5.0openage v0.5.0 Release2023-10-03 · 2023-10-03 10:43 UTC
    查看更新说明

    openage_modpack_units

    This is the first release featuring the new architecture changes, unified internal interfaces, and new game data formats. It provides a stable basis for further improvements. The gameplay found in this release is not much more than a tech demo, so don't expect too much from running it.

    Highlights

    • New game data conversion with support for all Genie games:
      • Age of Empires 1 (1997)
      • Age of Empires 1: Definitive Edition
      • Age of Empires 2 (1999)
      • Age of Empires 2: HD Edition
      • Age of Empires 2: Definitive Edition
      • Star Wars Galactic Battlegrounds
      • Age of Empires 2 (Trial Version) for demoing the engine
    • New OpenGL renderer
      • threaded rendering
      • 15x speedups in comparison to previous renderer
    • New game simulation workflow
      • event-based simulation
      • backed by nyan database for game data
      • component-based architecture
    • New input system
    • Extended documentation

    Changelog

    https://github.com/SFTtech/openage/blob/master/doc/changelogs/engine/v0.5.0.md

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    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

    ContactWhere?
    Issue TrackerGitHub SFTtech/openage
    Development Blogblog.openage.dev
    Subredditreddit /r/openage
    DiscussionsGitHub Discussions
    Matrix Chatmatrix #sfttech:matrix.org
    Money Sinkmoney sink

    Technical foundation

    TechnologyComponent
    C++26Engine core
    Python3Scripting, media conversion, in-game console, code generation
    CythonPython/C++ Glue code
    Qt6Graphical user interface
    CMakeBuild system
    OpenGLRendering, shaders
    OpusAudio codec
    nyanContent Configuration and Modding
    HumansMixing together all of the above

    Goals

    • Fully authentic look and feel
      • This can only be approximated since the behavior of the original game is mostly undocumented, and guessing/experimenting can only get you this close
      • We will not implement useless artificial limitations (max 30 selectable units...)
    • An easily-moddable content format: nyan yet another notation
    • An integrated Python console and API, comparable to blender
    • AI scripting in Python, you can use machine learning
    • Re-creating free game assets
    • Multiplayer (obviously)
    • Matchmaking and ranking with a haskell masterserver
    • Optionally, improvements over the original game
    • Awesome infrastructure such as our own Kevin CI service

    But beware, for sanity reasons:

    • No network compatibility with the original game. You really wanna have the same problems again?
    • No binary compatibility with the original game. A one-way script to convert maps/savegames/missions to openage is planned though.

    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 SystemBuild status
    Debian SidKevin CI status
    Ubuntu 26.04 LTSUbuntu 26.04 build status
    macOSmacOS build status
    Windows Server 2019Windows Server 2019 build status
    Windows Server 2022Windows 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 :)

    • For Linux check at repology if your distribution has any packages available. Otherwise, you need to build from source. We don't release *.deb, *.rpm, Flatpak, snap or AppImage packages yet.

    • For Windows check our release page for the latest installer. Otherwise, you need to build from the source.

    • For macOS we currently don't have any packages, you need to build from source.

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

    Quickstart

    • How do I get this to run on my box?
      1. Clone the repo.
      2. Install dependencies. See doc/building.md to get instructions for your favorite platform.
      3. Build the project:
      ./configure --download-nyan
      make
      

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

    • I compiled everything. Now how do I run it?

      • Execute cd bin && ./run main.
      • The convert script will transform original assets into openage formats, which are a lot saner and more moddable.
      • Use your brain and react to the things you'll see.
    • Waaaaaah! It...

      • segfaults
      • prints error messages I don't want to read
      • ate my dog

    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?

    • Check the issues labelled with good first issue. These are tasks that you can start right away and don't require much previous knowledge.
    • Ask us in the chat. Someone there could need help with something.
    • You can also take the initiative and fix a bug you found, create an issue for discussion or implement a feature that we never thought of, but always wanted.

    Ok, I found something. What now?

    • Tell us, if you haven't already. Chances are that we have additional information and directions.
    • Read the docs. They will answer most "administrative" questions like what code style is used and how the engine core parts are connected.
    • Read the code and get familiar with the engine component you want to work with.
    • Do not hesitate to ask us for help if you do not understand something.

    How do I contribute my features/changes?

    • Read the contributing guide.
    • You can upload work-in-progress (WIP) versions or drafts of your contribution to get feedback or support.
    • Tell us (again) when you want us to review your work.

    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:

    • Code documentation is embedded in the sources for Doxygen (see doc readme).
    • Have a look at the doc directory. This folder tends to get outdated when code changes.

    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.