Roadmap
This page contains various larger things that are either in progress or planned to be implemented.
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.
See this dev log for 'Ready to make games' means!
Tile map editor
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
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
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.
Animation editor
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
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
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
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
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
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
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
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
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
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
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
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.