Back to the blog
Development / DEVELOPMENT NOTES

Building a 3D level editor with Java and libGDX

Geometry, entities, lighting, and tools for building 3D scenes with a retro aesthetic.

3D level editor interface

After the 2D level editor, I wanted to explore creating scenes in three dimensions. The result is a Java application built with libGDX, using OpenGL to render the scene.

The look is deliberately retro. The project focuses on connecting editing tools to the data that describes a level.

3D level editor interface

Working with documents

3D editor document toolbar
  • New document: opens a wizard for creating a level.
  • Load: selects an existing document.
  • Save: writes changes to disk.
  • Undo and redo: moves backwards and forwards through editing changes.

The parts of a scene

3D editor tools panel
  • Blocks: chooses the geometry and textures for each block’s faces.
  • Entities: adds models in .g3db format, with rotation and scale settings.
  • Decals: places flat elements in 3D space, facing the camera to create a 2.5D appearance.
  • Environment: configures ambient lighting, point lights, and the background or skybox.
  • Tools: groups utilities such as event-zone creation and street generation.

The source shows how these options fit into a scene-authoring tool.

Source code

Explore the project on GitHub

Written by Sergio Soriano

Development, curiosity, and shared projects.

About Sergio Soriano