Yaeger is Another Education Game Engine Runtime, and a fully functional 2D game-engine that requires only a traditional Object-Oriented style of programming. It is based on JavaFX and requires Java 21 or above to work.
- API: https://han-yaeger.github.io/yaeger/
- Manual: https://han-yaeger.github.io/yaeger/book/
- Tutorial: Yaeger tutorial
- Showcase: Yaeger showcase
- Youtube: Howto setup a new project with IntelliJ
Yaeger requires JDK21, and is available through the Maven Central Repository.
<dependency>
<groupId>com.github.han-yaeger</groupId>
<artifactId>yaeger</artifactId>
<version>2023.2024</version>
</dependency>
Yaeger is to be used in a course that is part of the first year at the HAN University of applied sciences. Students just learned to master Object Orientation in the traditional sense and therefore the API of Yaeger is only targeted towards that use case. Fancy functional aspects (such as Streams and Lambda's) are used within Yaeger itself, but are not exposed through its API.
Because Yaeger will be used in an educational context, versioning will be based on school years. Thus version 2020.2021 will be used during the school year that start in September 2020 and ends in July 2021.
It is likely that the API will break between different versions. This is partially intended, since it is to be used in an educational context and there is no shame in preventing students from using previous iterations.
Contributing to Yaeger is encouraged, and we would love to review your Pull Requests. Either pick up one of the Issues or implement a feature you've been missing. Ensure that your feature does not require modern Java features to be exposed through the API.
The code and documentation in this project are released under the GNU General Public License v3.0