Hey Achilleon, thanks for the kind words. All the sprites in the game are just your standard, non emissive materials and accept the standard lighting of the engine, no normal maps here. The ‘lighting’ I assume you are referring to is just what our character artist has painted into the hero and guards to help give a sense of depth. No real easy way around that other than just handpainting each character frame by frame. Old school pixel art basically.
You can use normal maps with sprites very easily, as they just use the standard Unreal material system setup. Tilemaps are set up differently for some reason and call in textures, not materials, so using normal maps there probably needs more thought. As we decided to not use normal maps (see below) I haven’t looked much more closely into how I could use normal maps on tilemaps.
I’ve not actually used SpriteLamp in anger, only seen the website and various videos so this may be me getting some wires crossed, but what I took away from it was the user is basically drawing the RGB channels of the normal map for SpriteLamp and it just combines them together? I might as well just make the normal map myself in Photoshop and then pass a normalise filter over it via the Nvidia Photoshop plugin? It can do other stuff I assume such as make AO maps or allow dynamic adjutsment of the created normal with embosses and the like, akin to NDo, but I normally get those from the highpoly (obviously not really that applicable in a pixel art 2D game!) or use something like NDo or CrazyBump.
We played around with the idea of normal mapping very early on in development and, whilst the results were quite nice, we always felt it removed something of the purity of the pixel art aesthetic for only a very subtle effect. There are some indie titles out there such as Megasphere and Dungeon of the Endless, that use normal mapped pixel art very well but ultimately it tends to work best on clean looking, hard edged “surfaces” (such as sci-fi environments, see MS and DotE examples linked) and our game has quite an old weathered look to most of the environment so it quickly just made the scene “noisy”. It’s also quite a lot of work for only a very subtle effect so the team decided against it.