If you're here by accident - or like what you see - check out my portfolio
What is it?
A game engine with different, experimental, efficient features.
Bourbon focuses on these aspects:
Clean, Fun 'Hybrid' Visual Scripting
- Script as you're used to in a node sandbox.
- Ever wish visual scripting wasn't so unwieldy for complex chunks of code?
Write complex routines and math without having to compromise.
- Ever wish regular scripting had state machines built in?
Common gameplay code becomes easy with the best of both worlds.
- Multiple users can edit the same scene at the same time.
Jargon: The engine is asynchronous even across network boundaries, allowing it to be run
as a server with connected editor clients. The only locks are ones imposed by the users.
The Point: No more scene merging. Everyone can edit simulataneously.
More on this feature in a later post.
A 'DeSynchronized' Engine Core
I'll admit: 'DeSync Core' is a term I made up. It's something new, so it needs a new name. Here's what it is:
Every system runs completely asynchronously from the others, with no contention or waiting.
If you want, you can even async gameplay code. Just mark it 'indepedent' and it will automatically batch with others during your frame update
GPU waits approach near 0. Irregular frame times naturally smooth out. Completely system-agnostic, programmers don't need to worry about it.
Click for technical details and a few concessions
Good news is you don't lose much.
This core design was originally based on the Naughty Dog Engine presention from GDC 2015.
I realized early on that with some modifications, I could skip their pipeline method entirely and truly parallelize everything.
You get the amazing performance this core gives you at the expense of:
- ~1-5 frames of input lag. User configurable.
- Increased RAM bandwidth over conventional cores.
- While memory usage at beginning and end of a frame is normal, multiple frames are processed at the same time, giving a higher avg. memory usage.
- In a realistic setting, 'simple' games will perform worse with this core while complex games, particularly any AAA-level 3D game will gain more than they lose from the overhead.