RεKiT is a platform jumper game in Java and AWT and has a self-written game engine to understand and modify.
The project is aiming to educate about software design and was created by students of the Karlsruher Institut für Technologie.
To simply play the game, download the latest ReKiT.jar on the releases page and launch by double clicking the jar-file.
If double clicking doesn't work, open a terminal and run the command java -jar <JAR-FILE>
in the correct folder.
The infinite level is randomly assembled from small components that can be modified The more varieties through structures and enemies there is, the more random this level becomes!
In contrast to the random infinite mode, there is also a set of predesigned levels to master. They introduce one special block and feature at a time but will always be challenging!
Levels can also be added via modding as shown in the example.
The Boss Rush is a quick way to challenge the games bosses, that have more complex movement and attack patterns than usual Enemies.
Currently, the game features
- 7 special blocks
- 12 arcade levels, infinite mode, boss rush mode
- 5 collectable items
- 8 enemies
- 2 bosses
To setup your workspace for viewing or altering the code follow these steps:
- Have eclipse with the Maven Eclipse plugin installed
- Clone the repository
- Switch workspace to the main directory (File -> Switch Workspace)
- Import every maven module in this directory (File -> Import -> Maven -> Existing Maven Projects)
- To compile the project click the run button after opening Main.java in the game module
There are auto-generated API-Docs available.
Addons are an easy way to add functionality without understanding the whole code.
Check out this example project on GitHub on how to create an addon.
Also, see this detailed instruction on adding levels.
Here is a list what can be added via addons:
Addable Feature | Super class and documentation | Example |
---|---|---|
Level | - | Adding levels |
Enemies | rekit.logic.gameelements.type.Enemy | Cannon |
Special blocks | rekit.logic.gameelements.type.DynamicInanimate | ClimbUpBox |
Bosses | rekit.logic.gameelements.type.Boss | RocketBoss |
Items | rekit.logic.gameelements.type.Pickup | BluePill |