Jelly Dude
ReleasedSource code: GitHub
This was my Bachelor thesis project where I decided to build a custom game engine running on JVM by using LibGDX, Kotlin and a bunch of other libraries for physics and similar. My goal was to create a modular ECS architecture where I could easily add and remove features; mod the game using a scripting language (using JavaScript); create levels quickly using Tiled.
I think I managed to get pretty far having a majority of the systems you’d expect in an engine, though most systems are prototype-tier as I wanted to try out too much. However, surprisingly, making a custom game engine by using bits from libraries is not that hard, and added benefits such as hot-reload of code/levels is a huge boost.
The gimmick for the project was soft-body physics that I’ve achieved by simulating a mass-spring system with the help of Box2D and some shady physics hacks. It supports soft-bodies for players and primitive-shaped entities which can be positioned during edit time or spawned at runtime.
The project is a bit outdated now, and I haven’t published a release with an executable, though I think it’s still worth checking out and should build with minor tweaks.
I’ve also created a development YouTube playlist which shows the engine and the game in various dev stages.
TODO: create a GitHub release and make it build