A Better More Detailed Terrain

Greetings! Its been a while since the last update (ok, so maybe not), but we’re really excited with the progress we’ve made so far. During my last post I mentioned that I would be tackling terrain rendering and this is exactly what Ive been doing. During our previous tech demo we we using multiple layer overlays to build the terrain. This approach not only limited the level design process so much by making it impossible for the designer to see the results of their work until the whole level was built, but, also takes a ton of time to load. We could literally (1)have the level load, (2)have lunch, and (3)have idle chatter before the level (or any level) would load. More painful is the fact that we needed several layer overlays to make the map look like a real map and each layer overlay extended the loading time by an exponential amount. In addition to this, despite our ultra patience during the loading process, and godlike imagination during the blind level designing phase, the terrain felt lacking.

After looking around the internet and reading articles about terrain rendering as well as getting suggestions from the team (it sounded more like scolding though) I’ve figured out a way to make our terrain rendering faster, easier, and more detailed. Terrain processing in the previous tech demo was done on the CPU which took a lot of time. This process though it allowed virtually unlimited overlays took too long to load. By limiting the overlays to just 4 and transferring the processing to the GPU I was able drastically reduce the loading time (though now it really depends on the GPU of the computer loading the map). In case you’re wondering what my reason was for limiting the overlays to just 4, its because I decided to use the 4 color channels (RGBA) to carry the information for the overlays. As for the ease of level design issue, I recreated the tool, hopefully, the level designer will be happy. I also decided to implement normal maps on the terrain so that the emptiness will go away. All in all I think its a pretty decent render.