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


JLud2D is an old-school engine for games, currently in Java 8. It is compatible with Tiled maps, RPG-style characters and sprites, and MP3, MIDI, VGM, S3M, MOD and XM music formats.


The engine provides useful classes and methods for rapid development.

Below is an example of switching from a map to another one:

	void exit() {
		mapswitch(Planet.PALMA, 84, 49);		

Here is an example of a map script used when talking with an entity:

 void robot() {
		PSMenu.Stext("You are trespassing. Go back!"));

List of Features

  • 2D Engine;
  • Multi-plataform;
  • Tiled support (JSON format), a free, easy to use and flexible tile map editor;
  • You could run and debug the game code in some advanced IDE like Eclipse or Netbeans;
  • Music formats: MP3, MIDI, VGM, S3M, MOD and XM;
  • Sound formats: WAV, VOC and MP3;
  • Graphic formats: PNG, JPG, GIF, PCX and others - basically all you can load using Java;
  • Easy-to-use API;
  • Suitable for 2D board games, RPG games, platform games and many more.

Getting Started: I want to play

You can download just the demo / game you want to play and execute it with Java 8 command line:

java -jar Demo.jar

They are located in the /redist folder.

Some important notes

  • F5 for sound off/on
  • F6 for full screen
  • F7/F8 to increase/decrease frame delay.

Getting Started: I want to develop

JLud2D uses Maven as a Dependency Management system. An intermediate to experienced Java developer should have no problem working with the repository. Feel free to fork it and contribute.


Planned features:

  • Caching for fast loading
  • Implement music volume
  • Joystick support
  • Socket implementation
  • Movie playback implementation
  • LUA parser for easy scripting
  • Mobile support
  • Check 3D API with fixed-z (~2D) to enable Video optimization

Bugs and Updates:

  • Check VGM loops (right now they aren't looping)
  • VGMs don't play, just VGZ.
  • Implement key mapping (b1,b2,b3,b4)
  • Verify ColorFilter, Implement Rotate, Flip, etc (See Graphics2d Rotate, Scale, etc)
  • Make it more OO (less static methods, no public properties, no static imports)
  • Entities' movement get screwed after talking to them
  • Investigate why sometimes the transparency stops working (when swapping window/full screen)


2D old-school Engine for Games






No releases published


No packages published