I’m sure you’ve played games like Final Fantasy 6 where the enemies are on one side and your party is on the other. When it’s a units turn, he picks an ability and then picks a target (friend or foe). Pretty simple right?
Well I certainly thought so.
If you only have a few things to consider, targeting can be pretty straight forward. But things start to get a lot more complicated when there are different unit types with different target types. In Grrbls, effects that persist are of 3 general varieties. A buff is something that provides a positive effect and lasts a certain period of time. An affliction is something that provides a negative effect and lasts a certain period of time. Perks are permanent effects that generally don’t go away at all. Targeting in Grrbls must account for being able to target units, and their “unit effects”. But this also can cause a cascade of reactions too, which each have their own targeting — but that targeting is relative to that unit and the unit that triggered the response. Further complicating things, is sometimes a targeting is automatic (e.g. All enemy units) but others are specific (e.g. 1 enemy buff).
In addition, there are also phases to when targeting matters, and there are also special cases when another unit blocks for another. As it stands right now, I have a file that just lists the different types of targeting possible. This list will grow, but as it stands right now, it’s at almost 40 different types.
Of course, this will all be abstracted for the player to enjoy, and the experience should be very intuitive. Indeed much of the logic is there for the AI to know what targets to pick and so forth. But I thought this was an interesting thing share as it turned out to be way more complex than I first expected!