Skip to content

LITIENGINE Documentation

Welcome to the official technical documentation for LITIENGINE, the free and open-source 2D Java Game Engine.


Documentation Sections

  • Get Started


    Install Java 25+, configure Gradle or Maven, understand project structure, and spawn your first game window.

  • Core Game API


    Explore game loops, 2D physics, camera tracking, input handling, and positional spatial audio.

  • utiLITI Editor


    Design maps, manage tilesets, edit sprite sheets, and script live game entities with the integrated Java scripting workspace.

  • Tutorials


    Step-by-step guides building a Top-Down Action Shooter, 2D Platformer, Brick Breaker, and AI-assisted game development.

  • Publish & Deploy


    Package standalone games for Windows, macOS, and Linux with Steam, itch.io, Launch4j, and Savegame Persistence.

  • Community & Sponsors


    Explore sponsorship tiers, our FAQ, Engine Roadmap, and Release Notes.


Quick Setup

Add LITIENGINE to your project build configuration:

repositories {
  mavenCentral()
}

dependencies {
  implementation("de.gurkenlabs:litiengine:0.13.0")
}
repositories {
  mavenCentral()
}

dependencies {
  implementation 'de.gurkenlabs:litiengine:0.13.0'
}
<dependency>
  <groupId>de.gurkenlabs</groupId>
  <artifactId>litiengine</artifactId>
  <version>0.13.0</version>
</dependency>

Development Builds

Looking for development builds and bleeding-edge features? See Snapshot Versions.


Your First LITIENGINE Window

Start your first LITIENGINE application in a few lines of Java:

src/main/java/com/example/game/Program.java
package com.example.game;

import de.gurkenlabs.litiengine.Game;

public class Program {
  public static void main(String[] args) {
    Game.info().setName("My First LITIENGINE Game"); // (1)!
    Game.info().setVersion("1.0.0"); // (2)!

    Game.init(args); // (3)!
    Game.start(); // (4)!
  }
}
  1. Sets application metadata displayed in window title bars and logger outputs.
  2. Sets application version string (1.0.0).
  3. Initializes LITIENGINE's core infrastructure, including configuration, window and rendering infrastructure, input, physics, the game loop, and the default camera.
  4. Starts the game loop and runtime systems such as audio and tweens.

Run this class and LITIENGINE opens your first game window!


Next Step: Load Your First Map

Once you create a .litidata resource bundle in the utiLITI Editor, load and start your game environment:

src/main/java/com/example/game/Program.java
package com.example.game;

import de.gurkenlabs.litiengine.Game;
import de.gurkenlabs.litiengine.resources.Resources;

public class Program {
  public static void main(String[] args) {
    Game.info().setName("My First LITIENGINE Game");
    Game.info().setVersion("1.0.0");

    Game.init(args);
    Resources.load("game.litidata"); // (1)!
    Game.world().loadEnvironment("level1"); // (2)!
    Game.start();
  }
}
  1. Loads a .litidata resource bundle created with utiLITI.
  2. Loads the specified map as the active game environment.

Ready to build your world? Follow the next guide:

Next: Create Your First Project & Map with utiLITI


Community & Resources

Looking for general game engine news, indie showcase games, forum discussions, or downloads?


Support & Sponsor LITIENGINE

LITIENGINE is 100% free, independent, and open source. If LITIENGINE helps you build your games, please consider backing the project: