Hello developers!
For quite a while I have been working on extremely experimental things within the Roblox game engine, so much so to the point where it has garnered the attention of some when posting small snippets of my creations. I wasn’t exactly planning on making any of my code open-sourced, but I’m reconsidering. Still not exactly sure if this is something I want to do, but what the heck- I might as well just make a post showing off what has been done so far.
So, miscible engine! What is it?
Basically, it’s a reworking of Roblox’s game systems.
miscible engine fundamentally changes how Roblox functions, in regards to both scripting aspects and non-scripting aspects.
“Well yeah, but how does this change?” Is what some of you are probably asking right now. While it’s not set in stone, I’ll try to explain briefly some ways miscible engine may differ.
For one, when I mean “change” I don’t mean “oh I just like made it so that different items go in different folders and then ended up changing some of the icons”. When I mean “change”, I mean that the way you interact with Roblox studio will be completely different, from scripting to designing guis, to even lighting.
Now of course, these changes are still within Roblox’s limits. If Roblox just let everyone write C code for the game and have servers run completely off of custom code I assure you I would have done it by now. However, even with the limits in place I have been able to re-write a lot of code for Roblox.
Example: One major change for miscible engine is how client sided storage and server sided storage work. When it comes to Roblox multiplayer games, one of the most important aspects of the game is the actual player, and this is where miscible engine took the plunge into development. The HLNE system for miscible engine (Throwing Roblox's humanoids out the window with my custom character system: HLNE) is extremely custom, everything from the character models to the camera scripts.
And that’s just one example. miscible engine has changed much more. A huge chunk of Roblox’s default systems, classes, services, and settings have been completely changed.
Alright we get it, it’s another one of those “re-writing” of Roblox. Tell me one good thing that this engine actually provides that others don’t.
Well actually, there are many things that this engine can do, and even more things planned to be added. How about we list them off?
The List (it's long)
-
Custom replication between server and clients
-
Custom player character handling system (HLNE, or the removal of humanoids)
Character Replication Test - Starving Sorority - YouTube -
Custom lighting particle system
-
Custom physics simulation and interpolation
-
Custom server joining management (sending players to servers)
-
Custom chat system
-
Custom fonts
-
Server reliability systems
-
Smooth update integration systems
-
Physically based sound systems (spatial sound interacting with the environment)
-
Full 144fps (and higher) support for rendering, animating, and physics simulations.
-
Client interpolation of network instances
-
Exploit prevention, by nature
-
Client based instance management
-
3D GUIs rendered with full PBR capability
-
Vector field and parametric based particle systems
-
Server logging/datastore events
-
Datastore reliability, caching systems
-
Server SOS system (if server has issues, sends data to healthy servers to prevent loss).
-
Client sided storage and caching
-
Character meshing systems (similar to Roblox cage meshes)
-
Custom interpolation (bye bye tweening!)
-
rawdata based referencing for workspace assets
And I got too lazy to add more. You can get mad at me all you want, my attention span is only so large.
And obviously, miscible engine can’t do everything just yet. But if you’d like, you can take a look at what’s planned.
What's planned.
- 2D workspace (for those who might like pixels a little more than most)
- Custom skybox HDRI technology
- inverse kinematics for custom HLNE rigs
- texture scaling
- custom animation systems, working directly with the Blender pipeline. (woo Blender!)
- new gui formatting (because anchor points kinda suck).
- render on-top / render layers (because Roblox hasn’t added it).
- Hair particle systems
- locally based assets (unsure if possible, but if it is I’ll make it happen)
- emulation of player ID’s, usernames, and display names
- physics periodical syncing with server.
and more!
So yeah, that’s miscible engine for you.
I don’t really know how to end this post, but regardless I feel as though it’s something good for me. Documenting things is always a good thing, it shows progress. I’m still not sure if I’m planning on releasing this to the public or not, so don’t expect any promises. If I were to release it to the public, it would be through licensing with partnered users/studios. miscible engine isn’t really in a good enough state to be handing out to everyone just yet anyways, and If I end up giving it out to people I want the systems to be as flush as Roblox’s default systems are.
But I mean, hey, if you are actually interested in this thing-- let me know. For now it’s just kinda a showcase, but it doesn’t have to stay that way.
I’m going to work some more to make it actually usable, as for right now miscible engine is lacking sufficient GUI controls and documentation.
Man coding is for nerds, how does this stuff not bore you to death. Like, I lost a couple brain cells writing this mess. Anyways, thanks for reading my boring post. Maybe I’ll make another boring post in the future who knows.
Cheers,
miscbsdf