The Road to Vertical Slice, Part 4 of 5

As I approach the final week of the vertical slice milestone period, I am feeling more confident about my schedule. I still have a lot of art and sound to create next week, but the third level is mostly complete and the last few systems I intended to include in this milestone have been implemented.

I took an unexpected detour into new post-processing effects while trying to establish a mood for this third level. In contrast to the soft neon glow of the previous level, this map needed a murky, grimy feel. I added a film grain effect and a simple chromatic aberration that separates the RGB channels around the edges of the screen. My first pass at the film grain was a multiplicative filter, but that caused brighter parts of the screen to show the most grain, with darker regions showing almost no change. The effect I wanted was that of high ISO (or film speed), where most of the grain is visible in the poorly lit parts of an image. I switched to a subtractive filter, which pulls out proportionally more value from darker colors than lighter ones, and it gave me exactly the look I desired.

A few weeks ago, I had disabled dynamic voxel lighting because it was getting very expensive to update. There were noticeable hitches in the framerate whenever a door was opened or shut. (This was not a concern in Eldritch, because it had fewer lights with smaller falloff radii; but Die Augen utilizes light and shadow for its core game mechanics, so it necessarily has a darker ambient term and many more shadow-casting lights.)

Last night, it occurred to me that I could make a very simple optimization to reduce the amount of voxels I needed to relight when occlusion changed. The performance improvement was incredible—in the scene shown above, the time to recompute lighting when opening the door dropped by a factor of almost 50.

Finally, I implemented a couple of less exciting but quite important systems this week. Shown above is the signage system, which displays a short string when looking at an object in the world. On BioShock, we called these “art subtitles”, and they are a simple way to localize art assets with text baked into them. For Die Augen, they are also a low cost way to label rooms and provide directions.

Shown below is the new objectives screen. It is only a player-facing model, not a formal game system—under the hood, quests are implemented in an ad hoc fashion, and their scripts notify the objectives screen to add, remove, or update objectives.

My next week will be spent decorating and polishing these levels, writing and rewriting dialogue to provide clear player direction, and adding a bit more “juice” to hacking, takedowns, and the like.