Home Creators Posts Import Register Favorites Logout

Content

Hey hey, I have another devlog and this one is a doozy too!

First off, our new animator is hard at work with creating custom moves for Sophia's second form, which we have not really showcased up until now.

This is her Idle which will lead into a string of combos that will be worked on next.

Not only that, but we also have a showcase of her growth from Succ to PUF!

Next up, the MAIDS Troopers are continuing to be worked on, this is a low-poly pass of the female with male to be done after!

In regards to our 2D department, I've completed the next MAIDS variant, the Shield Bearers, which will block and knock Sophia around! We also have a more concrete logo for MAIDS being custom designed by Oni, still a WIP.

Last, but definitely not least we have a developer update from Lusia, also be sure to check the youtube vid!

Hello everyone, Lusia here! Today I wanted to talk about our system for having massive amount of enemies and civilians on screen without a hiccup. This is what we call the Omni Crowd system. From the video you’re seeing in this Patreon post, we have 1000 Kathys following Sophia, all while performing under 16ms (more than 60 FPS).

The Omni Crowd is a system we’ve developed to make sure that we can portray Sophia being an all powerful being that can take on everyone at once. While it’s still too early to say if we will be keeping it at 1000. But once we go through the optimization pass for this game and have more hardware variables to test this on, we can make a more concrete number to spawn these in a level. Note that I’m running this on a AMD Ryzen 9 9900X and AMD Radeon RX 7900 XTX GPU, so it’s possible that on lower hardware it won’t hit 60FPS. But we will see during optimization.

How did we achieve this? By utilizing Unreal Engine’s Mass framework, we built our system upon it. We are also using an experimental feature in the latest version of Unreal Engine. We pass on the Skeletal Mesh (the rigged 3D objects) into an Instance called an Instance Skinned Mesh. This makes it run on the GPU instead of the CPU. With GPUs having so many cores inside, it’s perfect to do parallel processing, which an Instance Skinned Mesh is perfect for! We also transfer animation data onto the GPU as well via an Animation Sequence Transform Provider. This allows us to grab animations for the character and place them in an array in a very specific order and then these entities will be playing it via an index, all of this transferred to the GPU. We’re also making sure that these entities navigate and have avoidance built in by using a “worker” meaning that this is running on a separate CPU thread from the game. So the game is utilizing multi-core processing as well for this system. There's more to the Omni Crowd system but this is all I'm going to write, there's already a lot of words here!

The previous implementation I had was using a combination of Vertex Animation and Instance Static Mesh (non rigged 3D objects), it’s not perfect since animations was still being processed by the CPU which made me cap at around 500 entities at the time before it would go sub-30 FPS. But this new Instance Skinned Mesh helps a lot! It took a lot of head scratching and information searching (Unreal Engine’s official documentation is lacking… with these features.) But we will continue to implement and improve Omni Crowd along development!

We’re hard at work to try and deliver to you all a fun and sexy game to enjoy!

Files

Omniscension Devlog - Omni Crowd WIP 1

Demonstration of Omniscension's Omnicrowd system to have many entities show up in the level without sacrificing performance that much!

Comments

MetaNex

Dat growth, nice!~