Skip to content

han-yaeger/yaeger

Repository files navigation

Yaeger

Java CI codebeat badge CodeFactor Quality Gate Status Maven Central License: GPL v3

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.

Documentation

Usage

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>

Modern Java, but an API with only traditional Object Orientation?

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.

Versioning

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.

Breaking changes

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.

Contributions

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.

License

The code and documentation in this project are released under the GNU General Public License v3.0