Roadmap

This page contains various larger things that are either in progress or planned to be implemented.

Roadmap

This page contains various larger things that are either in progress or planned to be implemented. It is not a complete list!

In progress - 2D focus

The first section is items related to being a 2D first engine, and things we consider essential to make that experience a good one.

💾
Note that luxe already implements a wide range of 2D tools and workflows! The following items are on top of the existing engine which is more than capable of making a wide range of games already.

See this dev log for 'Ready to make games' means!

Tile map editor

available rough edges

The all new tile map editor has been rewritten to be a lot nicer, replacing the old one. There are a few minor workflow issues and some polish before we mark it done - but it is usable (see the docs).

Preview In-Editor

high priority in progress

Old world editor allowed a 'preview in editor' style workflow, running the open scenes. This needs to be added on the new world editor.

It will be coming back online soon!

Particle engine / vfx modifier

high priority in progress user facing soon

We have a VFX modifier that runs a particle system that implements shaders-as-particles. The implementation is well under way but not yet properly usable.

0:00
/0:06

Animation editor

high priority in progress invalidated by final systems

The old animation editor is no longer compatible with the new world editor. We are working on bringing it back online, as well as exposing the option to animate fields within modifiers.

UI editing + loading

available from code high priority in progress available to test

We are creating a nice workflow for editing UI in editor. We've made solid progress but things like selection of controls, more streamlined workflow, and exposing custom controls properly are in progress.

You can still use UI from code until this lands!

Sprite / material instancing

manual workaround available in progress waiting on underlying systems

We have an auto instancing system that allows rendering a large amount of geometry efficiently. The service api is available for Sprite to use, and will be hooked up soon.

This ties into another engine level piece of the puzzle that is in flight - material instancing. The material system in luxe is designed for it, but deciding the ideal implementation for lower spec targets (like web) has required more experimenting.

Audio

usable manual API foundations in place

While the basic audio system is usable and works, there's a more extensive version we are implementing. It was designed/spec'ed alongside the good folks at A Shell In The Pit as they have a lot of experience doing and implementing audio at our target scale.

C# support

in progress not usable yet

C# is an important language in game development. It is however not as portable as we'd need just yet, but is making solid progress on being available on primary platforms. We've had in progress work for this all along, but there are key things needed for it to become official.

Visual Scripting

in progress not usable yet

We love visual scripting and will be implementing a tool to implement a variety of node based workflows. We've implemented the foundations, but it's not ready to try just yet.

2D physics - Box2D 3.0

in progress old system invalidated

The original full 2D physics engine implementation was limited and exploratory (Physics2D modifier - not referring to arcade which is simpler by design).

There's a new implementation of Box2D 3.0 going in that will round off the experience and expose things in a proper way, replacing and finalizing the 2D physics modifiers.

Math types

high priority in progress user facing soon

The Math implementation inside luxe: math is pretty useful, and covers a lot of corners for common cases of vectors and such, but there is obviously a nicer workflow using proper math types like vector, quat and matrix.

These were initially left out on purpose but of course are fundamental. Our goal is to make them GC free and well integrated, and make sure they feel good to use.


In progress - 3D focus

While 3D is definitely doable in luxe there are a few things we'd love the workflow to be before marking it official. If you have experience with 3D and know what you're up to, you can get very far though.

There's fundamentals like frustum culling and the foundations for LOD etc but we're still making the experience solid and easy to use.

Render module

early preview available manual use possible in progress

The render module is the workhorse for 3D rendering, includes the shader includes for more involved rendering, and provides the foundations for render pipeline modules.

The initial implementation was a single pipeline and is being evolved into the correct format/structure so that the variety of pipelines intended to be available before we mark 3D support official.

Finalize auto instancing

available in progress rough edges

Make sure the auto instancing is working as intended, allowing a large number of meshes to be displayed efficiently. It has a few bugs but works quite well already.

More Jolt physics

available in progress rough edges missing APIs/tools

We've implemented Jolt as the 3D physics engine, replacing the old temporary one. There's a couple key things left to expose, but is already in use in our games.

More Nav tools

available in progress rough edges missing APIs/tools

We already have the Nav modifiers in use in our games, but more of the tools from it needs to be exposed like links, obstacles and more.

More details soon...

We'll expand this section soon, if you'd like to get involved in helping 3D arrive sooner, join the 3D-focus group in the community.