Blog

Reworking destructible objects with a time-efficient pipeline; part I

Hey everyone! We’re proud to announce that we saw success in another case. Keep an eye out for the first part of our story!

The case: Brigade Games enabled a developer and a publisher to access a new mobile games audience by porting the game, which was originally created for PC/Console, to iOS.

The result: iOS players can smash objects with same actions as PC version, seeing realistic destructions with randomized flighing fragments, no lags, same SFX, smooth animation, and physics. Our pipeline saved time reworking objects and avoiding errors.

Brief process description:

The optimization work was conducted on the IOS platform.

We are focusing on optimizing the physics simulation system, such as destructible objects, to ensure that the game runs smoothly on iOS devices, so we made a non time-consuming pipeline to rework destructible objects as APEX physics simulation system such as destructible objects (used in PC version) doesn’t work on iOS devices.

The development and optimization of the game presented us with a number of technical constraints and challenges. We had to find a way to quickly and efficiently rework destructible objects into Niagara Systems while preserving the realistic aspect of destruction. To do this, we had to create a pivot for each fragment so that they could be automatically assembled into one Niagara Emitter that would look like the original static mesh. Additionally, we had to ensure that each Emitter would set a random destruction pattern for added realism.

To optimize the performance of the game, we use a variety of tools and technologies. These include Stat Unit, Stat NiagaraSystems, and a preloader for Niagara Systems. We also strive to find the perfect balance between the count of fragments and nice animation. By utilizing these tools and technologies, we are able to ensure that the game runs smoothly and efficiently.

At the level of game architecture and game engine, we implemented several optimizations to improve the performance of our game. We wrote a custom bpy script for Blender to autofracture, autopivot, fix polyframe issues and save fragments. Additionally, we added a function inside a destructible BluePrint Parent Actor to assign the pivot coordinates of fragments automatically. This saved us time and prevented potential errors.

Be sure to check back soon to read the second installment of our post!
2023-04-16 15:41