Let There be Light13 Mar 2016
Hah, got ya! You probably thought already:
"he's gone, with all those valuables generated by his extravagant indie game scheme, to lead a life of Riley".
No Sir/Madam. On the contrary, I've been a busy bee. And there's no Riley.
92 commits later: the scene and lighting system starts to work properly.
Highlights of the lighting model:
- There are no fake lights. The scene is only lit by the objects it consists of.
- Each object may include 4-channel (ARGB) lightmaps in Voxely-fashion (projections for each side). The blue channel controls the amount of emission of the object's material.
- The emissive materials will contribute to the illumination of the scene. Albedo map of the object will control the emitted light final color.
- 2.5D line-of-sight is applied for light distribution from emissive parts of the scene radially outwards. The volumes of the objects are sampled for approximating their density (or rather, how much light is allowed to pass-through).
- As objects will be destroyable later, the light sources may be damaged/wiped out in the process.
- Everything in the above video is still 100% based on 2D-images.
I've also worked on adding a primitive UI for map editing purposes (see panel on the right).
So far, the UI allows one to select the active object from those which were picked up from disk.
Editing of the map itself is straightforward: point & click for adding and removing objects to and from the scene. The lazy bum in me didn't add a save/load feature yet, so one will need to reconstruct the map from scratch for each run.
Into the Future
H'OKAY! What's next? Cleaning up the slight mess left by the progress on many fronts: optimizing scene/object/model code. Adding warriors/characters!
That'll be the part where I may have to admit to myself, that the image-based voxel modeling falls a little short. If so, the characters will end up somewhat cube-headed/armed/toed... Stay tuned!