It's for either a "Starcraft" variant or my "Ratscraft" game. I am trying to make a combat system that will not use any values. The combat resolution would be resolved by comparing properties.
The basic behind Starcraft is that every unit have somewhat a rock paper scisor relationship with all the other unit. Now one thing I could do is simply say this unit counter that unit. But I want a more flexible system where I do not force the relationship because technology upgrade could actually change this relationship.
So I had an idea that each unit could have a series of properties that could be identified by an Icon. During the combat, you would compare the icons of the units with the icon of the attack to know if the target unit gets destroyed. Here are the various properties I have though so far with some examples:
__Health and Damage__ : This is the basics of the system. Each unit has a health level which can be either High or Low and unit can perform High or Low damage attacks. So Low kills Low, and High kills Low and High.
__Ground vs Flying__: Each unit can either be a ground or flying unit and each attack can target one or both type of unit. So flying unit can only be targeted by flying attack and ground unit by ground attack.
__Mechanical vs Biological__: Each unit has a type which can either be Mechanical or biological. Some attack could be restricted to certain type of unit. For example you could have a "strong vs mechanical attack", so any strong or weak mechanical unit would die from this attack but not biological ones.
__Range VS Melee__: I am not sure yet about this one. Probably melee units must target opposing melee units first, and when there are no more melee units they can target range unit. Range unit can target any unit.
So when a unit attack another unit, you will compare each of these properties to know if the target get's destroyed or not. So for example, you could have:
strong health + Mechanical + Flying Unit
that could be destroyed by a
Strong + Flying + Range attack
So in the end, all these property combination will results in some sort of Rock-Paper-Scissor relation between the units.
Do you like the idea?
Do you have additional property suggestions?
Would it be too complicated to resolve?
Any idea on how to add randomness to this system?
Thank you for any feedback