Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Raycast Engine

Raycast Engine is a multipurpose game engine. It is designed for Pseudo-3D games (Wolfenstein-3D style).

It has:

  • Multiplayer
  • Pseudo-3D rendering from a 2D map
  • Fast, quadtree-based collision checking
  • Multithreading, with rendering and game ticks running on separate threads

The engine loads levels (known as worlds) from JSON files. JSON worlds are then deserialized and loaded into the game. A world file can specify a custom deserializer to be used, allowing for custom logic when loading in the world.

The default world serializer is powerful, and can create game objects from a class name and arguments for the constructor. The engine contains a large amount of [de-]serialization utilities, so custom world serializers can be made with ease.

The engine has first-class support for add-ons/mods: an installation will contain a mods directory, and jars placed in there will be loaded into the classpath (there will, at some point, be a more sophisticated system for loading mods.)

The engine supports single- and multi-player games: multiplayer support is easy to add to your game objects, by adding the correct serialization methods. Member variables of game objects can be set to automatically sync from server to client simply using the synced delegate.

The engine is still very WIP - planned features include:

  • A main menu
  • Leaving/rejoining worlds
  • HUD/in-game GUI support
  • An inventory for players
  • A debug console in-game, quake-style

Creating add-ons/mods

Firstly, add the raycast-engine jar to your libraries. Then, just write some classes, such as GameObjects or Worlds, and build the jar. No need to register your mod or anything. Then add your jar to the mods folder and run!


πŸ“· A pseudo-3D raycast-rendering game engine made with Kotlin and LWJGL. Think Wolfenstein 3D!








No releases published


No packages published