Friday Facts #168 - Nightvision Nightmare

Posted by Posila on 2016-12-09, all posts

Nightvision nightmare

As Twinsen continues tweaking the combat, he started to complain about the “green fog” effect that is applied during night when the player’s character has nightvision goggles equipped. Nightvison in 0.14 works in a way that it reduces the darkness of night, and then draws a transparent green overlay. This washes out the colors, reduces contrast, and makes the picture pretty unpleasant to look at.

The first idea was to just make the green overlay be rendered around light sources, to reward players who put lights into their bases, by not making the base look worse with nightvision on. This didn’t look too good, and as we were trying to figure out how to improve it, other developers, especially artists, caught on to what we were doing, and started to provide their own ideas.

Next we tried to darken only the red and blue channels when nightvision is on. This will make the picture green without losing contrast and we can drop the green overlay. We kept “not applying effect onto lighted area” logic and it started to look interesting.

Albert wasn’t happy with the result though, so we continued experimenting. We added a soft green tint to lighted areas, and a bright green glow onto the transition between light and darkness. Then we added white highlights to light sources and it finally started to pleasant to look at.

We will stick with this version for time being, but plan to work on it more. We can’t agree if this change is for better or worse even inside the team. It seems everybody has their own idea about how nightvision effect should look like and what benefits it should provide to players. For example it would be nice to have goggles with greyscale effect that would highlight biters. So maybe heat vision?

Factorio developer tools

Game developers usually boast about what great tools they have developed to help create content for their game. For Factorio so far there exists a single python script for creating sprite sheets, and the in-game map editor for creating maps, for scenarios and the campaign. We don’t have any database of all entities from which we would generate prototype definitions or anything like that.

There has always been a need for some tools to help the artists with the post-production of sprites, and so we have added a developer feature that allows the Factorio engine to reload any sprite sheet within a second of it being changed. Our artists are very excited about this, as they can edit a sprite in Photoshop, save it and immediately see their changes in the game.

Next we plan to add the ability to modify certain prototype values in runtime. This is again mainly intended for artists, but eventually should help balancing various aspects of the game, as we could just open a developer menu and try out several different values in matter of seconds. Hopefully both of these features are also going to be useful to modders, as it should be available to some extent in builds we release to public.

As always, let us know your thoughts and opinion on our forum