Happycake Development Notes:
Normal Mapping In-Game
4 February 2005

Implemented normal mapping in the graphics engine for generalized objects.  (We already had it for the terrain, but normal mapping a heightfield terrain is very easy, and the code for that couldn't quite be used for other things.)  [For the uninitiated, normal mapping is a way of making objects appear more detailed, by specifying surface curvature in a texture map, so that the model reacts to light as though it had more finely-detailed geometry].

Clay did some new versions of the small hexapod and associated texture/normal maps.  Here is the new version in the engine, rendered using 3 different materials just for kicks:



It's starting to look pretty sweet.  For comparison, here are side-by-side snapshots of the current hexapod, and the original Programmer Art one from the start of the project (which we saw in the very first Happycake development log update).



In the bigger screenshots, the weird normal-mapped box you see off to the right is just a rendering glitch due to the fact that I haven't totally systematized the normal map rendering yet, so if an object is drawn that doesn't have a normal map, it just uses whatever normal map was used previously.  So the effect is you get normal maps on things that are inappropriate.  But it's funny how this still looks kinda cool in an interesting way (at least, cooler than the same object without normal maps).  Here's a picture of the machine gun with the normal map from the large rolling vehicle:


Next I will be working more on networking and making the server run well on the target platform, but I will still probably be able to dig up more visual progress to put in the log (the artists are doing a lot of work on a new city design, etc).

[Back to Happycake development log]