Openage Development News: July 2023

Welcome to another monthly update for openage. This month's progress does not involve a lot of code changes as we are preparing for the next release. Nevertheless there is a bunch of new stuff that's not code that we can tell you about.

Architecture Documentation

A lot of work has gone into cleaning up the architecture documentation to include all new/rewritten engine subsystems. If you have followed our monthly News posts in the last months, you have basically already seen an abridged version of the contents. The documentation just adds a lot more technical details and fancy diagrams. Overall, the documentation PR probably contain about 20 pages of new text.

In summary, there are completely new docs for the following subsystems: - Event System - Game simulation and all its sub-components: - Components - Systems - Event-based game logic - Time management - Curves

We also removed a bunch of old stuff for code that is now removed or deprecated and updated outdated information. The only thing remaining to be reworked is our website, although this shouldn't take much effort.

Next Release Plan

We are currently preparing for a new release v0.5.0 that will happen soon-ish, maybe even in August. This release will still not really be a "usable" release for casual users. However, it is an important milestone since it will be the first release where all new engine subsystems work together and the basic architecture outline is clear. In theory, this should also make outside contributions easier but we will have to see about that. There is a lot of legacy code that has to remain part of v0.5.0, so jumping into the code might not be that pleasent yet. We will use subsequent v0.5.X releases to refactor and clean up the legacy parts of the codebase.

Release v0.5.0 will add a few more interactable demos that show off what the engine is capable of. Basically, this will be similar to the things you've seen in previous news posts but a bit larger in scope. It should work as a minimal example on how to use the engine for someone that wants to contribute. There will also be a stresstest demo that checks overall engine performance and could help us to locate bottlenecks in the code.

What's next?

Preparartion for the next release will be our major focus. Apart from merging the docs and implementing the demos mentioned above, there also are a few minor bugs and annoyances left to fix.

Questions?

Any more questions? Let us know and discuss those ideas by visiting our subreddit /r/openage!

As always, if you want to reach us directly in the dev chatroom:

  • Matrix: #sfttech:matrix.org

links

stalking