Empyrean Sky is a game prototype that was created over the course of a 10-week quarter at RIT for 3D Graphics Programming. This game prototype was a group project where it was everyone’s first attempt at working with DirectX 10. Keeping that limitation in mind, we set mostly technical goals and the game design was simply to create an air combat game where the player would pilot a plane and shoot missiles at other planes.
Making this game was an exercise in setting up some of the features that are requisite for any 3D game engine. We had to create features like 3D camera manipulation and transforms, scene graphs, AI steering, and 3D collision detection.
My role on the team was team lead, but I had several more granular technical tasks that I pursued as well. I wanted to explore the idea of having the terrain in the game be generated, so that players could fly infinitely in any direction. After reading up a bit on creating natural-looking random scenery, I went through several iterations of ideas using a mesh that represented the terrain. I tried randomizing the terrain height using only random numbers with the Mersenne twister algorithm, but this didn’t produce a satisfyingly smooth terrain. After trying a few different methods, I settled on the diamond-square algorithm.
I also did some experimenting with DirectX’s HLSL shaders to make the lighting on all of the 3D models look good. I implemented the Phong technique for the planes and terrain.
