2D old-school Engine for Games
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
redist
screenshots
src
test/demos/ps
.classpath
.gitignore
.project
README.md
pom.xml

README.md

JLud2D

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.

Overview

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() {
		EntStart();
		PSMenu.Stext("You are trespassing. Go back!"));
		EntFinish();
	}

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.

Tips

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)