BabylonBurst [Open Source - BabylonJS Editor + Networking + More! ]

Introducing the BabylonBurst Engine to the BabylonJs Community!

Hello fellow Babylonians!

I’ve been delving into the creation of a web-based game editor, and I’d like to showcase my progress and see if there is any interest for others to work with the engine.

BabylonBurst Github
Detailed Documentation

Why the BabylonBurst Engine? I love working with Babylon, but as scenes evolve in complexity, asset importing and code sharing can become quite cumbersome—especially for multiplayer game setups. My vision was clear: devise an efficient approach to asset management, systems, and networking to let developers concentrate on game creation.

BabylonBurst Engine Features:

  • ECS-Driven Mechanism: Hyper efficient & simple to understand.
  • Shareable Assets: Streamlined asset and game code sharing between server & client.
  • Advanced Asset Loading: Asynchronous asset streaming, background caching and bundling.
  • Web Editor: A comprehensive tool for content creation and asset integration.
  • Prefabs: Bundling data has never been easier for optimal networking data usage.
  • Live Debugging: Debug and inspect in real-time through the Web Editor.
  • Performance Metrics: Automatic performance tracking via Prometheus.

Current Milestones: Phase I is a wrap! Most of the features listed above are fundamentally in place. While my primary aim remains game development, this engine’s evolution is a parallel journey. The engine is almost ready for others to use, so keep an eye on this space!

A Sneak Peek Into the Editor: It’s designed to load and scrutinize assets in storage, tweak prefabs, and integrate various components seamlessly.

Looking Ahead: I envision a large-scale, browser-based RTS game. While the journey towards a prototype is long, the destination is clear. My aim is to establish a non-profit for game publication, making a positive mark in the gaming world. Currently, I’m with Riot Games, so I’m treading carefully to maintain professional boundaries.

Your insights, feedback, and interest mean a lot. If you’ve stayed with me till this point in the post, a big thank you! Excited to hear your thoughts on the engine and the overarching game idea. :blush:

10 Likes

Hi @JHines!

This is absolutely amazing! I keep my fingers crossed that you have enough enthusiasm, energy, resources, free time, whatever to realize your vision and finish the product!

Keep doing the good stuff buddy!

:heart_eyes_cat: :vulcan_salute:

4 Likes

Thanks @roland !

At the moment I am leaning towards building more game features (as that is where I feel most energised) and then doubling back and releasing the engine to the community but will keep thinking :grin:

I’ll keep the updates coming as and when they (infrequently) happen!

3 Likes

I’m a big fan of Yuka.

It would be cool if it’s features gets into the editor, especially the behaviors. :ok_hand:

2 Likes

Whhhhhhaattttttt ??? This is looking really promising !!! can not wait to try it :slight_smile:

3 Likes

This is sick! Well done!
What’s your plan in terms of development and licensing? Do you plan on making the tool opensource? A few devs including myself could be keen in helping out whenever they can

In any case, it looks amazing

1 Like

Thanks!
I am keen on making it open source! The reason I haven’t gone straight for that is that it is wrapped up a bit with the game I am working on, and it requires a bit of setup at the moment!
I am thinking I’ll get it streamlined and working easier and then opensource so people can start to look at it :slight_smile:

1 Like

Hi All,

Just as a quick update I haven’t forgotten about this project!

I have been busy working on making things more streamlined and easier to use! The project is up on Github: GitHub - Hines94/BabylonBurst but I would say it is Not ready for general use yet! Still if anyone wanted a sneak peek then feel free.

I have also been including native Recast Detour and it is nearly ready.

Anyway I will keep pushing towards a useful release and let you all now when its ready :grin:

3 Likes

This is amazing!

When you say “engine” do you mean just the parts of that act as a game editor? Or is it meant to be a full blown game engine?

For example, are you intending to hook up various compute shaders to facilitate drawing large scenes with many entities?

Also, what is missing as of right now that’s preventing “general” use?

This is FANTASTIC!!! :heart_eyes::heart_eyes::heart_eyes::heart_eyes: Can’t wait to see more of it :smiley:

Thanks both for the support :grin:

It is everything you would need in an engine minus the actual renderer. For that we use BabylonJs - specifically thin instances. That is what actually kicked this all off - as I was playing about and found a strong combination of techniques with thin instances that can support massive worlds.

I am aiming to get everything needed for Multiplayer development in place so that users never need to leave the “Source” folder. This would make it far easier to update without merge conflicts using the EngineUpgrade.sh script I made.

So what I have done for now is:

  • Physics
  • Networking stage 1
  • Basic Rendering
  • Editor stage 1
  • Navigation (almost)

What I think it needs before ready for general use:

  • Hooks for more Engine functions (so no need to leave Source)
  • Editor improvements/tweaks
  • “Production” build with rollup etc
  • Use docs!

Then after that I will look into things like instanced Skeletal meshes, login, asset bundling etc

2 Likes

As a new update I have some good/bad news about the project!

After extensive work and testing with WASM, I could unfortunately not get the levels of performance needed. The issue is that passing data into and out is very slow -the only good approach I found was with MSGpack but it was a huge bottleneck for a large range of areas (rendering/data retrieval). Even pure number arrays are slow due to the memory creation/deletion and the js interface.

Therefore I have decided to replace the WASM module and C++ backend with typescript and node!

I will be doing the work to make the necessary changes this week hopefully (there goes 2 months of work :frowning: ). On the plus side it should mean the project is easier to use for a wide range of people to use, extend and maintain :slightly_smiling_face:

but typescript is compiled to js anyway? am i missing something , how does this improve all the speed issues you mentioned?

Sorry updated confusing comment, fully scrapping C++ - the speed benefit of the running code is more than wasted by the time sending data between js and WASM!
Backend will take a speed it from replace C++ with node, but it’s better than maintaining two different ECS systems and languages!

Hello All!

Quick update on the progress of BabylonBurst! Things have been going well over the past couple of weeks and I am happy to say the rewrite has been a success! No more tricky C++ and WASM, from now on it should be easy sailing!

For now I have taken the decision to focus on single player rather than multiplayer, and I am sure this will pay off in terms of quality before moving into that tricky space longer term!

UI Editor
I have added a UI editor. Why would you need that I hear you asking? This editor asynchronously loads images and HTML from our backend store! It is a key part of my plan to make the game “streamable” as the UI will simply load as required!

Ingame Editor
The editor now works ingame :slight_smile: This means that you can easily/quickly debug what is going on with entities and what their data looks like as well as changing their data live whilst the game is running! It’s not perfect yet, but it gets the job done!

Gameplay
Finally the editor/system is useful enough to actually make gameplay! I understand that moving a couple of units around and showing one button might not look impressive to some, but this represents the culmination of a massive amount of work! Hopefully progress will accelerate now that the pieces are in place!

2 Likes

excellent !

Quick Update

Hey All, hope you are doing well!

I have been working on both the engine and game since my last post and things have been going well. Mostly just tweaks and improvements to the engine, but many bugs have been crushed in the process of making the Exodus Engines game thus far!

The engine is really starting to feel like a useful tool, and I have several prefabs for different units etc in my game. The UI editor has also come in handy, and the ability to query entities etc is allowing me to build game logic at a rapid pace!

I thought I’d drop a little video to showcase just how much the game has changed the last update:

6 Likes

Fantastic progress! :heart_eyes:

1 Like