Road Map

Latest release of the Limon Engine is 0.7. This page tracks the development plan up to 1.0. Information here is subject to change.

Version 0.6

Main goal was fighting mechanics. All items implemented.

  1. Asset discovery automatic, instead of manual asset list.

  2. Model attachment to player -for carrying weapons.

  3. Input listening from triggers -for attack actions.

  4. Raycast to cursor with distance -for hit detection.

  5. Distance-to-player provided to AI Actors -for melee range checks.

  6. Trigger ↔ Actor communication -for hit events.

  7. Quad decals -for bullet holes etc.

  8. Player hit mechanics exposed via API.

Version 0.7

All items implemented.

  1. Material editor -global material registry with per-model copy-on-write editing.

  2. Particle emitters -CPU and GPU particle emitters with full runtime API.

  3. Shadow mapping improvements -staggered cascade rendering, point light cube map shadows.

  4. Node-based render pipeline editor -visual pipeline configuration with forward and deferred configurations shipped.

  5. SIMD software occlusion culling -SSE4.1 on x86, NEON on AArch64 (Apple Silicon, Raspberry Pi 4/5).

  6. Automatic LOD generation -meshoptimizer, 4 LOD levels per model.

  7. Python scripting -full LimonAPI surface via pybind11, multi-interpreter, all five extension types implementable in Python.

  8. Camera Attachment -fourth user extension point: registered, configurable cameras (perspective and orthographic) wrapped in first-class CameraRig scene objects, enabling third-person, isometric, top-down, and custom cameras.

  9. RenderMethod Extension -fifth user extension point for custom GPU rendering primitives.

  10. Asset browser -typed tree with model preview using world lighting.

  11. limonmodel native format -near memory-direct layout for fast release builds.

  12. Debug line draw API -3D world-space coloured lines via ID-based buffer system.

  13. In-game logger overlay -transparent, toggleable, with C++ and Python API.

  14. Tracy profiling -embedded flame graph in editor, GPU zones from pipeline config, profileScope API.

    • Keyboard, mouse, and gamepad/controller input are all natively supported through the named-action input system and rebindable via Engine/inputBindings.xml. Devices outside SDL’s GameController mapping (flight sticks, racing wheels) are reachable through raw joystick button bindings. See Input System.

Planned for 0.8

  1. Navigation reimplementation -switch to dynamic navmesh generation and steering.

  2. GUI system extension -proper layout engine, input widgets, etc.

  3. Editor updates -undo/redo, usability improvements.

  4. Reference search in editor -e.g. search by animation, returning all objects referencing that animation, to help game development troubleshooting.

  5. Improve animation system with masking and blend trees.

  6. Projected decals (Optional).

Before 1.0

  1. Generate AI navigation mesh from AI navigation grid. Serialize it with map. Done

  2. Make world a tree, and allow modifications to groups. Done

  3. Mixamo animation support. Done

  4. Object culling. Done (SIMD software occlusion culling)

  5. File logger. Done (in-game logger overlay)

  6. Custom shaders. Done (via pipeline editor and RenderMethod extension point)

  7. Python scripting support. Done

  8. Options can’t be set using GUI, they should have.

  9. Directory listings should auto generate for assets, with refresh support. Partial -no refresh.

  10. Stair support.

  11. Editor undo/redo.

  12. Auto-align objects.

  13. Spot lights.

  14. Opacity handling improvements.

Known Limitations in 0.7

The following limitations are confirmed in version 0.7:

Rendering and Assets

  • Model scaling is imported directly from the source file - no automatic correction is applied. Incorrect scale must be fixed in the editor.

  • Aggressive engine-wide LOD settings can produce visible mesh pop-in. Tune the LodDistanceList option for your scene.

  • Raspberry Pi 4/5 is affected by an upstream Mesa driver bug causing a visual artefact. A ticket is open on the public Mesa tracker.

  • limonmodel load-time benchmarks are not yet published.

Navigation and AI

  • Pathfinding assumes actor collision size and mobility matches the player. Flying and swimming actors are not natively supported.

  • Navigation grid is not generated if the world contains no AI actors.

  • Navigation grid does not update for dynamic geometry changes at runtime. Planned post-0.7.

  • Map geometry disconnected from the flood-fill origin of the first AI actor is silently excluded from the navigation grid.

Animation

  • Skeletal animation blending is two-animation crossfade only. Blend trees and state machines are not supported.

Missing Features

  • No height map terrain support.

  • No time dilation.

  • No networking.

  • No mobile platform builds (Android/iOS).

Possible Additions

  1. Vulkan backend

  2. Android support

  3. Emscripten/WebAssembly support