I love counters so much.
Like, a lot.
They’re really cool.
Let me tell you why.
For starters, you can use counters as an if gate. We have a counter with a starting value of 0, and a target of 2. The counter checks to see if property taco is true.
taco is a boolean and starts at False, but in the game it can be updated to true. When it does so, it sends out a message to the counter and increments it by one.
Ok, what now?
Well, the counter has to have a triggering check, something that TELLS it to run the if statement. Lets say that trigger is the player entering a zone. When player enters zone, broadcast on incrementTrigger. BAM! Checker without the checker. If taco is false, then the counter only goes up to 1, which is not its target value of 2. Nothing happens. But if taco IS true, then it goes up to 2, hits its target value, and BAM. You got yourself an if statement. It can even reset once it hits target value!!!
I love them so much.
Technically counters are Turing complete too, I believe. They can act as a UTM (Universal Turing Machine), so they can simulate literally any computable thing, given enough processing power, memory, and a GUI.
They can be used as multi-stage checkers in much of the same context as previously mentioned. They can be used as counters, literally, in counting tasks players have done towards a goal, like an achievement. Not to mention, they are the easiest way to interface with a property for simple calculations.
Finally, they’re incredibly cheap memory-wise, have scope settings, and can be made invisible.
Counters are the best device in Gimkit.
I said it.
If you disagree, let’s hear what else could possibly come close.
Bring it on.