8 hours, more spawn location selection.
Created a couple more query functions: get tiles with min number of occupied adjacent tiles, get tiles adjacent to given occupying object.
Calls to spawn WS and FS now take a bool for indicating if there are special placement parameters, and both Min dist and Max dist. These parameters, if enabled, will determine the proximity of the spawning object to another already occupying object. If the conditions cannot be met a standard unparameterized spawn occurs.
All occupiers of tiles are now created by functions in the spawn director rather than events. These functions pass back the spawned object after the call so that we can tinker with things like spawn rate on the spawners and such. Shooter spawn function rewritten.
Started tinkering with how these parameters let me adjust the feeling of existing waves. Its encouraging. However it has also showed me that there are more increasingly specific tile requests I would like to be able to make.
Begins of optimizing the tiles assigning and scoring, or figuring out how to carve space for the calculations to take place without effecting frame rate. That second option seems whack because it will vary depending on the machine, we'll see how it all goes though.