Game
Crumbling World

7 years ago

Optimizing Crumbling World
Hello everyone! I was working on a promising improvement that has the potential to optimize the performance of Crumbling World, especially when it comes to running the game on low-end computers and mobile devices.


The primary challenge in implementing this change was figuring out a way to modify the main feature of the game without undermining the unique performance provided by Crumbling World. In other words, to accomplish this task, I had to alter the procedural world generation carefully.

5d091faa19d77.jpg

The Challenge

The feature that truly makes Crumbling World unique is how each level is generated before the player’s eyes. Before modification, this world generation occurred on the fly, which led to pretty high-performance needs, as the Navmesh had to be continuously updated. This caused some issues with the game’s AI, both for NPCs and enemies.

It turns out that allowing the geometry of 3D models to be visible when generating was the primary cause of these performance issues, due in large part to the fact that the rending engine suddenly had to create things on demand. Thanks to the optimization work that I have been doing, these pesky issues are now fixed.

The Solution

To solve both the performance and Navmesh issues, I opted to create each level in advance while the game was loading. This change wasn’t easy, as it involved some significant modifications to the core game functionality, which in turn unintentionally broke some secondary features that took a lot of time to figure out. By creating levels in advance, I only had to create the Navmesh once, which certainly helped the overall performance of the Navmesh agents for NPCs and enemies. At the same time, this improved the overall performance of Crumbling World, as the Navmesh now does not have to be consistently updated throughout gameplay.

5d091fab368ff.jpg

Additionally, I lowered the ground cells below the fog level, so they are now not visible until the player steps on the previous ground cell. This preserves the visual effect of level generation without having to dedicate extra computing power to the game’s performance. Another advantage that I found was that when levels were built in advance, all of the associated geometry was already rendered when the level was loaded. This means that the render engine wasn’t negatively affecting performance when the level was rising in front of the player, as the geometry already existed, which was especially useful for levels where the ground cells have more elements and graphical complexity.

5d091fac23d82.jpg

Pros and Cons

While generating levels in advance certainly helps to improve overall performance, there are some disadvantages associated with this approach. The main downside is that paths and roads can no longer have forks, as levels would be too large and complex. This removed the illusion that players are able to choose different paths, which was a nice effect even though the outcome was always the game regardless of the route selected. Now, when the level is created roads and paths are randomly generated in a way that chooses the fork for players. Luckily, this adds a bit more variety to levels when they are generated, which will likely allow for greater replayability when combined with secret sections for missions and quests. As a result, this means that it will be almost impossible to play through the exact same level layout twice.

5d091face4a61.jpg

I’m working hard on more exciting and enjoyable features that are sure to improve the playability of Crumbling World.

Please consider checking out Steam, where you can wishlist Crumbling World.

Thanks for reading, and I look forward to sharing more exciting updates with everyone soon!

5d091fadc7abd.jpg


0 comments

Loading...

Next up

Tutorials in Lobo are optional, easy to skip, and only cover key mechanics that aren’t obvious. They’re brief and direct, and yes! They break immersion, but that’s intentional: quick info bites help you immediately apply what you learn.

Hi everyone! Tomorrow I will be releasing the Beta Demo for #CrumblingWorld, sign up in http://crumblingworld.com if you want to play it !

New trailer for The Wolf in Me.

A narrative-driven action game about losing control.

The more you fight, the harder it is to stay human. 👉 Wishlist on Steam https://store.steampowered.com/app/2486160/The_Wolf_in_Me/

After years of development, the first prototype of the transformation is finally working.

Still a lot to polish, but it’s exciting to see it in motion.

Lobo is a narrative driven action game about struggling with the beast inside you.

Hello everyone! My game Crumbling World is 80% off for Halloween! Grab it on Steam for less than $3. https://store.steampowered.com/app/1003560/Crumbling_World/

Jump And Grab Edge System Since the last update, I have been working on the Jump and Grab Edge System for Crumbling World. I decided to rework these movement mechanics, as I thought it would be great to add a bit more complexity to each of the levels.

A knight who refused to die… now fights with what’s left.

The first boss of The Wolf in Me.

Decay took his body, not his skill. Precision. Discipline. Relentless technique.

This is not a monster. It is a warrior.

Lobo is now The Wolf in Me. A narrative-driven action game about losing control. The Steam page has been fully updated. Wishlist now https://store.steampowered.com/app/2486160/The_Wolf_in_Me/

In Lobo, I use foreshadowing to keep the gameplay rhythm going. A quiet moment, a fallen hunter, and a new weapon you can equip but not use yet, just enough to tease what’s coming next.

Do you want to play Crumbling World for free? The new demo includes the same features and improvements that the full game. Download the FREE DEMO here: https://gamejolt.com/games/crumblingworld/358092 Thanks so much for your support