Hello and welcome to our monthly openage recap. This month involved a significant amount of work reviewing, fixing
pre-release code, and then preparing the publishing of said release. Even if there's currently not much
going on feature-wise, there's a lot happening in the development process.
Version 0.5.0 Release
As some of you may have noticed, openage 0.5.0 has been released on GitHub.
It's the first major release in a while and we are very proud of what we pulled off. 0.5.0 introduces the new architecture
and is something that we can easily improve and build on. Avid readers of the News posts should already know what's in the release,
so we'll spare you the details. For everyone else, take a look at the release highlights.
Let's just hope the next release won't take as long ;) ahem
What's coming for 0.6.0?
We are not totally sure yet where to start with 0.6.0 and what exactly will be part of the next release. Right now, the
consensus is that we try to improve on 0.5.0 and add more features that directly support gameplay, e.g.:
- HUD rendering (or parts of it)
- Proper unit selection
- Collision & Pathfinding
- Configurable inputs
- Audio Support
While implementing these, new gameplay features will probably be added in parallel depending on what we think is doable.
Before we start thinking about new features though, we also have some project maintainance work to take care of.
On our GitHub, we've already introduced new project boards
to track the development progress. We're additionally planning to add a bunch of new beginner issues for new contributors,
which also have their own board. Furthermore, the should be a bugfix release
coming soon that addresses a few compilation errors and engine startup problems.
Legacy Code Cleanup
While 0.5.0 in practice only uses the new architecture flow, most pre-0.5.0 legacy code has so far remained in the code base.
We couldn't remove it previously because there were a giant amount of interdependencies in the legacy subsystems and removing
them while also working on other parts of the engine would have been a nightmare. Now that 0.5.0 is out and running without
relying on the old legacy subsystems, we can clean up what's left.
Since release 0.5.0, we have started the process of removing the legacy code subsystem by subsystem (see PR#1556).
Currently, it looks like about ~40,000 lines will eventually be removed (compared to ~65,000 lines added for
the new architecture). We have also identified some parts that are still salvagable and can be transferred to the
new architecture such as:
- Audio Manager (has to be ported from SDL to Qt)
- Parts of the GUI (only needs new engine interface)
- Some Game Logic (terrain generation, score calculation)
We will focus on cleanup tasks publishing fixes for the current release first. After that is done, we will pick a new feature
to work on, probably something "simple" like unit selection. As always, you will learn about it next month at the latest!
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: