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