I don't know if anyone remembers Falling Tiles from Starcraft 1, but it was by far my favorite gametype. After waiting patiently, it seems like noone is going to try and remake it- so I decided I'd give it a shot. A short, easy project, right? Well, it would be, if I could figure out how in the world to scan for 'Islands' like in the original.
For those that don't know, Falling Tiles was a game where there was no terrain, but instead a large array of floortile units. Each player was a Corsair, and when Disruption Web was cast, tiles within the search area of the spell would be destroyed. If a corsair was not standing on a tile, that player would lose a life. As a core feature of the game, separating groups of tiles from the 'main' group would result in that 'island' being destroyed- no cost! Essentially, the game seemed to scan for 'island' features, count up the tiles of each, and kill each tile in the smaller one.
I'd love to have the game made again in Starcraft 2, but the Island algorithm is holding me back. I have every other feature of the game completely ready- including the tiles, 'off-the-map' detection, victory, units, abilities, etc etc. I really just need advice on where to go from here. I don't know where to begin with something that complicated- I hope someone here can point me in the right direction so I can bring this great custom map to Starcraft 2.
Okay so, I've worked out a bit of a hackish algorithm, but I need a reliable way to test it. I tried to attach 'Text Tags' to each tile that would display it's island id (what I use to sort through them and identify what island they're a part of) but those kept stacking and eventually crashed the game (ha...ha that's happened so many times with this map =\)
Anyway, is there an easy way to remove all text tags from a map without having to manually scan through each coordinate?
I don't know what to suggest other than saving each tag in a variable and destroy them once you don't need them. It might sound like too much effort but the truth is it'll take only around 10 min to think through and implement, but will vastly improve your testing enjoyment. Don't be lazy, save yourself from headaches by linking stuff properly :P
Also I made Falling Tiles remake for this minigame project, but It doesn't seem to be having any public progress =(
..So I guess I'll be looking forward to your implementation.
If you don't mind me asking, how did you implement the island detection? I have my solution, but it isn't working 100% yet- I'm still working on it- and any input at all is worth looking into. Right now I'm using a simple 'fill' algorithm and applying an ID number to each island as it's found, then destroying whichever one has the least tiles contained within.
Insofar as the Text Tags are concerned, yea, I went ahead and did the loop. It wasn't so much out of laziness (the loop was already constructed in all of 30 seconds) but moreso that creating all of the Text Tags would freeze the game whenever they were created and re-created/destroyed. I suppose it's just for debugging though, so it'll be okay.
Looks like my fill is 100% working now. It kind of has a toll on FPS, but it's not enough of one that it cripples my computer, so hopefully it'll be okay. I expect the map will be on the Arcade for testing later today. Thanks for reading, guys.