
Engineering Committee Meeting [04/07/2022]
In GDA’s Engineering Committee, we often take breaks from the routine grind of building systems and mechanics to explore other interesting fields of game development. This time, we’ve decided to explore a fascinating concept used in countless games to produce unique worlds/environments. The mechanic being Procedural Generation!
To begin our journey, we decided that it would be best to start by generating something a bit down-to-Earth. Utilizing some highly-detailed maps of the Earth taken from NASA, we decided to parse three initial pieces of data: the height and color of the terrain, and the depths of the oceans. We then use this data to generate a single map (the one seen above).



The height of the Earth at a given point was calculated by multiplying the height-map by the highest point on Earth, (the top of Mount Everest) and subtracting the depth-map multiplied by the lowest point on Earth (in the Dead Sea). This height value is then equated to its equivalent value from 0-255. We do this so that we can overwrite the color maps alpha (transparency) channel to store the data from all three maps into one single image.

Through this method, we have compressed the original three maps (totaling a size of 229MB) into a single 183MB image file. While this is certainly a plus, you may wonder “Why go through the trouble if you’re only generating one mesh?” And that’s a perfectly valid question, to which our only answer is: discovery! Through this project, our committee members were able to explore a broad range of topics, including analyzing geographical map data, seeing how images are stored in memory, learning how to perform bit/byte-wise operations, and many more.
During our next meeting, we hope to start generating some simple meshes inside of both the Unity and Godot game engines, with the goal being to create a simple sphere mesh utilizing nothing but code. So stay tuned for our next programming adventure!