Dissecting A Plague Tale: Innocence

Foreword

As with my previous investigations, lets start with the introduction. Today we are going to look at the latest game from a french game developer, Asobo Studio. I first saw footage from this game when a colleague shared the 16 minute gameplay trailer from last year. The rats vs. light gameplay caught my attention, but I didn’t really consider playing this game. That was until the game got released and a lot of people started saying that it looks like it’s made with Unreal but it’s not. I was curious to see how the rendering works and how much is it really inspired by Unreal. Also another interesting aspect is to see how the swarm of rats is rendered, because it looks really convincing in the game and it’s one of the key gameplay elements.

When I started trying to capture the game, I thought I will need to give up because nothing seemed to work. Even though the game uses DX11, which probably enjoys the best support from all tools right now, I wasn’t able to get any of them to cooperate. The game crashed on startup if I tried to use RenderDoc, and the same happened with PIX. I still don’t know why this is, but fortunately I managed to get some captures using NSight Graphics. As always I put all settings to the maximum and started looking for frames to analyze.

Continue reading

Under the hood of Shadow of the Tomb Raider

Foreword

After my previous articles I started looking for another game to dive into and I ran into the demo version of Shadows of the Tomb Raider. I thought the rendering of this game is probably already really interesting but with the recent patch to enable raytraced shadows it made it an even better target. The PC port is made by Nixxes and they worked together with Nvidia to add this feature to the game. If you want to learn more about how they did it check out their GDC presentation from a few weeks ago.

Since I wanted to check the acceleration structures I again used PIX and NSight to look under the hood. This was quite fortunate because the game uses the D3D12 debug naming API for almost all resources so the resources show up with human readable names in PIX. This allowed me to make more assumptions about what is happening, which turned out essential because there are plenty of non-obvious steps that might be impossible to understand without this little bit of additional information.

So I started the demo, cranked all settings to the maximum and started capturing.

Continue reading

Observations about the rendering of Metro: Exodus

Foreword

Since the release of the latest installment in the Metro series I’ve spent a few hours looking under the hood and I think there are some things that might be interesting to other tech oriented people. My goal is not to do an extensive analysis or to dig into the shader disassembly but to see some higher level choices the developers made.

Right now there’s no widely available information from the developers about the rendering techniques used in the game. The only official source of infromation is a GDC talk which is not available anywhere online. This is a shame because the game is running on a very nice custom engine evolved from the previous Metro games and it’s one of the first titles using DXR.

Disclaimer: This writeup is not complete and I will be coming back to it and updating it when I find something worthy of adding. It’s possible that I’m missing something because it only happens later in the game or simply overlooking some detail.

Continue reading

Writing

I could publish so many articles if not for writing. I don’t consider myself slow with typing or writing with a pen. I’m not a world champion, I make a lot of mistakes that I correct immediately but I’m not especially slow. On the other hand I can think way faster. I can think way faster than I can speak even, which is sometimes a problem.

Continue reading

Three months in mentoring

It was a beautiful day in July, during our honeymoon with my wife traveling across Sri Lanka, when the mentoring topic came up on twitter again. All thanks to the forward thinking Sri Lankan mobile providers I had internet access almost everywhere and while being driven around I had the time to catch up on what’s happening in the world. When the mentoring list was first announced I was really happy to sign up and I was waiting for people to reach out to me but nothing happened. (Later it turned out that some people might have been averted by my twitter message privacy settings but hopefully not too many.) After mentioning this to Stephanie she wrote a post rallying the troops to contact me and in 5 minutes my twitter account exploded.

Continue reading

How I started out in engine programming

So recently I got into mentoring thanks to Stephanie Hurlburt and a lot of people are asking me how I started out in engine programming. Also, today being the 10 year anniversary of starting out in game development, I thought what better opportunity to put this on paper (at least virtually).

Continue reading