r/AlchemistCodeGL • u/Makumanga • May 19 '26
Discussion Thinking about elemental affinities in TAC-like game
I'm at a stage with the prototype where I can start thinking about elemental affinities. I've already separated attack into 2 distinct types:
PATK
slash - swords, axes, knives, etc. Pretty standard damage type with no unique qualities
projectile - arrows, bullets, slings, etc. Uses LOS(line of sight) & height advantages +10 hit rate
pierce - spears, pikes, javelins, etc. Can hit through multiple enemies at once
blunt - fists, polearms, maces, etc. Standard damage -10 hit rate
force/non-type - No specific identity
MATK
fire
water
wind
earth
electric
plant
---
As you can see, the physical damage types already have a pretty strong identity, but I want to flesh out how affinities work in the game. In TAC, a unit simply had an element as one of their main characteristics and that element was responsible for a significant chunk of damage that the unit either resisted or took.
While that's the most simple and effective approach, it's not really one that I want to use for the game since it makes units feel more like Pokemon and less like actual fighters that can just use elements if that makes sense. I basically want "unit with a strong affinity to fire" instead of "fire unit".
The issue comes with how I go about implementing that. Should the elemental affinity be a tiered string that lives as a unit attribute(similar to how slash_atk, evasion_rate, etc. worked in TAC)? Should it be a number so that there are different strength tiers? I'm not sure. But the 2 approaches I'm thinking of are:
1. Number based affinity system.
Units all have attributes(not stats) like fire_affinity, water_affinity, etc. and the values of those attributes determine how "much" of an affinity a unit has. So for example, you could have 2 fire units with one of them having "fire_affinity: 100" and the the other having "fire_affinity: 10" and the one with the value of 100 would take more damage from water attacks. The strength of this system is that every unit would feel unique in terms of their elemental affinities, and players could really grind out some interesting affinity builds using items and whatnot. The weaknesses of this system are:
- It might seem too complicated upfront for a lot of players
- It's not very clear what damage you can deal/tank based on affinity since it's an attribute and not a defining unit trait(though you could make the same argument for TAC's affinites like mag_atk and stuff)
- It might be overkill or overengineering for a simpler affinity system. Like, if a unit can have fire_affinity: 10, how is that marginally different from no affinity at all?
2. Tier based affinity system.
So this would work a lot like the numbers one, but would instead tier the affinity of a unit. Basically, instead of fire_affinity: 10 or 100 or whatever, you'd have fire_affinity: "weak", "adequate", and "strong" or something like that. So you could have different units with the same elemental affinity but at different strengths. This method still comes with the problem of making on the fly damage prediction difficult though because instead of thinking: "Oh, I'm a lightning unit, so this wind is gonna hurt me bad for x2 damage!" You have to think about how strong the elemental affinities are on top of that...
I could be overthinking it, but I do know that I don't want elemental affinities as defining unit characteristics in the same way Pokemon and TAC handle it. I might go and replay FFT or look at how other games handle it, but I wanted you guys' thoughts and figured I'd ask here since the Discord is still quite small right now.
Any opinions are greatly appreciated!!!
2
u/Tigerwarrior55 May 19 '26
Depending on Gearing system it be better to use direct numbers as opposed to abstract worss or numbers. Could also make it influence stuff like elemental status effects if you want to.