Delusion, The stutter is an illusion

It’s been long time since i shared about Mirage (~2 years), but this was not for nothing but the huge engine refactor that ended up with a brand new Engine that supports Win/Mac/Linux/NX/XBX/PS5 instead of Win only. Say hi to “Delusion”! The new iteration of Mirage.

NX below, runs NVN & Vulkan backends. There are more platforms to come & more features to grab from Mirage, but now on, Delusion is the side Engine, Mirage (~2015 – ~2021) can rest in peace now.

Hint: unmute! 😄

The story back to end of 2020 where i wanted to support more than Vulkan backend in Mirage, and hence started to write a renderer interface (RHI like thing), i called it MRI which stands for “Mirage Rendering Interface” or “Multiple Rendering Interface”…just a fancy name for my baby engine. But not so long where many issues in the engine core started to show up, things that you don’t usually care about when you build a hobby project that gradually scales to large project, things that you know but you don’t see! The core issue was that i figured out (after years of development) that Mirage was built with no clear set of goal, only one thing in mind, was to keep injecting features in there, with no clear goal for them or no clear usage except practicing! And that was a double edge sword. Hence i decided to re-build Mirage from the ground up and not only add MRI on top of that pile of code. Even the most simple things you find nowadays with any engine, like project generation, was not supported in Mirage, and every time i move the code to another PC of mine for tests or video capture, i had to do a ton of handy work to download & hook all libraries,…etc. you see where it was, and this needed to be changed.

And at the moment i decided the refactor will be into a fully new engine, i needed to put a set of clear goals, things such as:
– Supporting multiple platforms, and even multiple rendering APIs per platform where possible or if needed (Single API for multiple platforms, or single platform supports multiple APIs).
– Project generation for any platform, so can quickly setup to any of my computers.
– Parallel working on multiple platforms, so i can open 3 IDE instances to modify & run code of (for example) windows, nintendo & playstation at the same time.
– Reduce the utilization of external libraries that are kinda fat and i don’t use more than 30% of each (GLFW, SDL, glm,….etc.). So work on simpler property solutions.
– Rewrite it in C+ not C++ as used to be.
– Allow for creation of new games projects quickly, so i can prototype projects easily.
– Take care of the standalone tools around the engine, things such as the “Project Manager” for example.
– Make a game and build the engine around it, not to build the engine around the void!
– No game code inside engine or editor code, this engine may ship something, so let’s make sure it is built right with as few hacks as possible (can’t guarantee a hack free engine though)

So yes, Delusion is my toy for the next few years!

The MRI task activity history.
Opened 2 years ago, Closed right now…


Leave a Reply

Your email address will not be published. Required fields are marked *