Devlog #6: Graphics Deep Dive
I’m Lander, I’m an artist and I help out Raffa with making PVKK look pretty. Contrary to our previous devlogs that dived into the philosophy and approach of different aspects of the game, I’ll be diving into a slightly more nerdy technical direction, but not to worry, I will share eye-candy throughout this post as a treat for you enduring my unsolicited rambling!
I’ll show you a little bit of the recent work I’ve done for the game, and with that I’ll share some (surprising) insights on how the game is rendered.
[h2]It’s all totally real, I promise[/h2]
Because we want to build a world that you can completely lose yourself in, this world needs to feel truly real. Immersion and believability have a big impact on how a player may experience the game and make decisions, especially when those decisions have impactful moral connotations. Making things feel real means making things like switches and buttons and gears feel like they have weight, and it means making an environment that looks like it could exist in the real world.
Beyond incredible audio and a great story, visuals of course also play a big part in making this world believable.
[h2]Actually, everything is fake and nothing is real[/h2]
Just like in audio (See Devlog #4: The sound of PVKK), there is a distinction between believability and creating things as they are in real life. In the world of game development we’re always battling against a mountain of technical limitations that are rooted in making sure games run nice and smoothly. We want things to look pretty though, so we need to find solutions to these technical constraints. Often these solutions take the shape of something akin to optical illusions: We make something look real and believable through a bunch of tricks and hacks.
Rainy mood in PVKK.For example, when it’s raining in a videogame you might see hundreds to thousands of raindrops fall down every few seconds, but simulating each and every raindrop would make your computer not-so-happy. We need to fake this somehow, and one way to do so would be to place a few transparent textures of raindrops in the level that continuously scroll downwards, add some fog, make surfaces look more shiny, add a droplets texture to the windows, and there we go: we have the illusion of rain. Instead of truly simulating each raindrop, like rain in the real world, we fake it in a way that makes it look believable and convincing.
That is a fairly specific example of course, but this concept in general is a huge aspect of the art of game development: finding creative solutions to circumvent technical limitations.
Now, with that in mind, I’ll let you in on a little secret: The bunker doesn’t exist in the same world as the world you see when you look outside of the bunker.
In a very similar way to “real” flight simulators (And the immersive PVKK experience we’ll be bringing to Gamescom 👀), where a physical cockpit is built and surrounded by a projection of a virtual world, when you look outside the bunker you’ll see a projection of the outdoor world.
You can imagine this as the bunker being completely surrounded by a greenscreen, and much like greenscreens in movies, a virtual world is then projected on that greenscreen.
Illustration showing how the bunker world is separated from the outside world.
Screenshot from the bunker, in reality it isn’t literally a greenscreen, but this helps to illustrate the idea. :)There are a few reasons we do this. Firstly it prevents effects like explosions (such as the one that happens when you press the button that makes the cannon go pew), rain, fog, etc…, from clipping through the walls and windows of the bunker, since all those effects happen on “the greenscreen”. Generally it is tricky to prevent these types of effects from going through glass or walls without big performance costs, and this approach works very nicely in our situation to mitigate those issues. If we didn't, the bunker would essentially leak.
Leaky bunker. Not very cozy…Secondly it gives us a lot of control over effects like lighting in the bunker. Each lighting scenario we have in the game is meticulously created so the bunker feels cozy, having the interior separated from the exterior helps us a lot with this.
[h2]Let there be light![/h2]
Just like building a real optical illusion, we need to make sure there is nothing breaking the illusion, and until recently we did have some issues breaking it.
Due to our approach of separating the indoor and outdoor into separate scenes, the bunker doesn’t automatically receive light from the exterior, and in some situations things look… Well… How do I put this delicately? Not quite right:
Bunker exterior light progress screenshot 1/3.In this image the sun is behind the mountain, and we can see the rest of the facility itself is not in direct sunlight, so logically there should not be any sunlight hitting the bunker walls and the window.
We needed to create a secondary lighting setup, one that mimics the light from the outdoor scene (Remember the bunker and outdoor scene are separated worlds) so the exterior walls of the bunker receive the correct shadows and light.
The first step towards resolving this was making sure the mountains in the outside scene cast a shadow on the bunker.
Bunker exterior light progress screenshot 2/3.That fixes a big discrepancy, we don’t see a strange highlight on the window frame anymore, and the direct sunlight on the outdoor wall is gone, but now the wall turned pitch-black, which is also not what we want. We need to take the ambient light from the outside world, and apply it to the bunkers exterior:
Bunker exterior light progress screenshot 3/3.… and there we go, the bunker feels grounded and like a part of the rest of the facility, while at the same time we still retain complete control over the lighting and mood on the inside.
[h2]Ok, that’s cool and all, but sometimes you gotta remove the light[/h2]
Another element taking up a big chunk of your screen's real-estate in the game is the landscape. While the landscape looked quite nice already, there was one big issue with it making our lighting options very limited: The landscape texture had shadows embedded into it. This meant that we’d have two sets of shadows, one set that’s baked into the texture, and one set created by the in-game sun itself.
We mitigated this issue up until now by positioning the sun in such a way this was not very obvious (i.e. so that the in-game shadows would sort of line up with the terrains shadows), but this was definitely something that needed fixing as it severely restricted our freedom with how we could light the scene.
I took this as an opportunity to rework our landscape shader, placing the outdoor visuals in a much nicer and more versatile spot compared to before.
A before and after screenshot of the landscape improvements.The in-game lighting is the exact same in these before and after screenshots, but it looks very different:
- On the right side of the image you can see how in the before screenshot the mountain-side is unusually dark, it almost looks like it was scorched. That’s that shadow baked into the texture. Notice how in the after image we can see the sunlight nicely lights it up.
- On the left side of the image, around the city, we can see a bunch of little shapes of light show up. We can actually see the sun hit mountain ridges now, and we can see the sunlight reflect on some wet patches of land.
- The snowy mountain tops interact much more realistically with light now, making them brighter and stand out more against the darker terrain.
[h2]That’s all :)[/h2]
I hope this shows you that we’re taking a lot of care to make this world feel real and immersive, so you can live out your deepest and most primal desire of becoming the best Planetenverteidigungskanonenkommandant there ever was.
Keep in mind that everything I’ve shown you here is still a work in progress.
Now, before I let you go, I’ll give you one more screenshot, just because you’ve managed to endure all my rambling. You deserve it.
Screenshot of a nighttime mood.Thanks for taking the time to read all this. I hope you found some of the bits I shared here interesting and that you managed to stay awake reading this.
And I hope you have a very lovely day!
- Lander :)
Ps: We have a Discord server that you should totally join if you’re not there yet.



Little insight in how I layer sounds, not playing every layer at the same time gives the sound more dynamics and movement
Writing this made me realise I never turned it on, I should go do that
Doesn't really matter what's on the tape (as long as it's not copyrighted ofc), you can usually always get some cool results by messing with the speed and playback controls