Releases: SFTtech/openage
openage v0.6.0 release
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
- Update README.md by @Mr-Bajs in #1612
- Mention dependencies in changelog by @heinezen in #1613
- nyan data API v0.4.1 by @heinezen in #1608
- Configurable Activities by @heinezen in #1609
- Drag Selection by @heinezen in #1603
- Multi-threaded media export by @heinezen in #1617
- Fix tabs in multi-line comments by @heinezen in #1619
- Queue curve rework by @heinezen in #1616
- Log creation of OpenGL objects by @heinezen in #1626
- Raise errors inside multiprocessing thread by @heinezen in #1625
- Fix logging in multi-threaded conversion by @heinezen in #1627
- Always use CWD as DLL search path on Windows by @heinezen in #1628
- Fix: typos by @RoboSchmied in #1630
- feat: added flake by @akiross in #1631
- Add freeze_support() before using multiprocessing by @heinezen in #1632
- Fix Markdown rendering of input system README by @heinezen in #1634
- GDB pretty printers by @heinezen in #1633
- Coordinate types pretty print by @heinezen in #1636
- Turn off vsync for renderer stresstest by @heinezen in #1638
- Move subtex scaling to shader by @heinezen in #1639
- Force install pip packages in macOS CI by @heinezen in #1643
- Fix order of processing input contexts by @heinezen in #1640
- Port curve container types to
std::vector
by @heinezen in #1635 - docs: update NixOS wiki link by @m15a in #1646
- Layer support in renderer by @heinezen in #1645
- Enhance DLL search on Windows by @heinezen in #1649
- Fix missing imports for gcc 14 by @heinezen in #1652
- Fix copyright years. by @heinezen in #1653
- Fix cask install for brew by @heinezen in #1654
- Make
util::constexpr_
consteval by @heinezen in #1658 - Flowfield pathing by @heinezen in #1620
- Frustum culling by @nikhilghosh75 in #1642
- nyan API v0.5.0 by @heinezen in #1647
- Update converter for nyan API v0.5.0 by @heinezen in #1648
- Frustum culling documentation by @heinezen in #1662
- docs: Add note about linuxmint issue on ubuntu dependencies by @fabiobarkoski in #1661
- Fix DE2 conversion for 'The Mountain Royals' expansion by @heinezen in #1663
- doc: Correct usage of
--palettes-path
argument by @heinezen in #1665 - Vectorize uniform inputs by @heinezen in #1664
- Remove string splits with
\r
from renderer resource parsers by @heinezen in #1667 - Check for outdated modpacks on startup by @heinezen in #1670
- Change recommended entrypoint for Windows build by @heinezen in #1689
- Make component classes
final
by @heinezen in #1687 - Update syntax of GlUniformBuffer to match that of GlUniformInput #1683 by @EdvinLndh in #1690
- Update README.md by @PRIYANKjakharia in #1694
- Fix tex unit assignment to
std::optional
type by @heinezen in #1695 - Deactivate
_PyTraceback_Add
by @heinezen in #1697 - Update macOS instructions by @heinezen in #1698
- Fix thread-safe access for render entities by @heinezen in #1692
- Integrate flow field pathfinder into game simulation by @heinezen in #1656
- Clang format rule: Indent preprocessor directives by @heinezen in #1702
- Make comparisons not ambiguous (fixes clang warnings) by @heinezen in #1703
- includes DbgHelp.h after windows.h to prevent errors by @jere8184 in #1705
- Renderer: Added camera boundaries to CameraManager and clamping #1682. by @EdvinLndh in #1691
- File system api c++: added support for creating temp. files and directories by @alamt22 in #1706
- Pathfinding: Precomputeportal nodes for A Star by @jere8184 in #1708
- Fix definition of static functions for creating temp files/dirs by @heinezen in #1709
- small fix by @jere8184 in #1711
- Convert Battle for Greece DLC by @heinezen in #1712
- data structure: implement pairing heap without use of shared_ptr by @jere8184 in #1713
- Fix portal node initialization by @heinezen in #1715
- Change type of 'effect_apply_type' to 'uint8_t' by @heinezen in #1716
New Contributors
- @Mr-Bajs made their first contribution in #1612
- @RoboSchmied made their first contribution in #1630
- @akiross made their first contribution in #1631
- @m15a made their first contribution in #1646
- @nikhilghosh75 made their first contribution in #1642
- @EdvinLndh made their first contribution in #1690
- @PRIYANKjakharia made their first contribution in #1694
- @jere8184 made their first contribution in #1705
- @alamt22 made their first contribution in #1706
Full Changelog: v0.5.3...v0.6.0
openage v0.5.3 release
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
- Fix version tag regex failure when HEAD is tagged by @heinezen in #1583
- doc: Fix typos in converter by @fabiobarkoski in #1588
- Remove dangling refs in modpack info load by @heinezen in #1589
- Neutralize remaining instances of gendered language by @leetfin in #1590
- Fix typos by @zoli111 in #1593
- Temporary file/directory creation by @Ashhar-24 in #1594
- Converter debug by @fabiobarkoski in #1591
- Fix append mode not available by @heinezen in #1595
- Check OpenGL format correctly on Wayland by @heinezen in #1597
- Dynamically fetch default FBO by @heinezen in #1598
- Add
atan2
toFixedPoint
by @askastitva in #1587 - Mirror anchor offset when flipping is active by @heinezen in #1600
- PR templates by @heinezen in #1599
- Use block indent for aligning after open brackets by @heinezen in #1602
- complete if-else branch to fix pylint error by @AyiStar in #1604
- Make 'main' the default entrypoint by @heinezen in #1606
- Revert "Merge pull request #1602 from heinezen/clang-format-align" by @heinezen in #1605
- Add math constants corresbonding to
util/math_constants.h
for FixedPoint by @AyiStar in #1607 - Add setuptools as conditionl dependency by @heinezen in #1610
- Remove legacy subsystem code by @heinezen in #1550
- Changelog release 0.5.3 by @heinezen in #1611
New Contributors
- @fabiobarkoski made their first contribution in #1588
- @leetfin made their first contribution in #1590
- @Ashhar-24 made their first contribution in #1594
- @askastitva made their first contribution in #1587
- @AyiStar made their first contribution in #1604
Full Changelog: v0.5.2...v0.5.3
openage v0.5.2 Release
Adds a few fixes for macOS and release builds. The version number should also be correctly display now.
What's Changed
- Fix an inappropriate test expression to remove a logical short circuit by @munahaf in #1559
- Fix out of bound access in matrix constructor by @heinezen in #1570
- Let
make run
callmain
sumodule instead ofgame
by @heinezen in #1575 - Allow non-annotated tags from git for setting version by @heinezen in #1576
- Check if clang jthread is joinable before joining by @heinezen in #1577
- Prevent engine loop from being optimized out in release builds by @heinezen in #1578
- Modpack load fixes by @heinezen in #1579
- Add AUR instructions for installing
toml11
by @heinezen in #1580 - Fix timestamp of video in README by @heinezen in #1582
- Changelog release
0.5.2
by @heinezen in #1581
New Contributors
Full Changelog: v0.5.1...v0.5.2
openage v0.5.1 Release
Adds a few fixes for clang and startup errors.
What's Changed
- Update actions by @rettinghaus in #1554
- Fix clang build by @heinezen in #1560
- Make asset location cache file write more robust by @heinezen in #1561
- Always handle asset path as
UnionPath
by @heinezen in #1563 - Add missing asset directories to CMakeLists by @heinezen in #1565
- Changelog release
0.5.1
by @heinezen in #1567
New Contributors
- @rettinghaus made their first contribution in #1554
Full Changelog: v0.5.0...v0.5.1
openage v0.5.0 Release
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
Last release before lockstep removal
This is the last working version containing the old lockstep gamestate. Further releases will use the curves logic, the nyan API and the nyan converter.
4 years of progress
Nightly Builds
If you closely want to follow our development branch, you can find our nightly builds here.
Beware!
This is more of a tech demo than a playable game. Expect all kinds of breakage. YOLO.
Please give feedback for potential problems in our Matrix channel or on reddit.
If you want to support our development, you can do that on liberapay.com/SFTtech
Changelog
So much progress..
Highlights
- Event-driven gamestate preparations
- Link to nyan library
- New renderer implementation (partial)
- Convert African Kingdoms data (up to HD version 4.3)
- Cache files for asset loading
- Modding API specification (v0.2)
- Out-of-source tree builds
- Windows MSVC builds and Windows 64-Bit installer
Visible changes
- Scrolling only when windows is in focus
- Middle part of the lower UI
- Pop space (old gamestate)
- Market resource prices (old gamestate)
- Building costs and resource amounts (old gamestate)
Instructions
- Download and check hash
- Install
- Set a new environment variable AGE2DIR to the path of your Age2-directory. You could also add that in the openage.bat-file, if you like.
NOTE: We support Age2-Versions until HD4.3 and old AoC 1.0c, if you have the last Steam-Version read below. - Double-click openage.bat
- Wait for the conversion of the assets
- Enjoy
How to set AoE2HD to Version 4.3
- Make a backup of your existing Age2HD-folder
NOTE: Standard path isC:\Program Files (x86)\Steam\steamapps\common\Age2HD
- Open Steam library
- Right-click on "Age of Empires II: HD Edition" and click on
Properties
- Go to
Betas
- Choose
Patch43
- Close the window and wait for the download to finish
Win10-x64_v0.3.0-alpha Installer
Beware!
This is a installer of openage-v0.3.0-alpha for Windows 10 (64-bit). Use it with caution, it is an early alpha state.
Please give feedback for potential problems in our Matrix channel or on reddit.
If you want to support our development, you can do that on liberapay.com/SFTtech
Instructions
- Download and check hash
- Install
- Set a new environment variable AGE2DIR to the path of your Age2-directory. You could also add that in the openage.bat-file, if you like.
NOTE: We support Age2-Versions until HD4.3 and old AoC 1.0c, if you have the last Steam-Version read below. - Double-click openage.bat
- Wait for the conversion of the assets
- Enjoy
How to set AoE2HD to Version 4.3
- Make a backup of your existing Age2HD-folder
NOTE: Standard path isC:\Program Files (x86)\Steam\steamapps\common\Age2HD
- Open Steam library
- Right-click on "Age of Empires II: HD Edition" and click on
Properties
- Go to
Betas
- Choose
Patch43
- Close the window and wait for the download to finish
Known Problems
- If you have two (or more) different python installations on your computer try to unset the directory of your own python installation from PATH to make sure
openage.bat
takes the one from the installDir. - Usually it should not give any problems, but if you have Wololo Kingdoms installed and installed mods that change the base assets the converter will not work. A workaround would be to make a backup of your AGE2 directory, let the AGE2DIR environment variable point to that backup and in that backup inside
AGE2/resources
delete all files except folders. Another workaround would be to backup your AGE2 folder and redownload it to have a clean install. After conversion you replace it with the backup.