For a long time I have been fascinated by low poly 3D art. Inspired by the image below, I decided to create a game where you control an airplane.Creating the game was also a nice opportunity to use my new (and slightly unfinished) game engine called Kick for something more that writing simple hello 3D world programs.
I started by modelling an airplane and some trees. The modelling of the terrain took a few iteration to get working – I ended up using a significant different terrain that used on the image above. For terrain I extruded some organic shapes from a 2D plane (think extruded height-curves), which were colored based on their height.
I also had to write an PLY model importer for the Kick engine to be able to import vertex-colored geometry. One nice thing using my own engine is to be able to design and tweak everything. The downside is when it doesn’t work there is only one person to blame 🙂
The engine is designed with crossplatform support in mind, which for instance means that the shaders can be cross-compiled from GLSL 330 to GLSL ES 2.0 on the fly. The engine also is built on top of SDL2 which also runs on most platforms. The code, however, is only tested on OS/X and WebGL (compiled using Emscripten). The engine includes a build-tool called emmake.js for compiling emscripten projects in an easy way.
The WebGL build can be found on GitHub Pages: http://mortennobel.github.io/PolyPlane/
And the PolyPlane project can be found on GitHub: https://github.com/mortennobel/PolyPlane
Finally the Kick engine is also hosted on GitHub: https://github.com/mortennobel/kick