I originally planned to spend July continuing to improve the game’s visuals, especially its 3D environments. But after a June already packed with work in that area, I ultimately felt like switching tasks. The game’s current appearance has allowed me to define my creation process and establish an initial prototype foundation, so this was the right time to move on to other core systems.
Designing the Class System
The first task I tackled was laying out the class system. I have plenty of class ideas, but ideas alone are not enough. Each one needs a reason to exist, a purpose, and a certain level of balance to earn its place in the game.
Defining Each Class Through Clear Axes
I first had to rework and clarify the stats used in the game, since those stats then help define class specializations. To create classes that are varied and sufficiently different from one another, I also built a table around several key axes: role, resource used, range, targeting, risk, faith, and hook.
| Axis | Tags | Role in the design |
|---|---|---|
| Role | Damage, Shackler, Tank, Protector, Healer, Positioner, Summoner, Buffer | What the job primarily brings to combat. |
| Resource | Weapon, SP, MP, FP, MP+SP, SP+FP, MP+FP, MP+SP+FP | What the job consumes, uses, or converts. |
| Range | Melee, Short, Mid, Long, Global | The distances at which the job operates effectively. |
| Targeting | Single target, circle, cross, line, diagonal, cone, free tile, self aura, field, chain, bounce, trap trigger | How the job applies its range. |
| Risk | Stable, Burst, Setup, Volatile, Sacrificial, Resource hungry, Conditional, Snowball | The job’s power curve or main tradeoff. |
| Faith | Indifferent, Low, Mid-low, Mid, Mid-high, High | The job’s natural relationship with FP. |
| Hook | Terrain, Sacrifice, Drain / Steal, Facing, Height, Marks, Stances, Conversion, Reactions, Equipment, Corpses, Links, Weather, Summon synergy, Items, Beast control, Copy learning, Field law | The creative twist that gives the job its gameplay identity. |
Each axis offers several possibilities. The main roles, for example, are Damage, Shackler, Tank, Protector, Healer, Positioner, Summoner, and Buffer. A class may fulfill one or more roles. It will consume a type of resource, such as its weapon, SP, MP, FP, or a hybrid of several resources. It will also have one or more dominant ranges among melee, short, mid, long, and global, as well as a targeting type and the other attributes defined in the table.
This framework lets me create classes in two ways. I can start from several axes, combine them, and imagine the class that emerges from that mix. Conversely, I can invent a class first and then assign the axes that fit it. This overview also reveals which types of classes are still missing from the game, allowing me to balance the whole system and offer classes of every kind.
I will not detail every axis here, as that would take far too long, and this work is also an integral part of Embers Tactics.
Six Distinct Base Classes
Once this framework was defined, I established six base classes. Each one has, among other things, three main roles, two dominant ranges, and three primary stats. This method gives me six genuinely different classes, each specialized in relation to the others. Of course, all of this may still change in the future.
| Class | Main roles | Range | Primary growth | Secondary growth | Minor growth |
|---|---|---|---|---|---|
| Soldier | Tank, Protector, Damage | Melee, Short | MHP, DEF, ATK | MSP, RES | SPD, MDF |
| Fighter | Damage, Shackler, Positioner | Melee, Short | ATK, SPD, MSP | EVD, CRI, MHP | DEF, RES |
| Scout | Positioner, Damage, Shackler | Melee, Short, Mid | SPD, EVD, CRI | MSP, ATK | MHP, RES |
| Cleric | Protector, Healer, Buffer | Short, Mid | MFP, MDF, DEF | MAT, MMP, RES | MHP, MSP |
| Apothecary | Healer, Shackler, Buffer | Short, Mid | MHP, MSP, RES | DEF, MDF | ATK, SPD |
| Apprentice | Damage, Shackler, Buffer | Mid, Long | MAT, MMP, MDF | RES, MHP | MSP, SPD |
Progression Across Four Tiers
As a reminder, Embers Tactics uses a class system similar to FFTA and FFTA2. Changing class therefore depends on prerequisites based on a certain number of abilities learned in specific classes. Class X could, for example, require two abilities from class A and two abilities from class B.
Specialized and Balanced Evolutions
Starting from this principle, I organized the system into four tiers. Base classes belong to Tier 1, and each has four specialized evolutions leading to Tier 2 classes. The first is a pure specialization that only requires abilities from the relevant base class. The other three variants also require abilities from other classes.
This system allowed me to balance the different options. Each starting class contributes to three cross-class evolutions, and all of them participate equally in unlocking Tier 2 classes. No class is left behind, and every one offers viable paths.
An example will probably make this clearer. Take the Soldier. Its pure specialization is the Guardian, which requires three Soldier abilities. The other three variants require two Soldier abilities and one ability from another class. This additional ability steers the Soldier toward a different specialization: a Scout ability unlocks the Patroller, a Cleric ability leads to the Paladin, and a Fighter ability leads to the Berserker.
I will not detail every Tier 2 class here. However, I designed their prerequisites so that every class appears equally often in the requirements of the others. Every class therefore helps unlock other classes.
| Class | Requirements | Description | Main roles | Range | Primary growth | Secondary growth |
|---|---|---|---|---|---|---|
| Guardian | 3 Soldier | Living wall that holds an area and absorbs pressure. | Tank, Protector, Shackler | Melee, Short | MHP, DEF, RES | ATK, MSP |
| Patroller | 2 Soldier + 1 Scout | Road soldier who secures the flanks and intercepts breakthroughs. | Tank, Protector, Shackler | Melee, Short, Mid | MHP, DEF, EVD | MSP, RES |
| Paladin | 2 Soldier + 1 Cleric | Sacred frontline protector, half shield and half faith. | Protector, Tank, Healer | Melee, Short, Mid | DEF, MFP, MDF | MHP, ATK |
| Berserker | 2 Soldier + 1 Fighter | Line breaker who trades safety for violence. | Damage, Tank, Shackler | Melee, Short | ATK, MHP, MSP | DEF, CRI |
Advanced Classes Through Tier 4
This gives us six base classes and twenty-four Tier 2 classes, for a total of thirty. Tier 3 and Tier 4 classes still remain, but I will not use exactly the same system for them. Otherwise, the number of classes would quickly explode and become impossible to manage.
Tier 3 will mainly focus on specialized and hybrid classes with more advanced gameplay. Tier 4 will be reserved for very special, restricted, unique, and ultimate classes. Reaching around fifty classes would already be an excellent number. Since each one will need unique traits, this represents a great deal of work.
Once again, this is the system I have established and envisioned today. It may change in the future.
A Complete Gameplay Foundation
After completing this work, I started implementing the entire The Liquid Fire tutorial series, which I use as a foundation for building the game. Embers Tactics diverges significantly from the tutorials, so I have to adapt everything, but they continue to guide me.
I now have a complete gameplay foundation, including the turn system, attacks, spell ranges, different targeting types, initiative, critical hits, and many other elements.
Rethinking Damage and Leveling
During this implementation, and also while designing the classes, I had to envision the entire damage and stat progression system. It may not look like it, but this is a serious challenge. Designing a well-balanced game makes the subject quite complex.
My two main references are Dofus and FFTA/FFTA2. Their damage and leveling systems are completely different. Since I imagine Embers Tactics as sitting halfway between these two games, I had to rethink them as a hybrid system.
The Simplicity of FFTA and FFTA2
The FFTA and FFTA2 system is deliberately very simple, partly because it relies on only a few stats. If we set aside evasion, critical hits, and other parameters to focus only on damage, it uses HP, physical or magical attack, and physical or magical defense.
Each of these stats simply increases through classes and equipment, with no other variables involved. Damage calculations depend only on attack and defense.
The Many Variables in Dofus
In Dofus, the calculation is much more complex because it depends on several variables. Even if we set aside the different damage stats, such as intelligence, strength, agility, chance, and power, several steps are involved.
Each attack first depends on the power of the spell or weapon. The relevant stat then multiplies that power value, after which additional fixed damage is added. The result is finally reduced by percentage resistances and then by fixed resistances. This is broadly how the system works. Defense is not strictly a stat, but resistances fulfill a comparable role.
Finding a Hybrid System
I therefore wanted a hybrid system. Embers Tactics relies on simple stats like FFTA2, but I want its calculations to be slightly more elaborate, like Dofus, without making them overly complex. My system needed to meet several constraints:
- Use spells and weapons whose power forms the basis of damage, as in Dofus.
- Keep stats simple, as in FFTA and FFTA2.
- Prevent weapons from quickly becoming useless during leveling. A level 25 weapon should still be useful at level 35, even if it is less powerful, rather than becoming too weak to ever equip.
- Avoid making leveling depend only on classes. Every Embers Tactics character will be unique and must retain their own value without undermining the class system.
- Meet other smaller constraints, such as a maximum of 999 HP.
All of this inevitably makes the system more complex. But after a great deal of thought, experimentation, and revision, I arrived at a formula that checks every box and seems balanced throughout the entire leveling curve. I will not reveal any more here!
Giving the Game an Interface
Having in-game assets is good. Having functional gameplay is good too. But something was still missing: the interface! In a game like this, the interface takes up a significant part of the experience and cannot be neglected.
I created several prototypes before reaching this first result for a unit’s in-combat stats panel.
It displays all the important information: the unit’s name, portrait, class, level, HP, MP, SP, FP, and stats. All the colored and gray circles visible in this prototype are placeholders for future icons, which I do not have yet. This is still shape design work. The design will need further refinement and more polished textures.
Even so, the base interface is now implemented and functional for unit stats panels, the damage panel, and dialogue.
Aldric and Lyss Join Aelis
To continue with the visual and artistic side of the project, and to close this devlog, Celestra worked on two more characters: Aldric and Lyss. Together with Aelis, they will be the game’s first three characters.
I will not reveal any more about their stories for now. I can, however, show you the beautiful portraits she has created once again. You can find the complete designs on Celestra’s ArtStation page.
July Recap and What Comes Next
That broadly covers everything I accomplished this month. I spent a great deal of time thinking through the class and leveling systems, but I am very happy with the result. The interface also brings more life to the game, which is gradually becoming more tangible.
I am not certain that I will spend much time working on Embers Tactics in August. The next devlog may therefore arrive in early October and cover September. Until then, see you soon!