Render This

Shoot Many Robots was made using Demiurge’s own tech, the Seoul Engine. One of the neat features we built in is the ability to cycle through different render modes on the fly to help identify bugs - and it just looks awesome. The video shows how it looks in action, and I’ll explain here a little more about what you’re seeing in each of these modes.

Outline Mode:

This mode shows the subtle line rendering that we apply to all scenes to give the game a more stylized feel, similar to a comic book. You can also see the ambient occlusion here, which is giving all of the objects in the world some shading. This mode is surprisingly playable in this state – anyone wanna see a Line Mode DLC??

Unlit Mode:

This mode shows the world without any lighting or post-processes like line rendering. Essentially, it’s what the game would look like if we didn’t add anything to the basic geometry and textures. Seeing this next to the final rendering shows just how much is improved by adding lights and post-proc!

Lighting Mode:

This mode removes all textures and just shows the lighting. Many areas use colored lights to bring out certain accents, as well as create a mood in a scene. It makes everything look like a winter wonderland… or maybe more of an ice-pocalypse.

Light Viz Mode:

This mode shows the size and shape of the dynamic and static lights. We like to call this mode “Limbo Mode” because it makes our game look like the downloadable game, Limbo.

Normals Mode:

This mode shows the geometry normals, which can help us see what’s going on when surfaces get turned inside-out in 3DS Max. In Cotton Candy Land, normals mode is extra normal.

Light Complexity Mode:

This mode shows how many lights are touching each object. The more lights that are affecting an object, the whiter it becomes.

Scene Complexity Mode:

This mode is showing the order in which things are being rendered. If a scene is too white, that means there are too many things being rendered at once, and we need to either cut down on the number of objects, or occlude them more efficiently. We use a reverse painter’s algorithm to optimize the rendering. This algorithm’s metaphor comes from the technique painters use to paint things from the background first and work their way into the foreground. If we render things too far in the distance, or things that are being covered up by foreground elements, we’re wasting valuable processing time. The reverse painter’s algorithm fixes this problem by rendering things in the foreground first and the background last.