Home »
Blog »
TACStrike: week of February 23rd - March 1st
Published on Monday, 02 March 2015 07:41
Written by snake5
This has been a bit less busy week. I've been focusing mostly on applying static lighting to dynamic objects and effects, as well as some usual editor upgrades.
02/23 and 02/24: starting to implement static light sampling, not much luck yet...
...but in the evening I managed to get a part of it done...
...and later - the whole thing, with some improvements:
...including sample smoothing by weight normalization (removed the "dark rectangle" on the head, left side):
02/25: MSAA support was added...
...and some basic lens flares appeared as well
02/26: added adjacent surface dragging in editor, not really visible in the screenshot though...
...and later I updated the lens flares and implemented animation track blending (in the screenshot, the legs are standing but every other body part is running)...
...just to remove the flares later (for now, they really don't work so well without a strong light source) and add directional (sun/moon) light support for lightmapping
02/27: implemented level map generation and rendering
02/28: started to work on particle systems...
...and a particle editor
03/01: implemented high quality particle stretching (simulation of moving light source exposure to camera)...
...and finished the particle editor
03/02: made rendering upgrades to editor (debug drawing, entity icons):
So I didn't get to work as much on lighting or animations as I thought I would. I expect to do so this week but there are no promises to be made. To avoid burnout, it is important to not to force anything on myself and have a detailed step-by-step plan for implementing anything big, with options for testing between steps.
As for the static light sample point cloud, I made it as simple as I could:
- sample points are placed manually in the editor (so that they could be moved in case of math precision issues and I wouldn't have to make a generator)
- the mesh from those points is built in a very brute-force way, all added points are checked for all other points to create triangles (and if new triangles are more regular than old ones, the old ones get deleted and all their points are back in queue), then vertex adjacency (need just one common point for triangles to be adjacent) data is generated from those triangles
- interpolation is currently done in 2D only, by first looking up the closest triangle starting from the first and testing all adjacent ones if they're closer
If you think I can keep up the development, and if you're interested in what's going to be made here, please visit the Steam Greenlight page and vote for the game. It would mean a lot to me.