Niels Uiterwijk

Terraria

Terraria on iOS, Android,  Windows Phone and 3DS. The project started september 2012 and I worked on as the lead programmer till september 2015. The team was sized for 5 programmers. I briefly worked on the PS3 version of Terraria, and did most of the platform work related to iOS and android. This mostly entails rendering, IO, input and 3rd party integrations. As the lead I was responsible for determining and reaching milestones and communicating, together with the producer, on any issues that arose with the publisher. Terraria was originally written in C# (using XNA), and our version was done in C++.

A big issue we had was, back in 2012 many mobile phones didnt have much memory as well as small touch screen. We managed to bring back the memory usage of the game quite considerable (from 500mb to roughly 100mb) and for the 3DS port we managed to go to ~60mb memory usage. On mobile this was achieved by dynamically creating sprite atlasses and streaming in textures when needed on a background thread. We also were able to multi-thread several critical code paths, such as the dynamic lighting.