Submissions from 2017-10-15 to 2017-10-16 (2 total)

I was visiting my parents most of the weekend, so not a lot got done, but I managed to find some time to tinker Sunday evening.

Mostly, I'm just trying to get my bearings in Unity's new TIlemap system. So tonight, I wanted to write a 'programmable' tile that changes based on the context of other tiles around it. Unfortunately, the documentation for any of the non-trivial features for the Tilemap system still seem to be a work in progress, but I did find this random Google Doc about an Experimental build from a few months ago that seems to be the best source of documentation.

With it, I was able to make this:

v

95% of the logic is copied from that Google doc, so I can't take much credit for it, however it did have a couple issues I fixed:

  • Outdated API. A few functions have different names, parameters, or just don't exist
  • The example didn't provide a sprite sheet, so I had to sorta reverse engineer which tile types (island, cross, straight, corner, tee) the magic numbers referred to. Same with rotation.
  • The example is actually incomplete, in my opinion, because it has a concept of an 'island' tile (i.e a tile with no neighbors), but not a 'cap' (i.e exactly 1 neighbor). This actually changes the masking logic a lot
Overall, I'm happy I was able to get this working, even if it's not my original work. Looking ahead, I can see it getting used to make procedural pipes and paths throughout my dungeon, so I got that going for me. which is nice...

Put a little bit of thought into creating a few different enemy kinds today. Meet the current crew:

  • Cube - Normal rate of fire, easy to kill
  • Heavy Cube - Slightly elevated rate of fire, hard to kill
  • Circle - Very elevated rate of fire, easy to kill
  • Heavy Circle - Very elevated rate of fire, hard to kill

Yep, got some real complicated names right there. I'm sure the above enemy stats will be tweaked (or completely revamped), but, now I have a small handful of actual enemy variants to use while testing level segment concepts.

Speaking of Level Segments, the new segment I've been testing with (1) demonstrates at least one example of each of my new enemy types and (2) has a new enemy activation concept implemented. You can now set triggers that will activate a new group of enemies. In my example segment, I have it configured to activate a new batch of enemies after you kill one of the originally deployed 'Heavy Circle" enemies.