Battle System in a tactical battle (srpg style)

Started by
9 comments, last by Plethora 10 years, 11 months ago

I've been diligently working on my game for awhile now, and I have a pretty good idea of what I want to do with my battle mechanics overall. But I'm starting to get into the details of coding it for real (beyond the very basic stuff), and there are still some aspects of it that I haven't nailed down in my design. In this post I'm going to detail what I have decided, as well as some of the decisions I have left to make. I'd love some feedback.

I'd like to say that specifically I'm trying to balance the complexity in such a way that allows for varied gameplay from one battle to the next, but also allowing a relative novice to the genre to catch on pretty quickly. The system can have some complexity to it, but that complexity should be somewhat obscured behind a straightforward front. Think of Pokemon... your average player probably doesn't really dig very deeply at all into the combat mechanics. All he/she really needs to know is higher stats are better, there is a difference between special skills and physical skills, and certain types do more or less damage against other types. Once those are down, pretty much all outcomes in a battle will "make sense". However, for the hardcore among us, you can dig beneath the surface and see that there is some complexity to the system. Pokemon strikes a good balance there.

Moving on...

What I've decided on to date:

  • I'm using an initiative based turn system. This means that rather than each side having a turn in which it can move all its units, the units themselves will get a turn based on some initiative score. Faster units will, over the course of a battle, get more turns than slower ones (this will be balanced in various ways).
  • I intend to do a lot with having different types of maps with different goals and victory conditions. I also wish to vary size and scope of battles. Some will be on small maps and the player will be able to use ~4-5 units. Others will be much larger and allow 10+ units.
  • The things a unit can do will be somewhat standard for the genre. A unit will have a regular attack, some selection of special skills with various effects, and so on.
  • A Unit, on its turn, gets 2 actions. These actions can be used to move, attack, move twice, attack twice, use an item, etc. I'm not against having special rules to balance things out if they seem overpowered. Perhaps a second attack would carry a penalty, for example. This will be tested and dealt with appropriately.
  • I intend to make damage as deterministic as possible, with little/no randomization. Attacks will always hit, and the amount of damage dealt will be transparent and knowable to the player.
  • I'm 95% sure that I'm going with a system where a character has 4 basic stats (Strength, Intelligence, Speed, Cleverness) that will never change. It's a big part of how characters will differ from one another when they all have access to some subset of the same skills. There will be some additional derived statistics that will change over time. For example, a character's Attack Level would be Strength * level or something like that.

Ideas I've had/Things I still have to figure out:

  • Make all damage dependent on the appropriate statistic directly. I regular attack will do a characters attack level - the defenders armor in damage. A "power attack" will do Attack Level x 1.5 - armor, and so on. It's simple to understand, but not particularly interesting.
  • I could do the above, but throw in a weapon skill stat of some sort that would build up over time as characters use one weapon type over another. Then throw in another multiplier based on that stat. Still not all that interesting, but it would allow some additional differentiation of characters.
  • I've thought about adding a weight stat to all equipment. This would effect a characters initiative and possible movement. Going lightly armored would allow you to get around a battlefield very quickly, but heaven help you if you get caught by something big and strong.
  • Been thinking about how to balance out extra turns that some chars would get over others movement-wise. Balancing damage output seems workable (you do half the damage twice as often kind of thing), but movement is a little more tricky I think. Maybe its just ok to have smaller weaker units running all over the place. Maybe I should just leave it be for now and adjust later if necessary.
  • I've thought about having multiple attacks (2? 3?) with counterattacks from the defender be the standard. This seems like it has pros and cons. Pro: It allows for a diverse range of modifiers. Example: Burst damage, a character performs all 3 of his attacks immediately and does not recieve counterattacks until the end of combat. Con: It kind of clashes with the initiative based turns, where I am already trying to abstract the effects of speed on combat.

Well, that's what I have for now. I would welcome any/all feedback and suggestions. Thanks for reading!

I'm working on a game! It's called "Spellbook Tactics". I'd love it if you checked it out, offered some feedback, etc. I am very excited about my progress thus far and confident about future progress as well!

http://infinityelephant.wordpress.com

Advertisement
I'm not convinced about the combination of unit-level turns and two actions per turn. One action only would be conceptually simpler and increase the importance of turn order and speed (e.g. allowing a fast unit to retreat after seeing the enemy advance, instead of letting it act only after the enemy has completed a move+attack turn).
Note that special combinations like shooting while moving can be treated as single actions.
 
The same applies to multiple attacks and counterattacks: compared to the possibility of attacking once and retreating if fast enough or staying in combat only long enough to kill the opponent or until the number of received attacks is safe, commitment to an extended exchange seems highly and needlessly inflexible.

Omae Wa Mou Shindeiru

The same applies to multiple attacks and counterattacks: compared to the possibility of attacking once and retreating if fast enough or staying in combat only long enough to kill the opponent or until the number of received attacks is safe, commitment to an extended exchange seems highly and needlessly inflexible.

I tend to agree, but its nice to get a second opinion on the matter. How do you feel about counterattacks in general, be it a regular thing that is balanced as such, or some variety of special ability?

I'm working on a game! It's called "Spellbook Tactics". I'd love it if you checked it out, offered some feedback, etc. I am very excited about my progress thus far and confident about future progress as well!

http://infinityelephant.wordpress.com

You mentioned that units have a set of stats that never change. Is there any type of advancement (automatic RPG-style, new equipment, heart container collection, buying upgrades with gold/credits/cash, etc.)?

Does initiative effect both the order units go in and how often a unit acts?

Making the faster units do less damage and the slower units do more damage seems to be a fairly common balancing trick.

Multi-attacks combined with being able to attack twice in a turn may need some consideration.

I'm using an initiative based turn system. This means that rather than each side having a turn in which it can move all its units, the units themselves will get a turn based on some initiative score. Faster units will, over the course of a battle, get more turns than slower ones (this will be balanced in various ways).

How do you intend on messaging this? It feels like it could be confusing.

The best implementation of a related system I've seen would be in Radiant Historia. I recommend you have a look if you're not familiar with the title.

I intend to do a lot with having different types of maps with different goals and victory conditions. I also wish to vary size and scope of battles. Some will be on small maps and the player will be able to use ~4-5 units. Others will be much larger and allow 10+ units.

You haven't specifically discussed the actual tactical ramifications of your gameplay. Are there advantages to flanking, positionning, terrain elevation, etc? How do you tie terrain with your attacks? Its good that maps will differ in party scope, but to make things fresh, its important to have terrain that matters, and not just for movement (though it helps).

A Unit, on its turn, gets 2 actions. These actions can be used to move, attack, move twice, attack twice, use an item, etc. I'm not against having special rules to balance things out if they seem overpowered. Perhaps a second attack would carry a penalty, for example. This will be tested and dealt with appropriately.

I've been toying with a tactical game myself for a number of months now. In the end, I had to rule out that the unit could either move-attack, attack-move, or move-move, but it could never attack-attack for balancing reasons. If you DO manage to have this work without introducing an arbitrary rule (such as the second attack being weaker) do let me know how you've achieved it.

The things a unit can do will be somewhat standard for the genre. A unit will have a regular attack, some selection of special skills with various effects, and so on.

Will special skills cost an 'action' (move or attack?). I like the complexity of Descent: Journeys in the Dark in that regard, but the action points economy is not all that straightforward.

I intend to make damage as deterministic as possible, with little/no randomization. Attacks will always hit, and the amount of damage dealt will be transparent and knowable to the player.

So, essentially, its more strategy than rpg then? Will you be employing an armor-like mechanic for defense where damage is reduced? If so, how do you plan to break potential stalemates where defenses have gotten too high for regular attacks to pierce? (That's generally where random comes in handy, hence my asking).

Intelligence, Speed, Cleverness

Intelligence, I assume, for magical attacks.

Speed, for movement on the map?

Cleverness... no clue :)

Make all damage dependent on the appropriate statistic directly. I regular attack will do a characters attack level - the defenders armor in damage. A "power attack" will do Attack Level x 1.5 - armor, and so on. It's simple to understand, but not particularly interesting.

You *could* use damage types as imprints. My initial system used a triple armor type of approach, where all units had a value for each of the armor types (and even specific armor bonuses described in their special abilities). Since all damages would be of either type, it was deterministic, but not all units fared the same depending on what they were faced with.

It allowed me to trully build an appropriate infantry/archery/cavalry/pikeman logic in my game where all interactions made sense.

For example, the pikeman would pierce the cavalry's armor easily, but not the infantry's, and the archery would decimate the infantry and pikeman easily, but not the mobile cavalry, etc.

If you can make your system revolve around a small amount of damage types, it can remain straightforward and yet have some depth. Larger stats will still be better (after all, if you have a 13 Slashing damage, even if its the highest armor score of your opponent, I bet you'll be able to dig in some damage anyway).

In the context of an RPG, it would be great to field axemen (slashing), man-at-arms with their hammers (bludgeoning) and lancers (piercing) to insure you have an answer to each enemy's armor. Plus, having actual 'piercing damage' that ignores all armor on weaker attack units would give you versatility at the cost of overall damage score.

These are options the player can enjoy having and gauging.

I've thought about adding a weight stat to all equipment. This would effect a characters initiative and possible movement. Going lightly armored would allow you to get around a battlefield very quickly, but heaven help you if you get caught by something big and strong.

That'd be interesting. Movement against resistance or ability to deal more damage is also an interesting player decision. If you could put it in a concise way, it'd be better:

- Regular armor (armor: 3)

- Better armor (armor: 4, lose 1 movement point)

- Regular Sword (dmg: 6)

- Better Sword (dmg: 7, lose 1 movement point)

The player could technically create a more tanker-variant of the unit, or a more vicious one, or even both, knowing that mobility might become an issue.

Been thinking about how to balance out extra turns that some chars would get over others movement-wise. Balancing damage output seems workable (you do half the damage twice as often kind of thing), but movement is a little more tricky I think. Maybe its just ok to have smaller weaker units running all over the place. Maybe I should just leave it be for now and adjust later if necessary.

This depends on how you plan on using terrain. If your mobile units can easily access the higher ground, and it gives them +20% damage on their ranged attacks, they won't necessarily be weaker even if their weapons are. Before long, they can decimate their enemies while keeping out of range too easily. On the other hand, if terrain is largely unused, or only prevents mobility, then the absence of a strategic advantage will make it not desirable to have mobile units.

You have to strike the right balance to make this viable, and terrain interactions will be key.

I've thought about having multiple attacks (2? 3?) with counterattacks from the defender be the standard. This seems like it has pros and cons. Pro: It allows for a diverse range of modifiers. Example: Burst damage, a character performs all 3 of his attacks immediately and does not recieve counterattacks until the end of combat. Con: It kind of clashes with the initiative based turns, where I am already trying to abstract the effects of speed on combat.

I'd go against that personally. You want players to make decisions. If one decision creates a sequence of 'things', its not as fun, and the strategy depth is lost on the player.

Counterattacks can be interesting, but they shouldn't be the norm. Perhaps there are conditions to be met, or special abilities to have. I can see a pikeman having the 'first strike' when an enemy comes in range (kinda like Overwatch in X-Com for example) but if every unit gets to retaliate when attacked, they don't really need to attack themselves, just make sure they're the painted target.

I'm not convinced about the combination of unit-level turns and two actions per turn. One action only would be conceptually simpler and increase the importance of turn order and speed (e.g. allowing a fast unit to retreat after seeing the enemy advance, instead of letting it act only after the enemy has completed a move+attack turn).

This creates a number of bad corner cases:

You'll play cat and mouse with ranged/melee encounters where the ranged unit seeks to remain out of range until you change your mind, and the melee needs to keep chasing, knowing that, when it stops, its going to receive a pounding.

Giving them the move/attack or move move alternatives allows the ranged unit to do kiting damage, and the melee unit to double move to close on the target. If the ranged unit opts for a move move to move away, then the melee unit can also move move and exit the range of the ranged unit. Also, given the terrain, a well placed move-attack by the melee unit might corner the ranged unit and result in an engagement.

On paper, it doesn't look good, but when you actually start playtesting, it solves a LOT of boring problems that occur on tactical landscapes between units of different class.

You mentioned that units have a set of stats that never change. Is there any type of advancement (automatic RPG-style, new equipment, heart container collection, buying upgrades with gold/credits/cash, etc.)?

Indeed, what is the vector of advancement of the player? Is he present in the battles as a character, or are only his troops depicted?

How do you hire/acquire new units?

Thanks for the great replies! Before I get to my answers perhaps I should explain that, in many ways I am making a clone of a game called Shining Force on the Sega Genesis from back in the day. It's really not a direct clone in any way, but I'm kind of using that as a basis, if you will, and expanding from there. My general rule of thumb is that there are particular things on which I want to spend my focus... for example the biggest one is character advancement and development (which I'll get to shortly). On the other hand, whenever I run into a design decision which does not really fall into any of the categories I've defined as notably important to me, my rule is "Do what Shining Force did". The fact that I've decided ahead of time what mechanics I want to mess with and which I want to leave alone is one of my ways I'm guarding against feature creep.

You mentioned that units have a set of stats that never change. Is there any type of advancement (automatic RPG-style, new equipment, heart container collection, buying upgrades with gold/credits/cash, etc.)?

Indeed, what is the vector of advancement of the player? Is he present in the battles as a character, or are only his troops depicted?
How do you hire/acquire new units?


All units are named characters with a backstory of some sort (like Shining Force). The general idea is that, as you progress through narrative, you will encounter various people who wish to aid your cause and will join you. In many cases the people that join you will be somewhat dependent on decisions you've made, and there will definitely be "secret characters" that can be found in secret areas or through quest chains or what-have-you. The set in stone statistics are the primary way in which I intend to practically differentiate one character from another, along with the advancement system I've designed.

Characters will have a kind of skill grid in which to distribute points as they level up. I'm calling it a quadrant system, and it works like this. A quadrant is a 3x3 grid of skills related to a given category. So one quadrant might be 1 handed weapons, while another might be nature magic. Each character will have a set of 4 quadrants in which to place skill points (which gives them a 6x6 skill grid). Exactly which 4 each character gets will be somewhat related to their stats.

I intend to have two other smaller systems that influence development. Firstly a "weak" class system, ie rather than a class that determines which skills you can advance in, have the skills you advance in determine your class. So, for example, if you put 2 points in sword, 2 in shield, and 1 in healing, you would be eligible to be a paladin. Being a paladin might get you a special defend skill and a bonus to healing or something like that. At any time a character might be eligible for several classes but has to choose one.

Also, I am hoping to include a trait system (this will get cut for time though I'm sure). You could think of this as character level achievements that would grant small passive bonuses. Maybe you complete a quest where a character becomes famous a great swordsman, well now that character has a 5% bonus to damage with a sword equipped.

How do you intend on messaging this? It feels like it could be confusing.
The best implementation of a related system I've seen would be in Radiant Historia. I recommend you have a look if you're not familiar with the title.


I will look at Radiant Historia, as I haven't seen it before. Before I get into how this works I just want to say that I've thought a good deal about how to keep this as simple as possible. It is a little on the complex side but I don't think too much so. I think in this case the complexity is worth it, but as with all things, if testing says otherwise I have no objections to reworking it.

My implementation so far is as follows. Characters (and enemies) have a speed stat of 1-10 that will, for the most part, be static throughout the game. Characters then have an initiative score that is calculated very simply by 20-spd... Why 20? Well, its arbitrary and its just a starting point, but using 20 will allow the fastest character in the game to get nearly (not quite) twice as many turns as the slowest, which seems good to me as the start of the balance process. Combat is then divided up into rounds.

So lets take two characters, one with a speed of 9, one with a speed of 5. That translates to initiative scores of 11 and 15 respectively. Character A gets a turn every 11th round (so, rounds 11, 22, 33, 44, etc) (EDIT: Line changed in light of post below). While character B gets one every 15th round (15, 30, 45). So in this case, character A would get turns 3 and 4 (33 and 44) before B gets its 3rd (45). It's the initiative score that I am thinking about adding the weight dynamic to.

As far as displays, the most basic thing is a turn order bar showed prominently on the combat screen. Even if you ignore all the specific numbers, at the very least you should be able to see at a glance the order in which things will be getting turns. In addition, I want to have tooltips over every number which will allow a player to see where that number came from. When you hover over "initiative" it will, perhaps, show you "20 - 8 + 2 = 14 (20 - Spd + weight modifier = initiative)". If possible, I'd like to have the turn order bar numbered (with rounds) and have unit cards slotted into the appropriate place, but a lot of this depends on aesthetics so I'm going to leave that decision until later.

This depends on how you plan on using terrain. If your mobile units can easily access the higher ground, and it gives them +20% damage on their ranged attacks, they won't necessarily be weaker even if their weapons are. Before long, they can decimate their enemies while keeping out of range too easily. On the other hand, if terrain is largely unused, or only prevents mobility, then the absence of a strategic advantage will make it not desirable to have mobile units.
You have to strike the right balance to make this viable, and terrain interactions will be key.


Well, terrain is something I would love to do more with, but I feel like I'm not going to just based on all the other things I'd prefer to spend my time on. There will definitely be mobility effects from terrain, and one thing I do absolutely intend to include is skills and spells that modify terrain in some way (though this may end up being the ability to summon and/or place walls on the map).

I'd go against that personally. You want players to make decisions. If one decision creates a sequence of 'things', its not as fun, and the strategy depth is lost on the player.
Counterattacks can be interesting, but they shouldn't be the norm. Perhaps there are conditions to be met, or special abilities to have. I can see a pikeman having the 'first strike' when an enemy comes in range (kinda like Overwatch in X-Com for example) but if every unit gets to retaliate when attacked, they don't really need to attack themselves, just make sure they're the painted target.


I'm leaning in that direction too. :)

A few other notes, but I have to get back to coding... lol. I will probably include a damage type system... I like it and I think people in general have a good understanding of how that works these days. I'm still hashing out the particulars though.

Characters will definitely have an armor score of some sort. I'm thinking about the possibility of having additional armor slots open up through the use of skill points, not sure about that one yet. The basic idea is to very simplistically subtract the armor from damage, thereby making heavily armored targets more resistant against highly mobile units that are going to hit many times for small damage, and more susceptible to heavy hitters.

Cleverness (I'll probably chance the name, cleverness doesn't sound so great) is intended to govern things like stealth, backstabbing, thievery in general. I'm also thinking about including trap skills that would fall under this stat.

Again, thanks for the great replies!

I'm working on a game! It's called "Spellbook Tactics". I'd love it if you checked it out, offered some feedback, etc. I am very excited about my progress thus far and confident about future progress as well!

http://infinityelephant.wordpress.com

So lets take two characters, one with a speed of 9, one with a speed of 5. That translates to initiative scores of 12 and 15 respectively. Character A gets a turn every 12th round (so, rounds 11, 22, 33, 44, etc). While character B gets one every 15th round (15, 30, 45). So in this case, character A would get turns 3 and 4 (33 and 44) before B gets its 3rd (45). It's the initiative score that I am thinking about adding the weight dynamic to.

I think you've made a number of mistakes regarding character A here, correct?

20 - 9 = 11, not 12.

Likewise, its every 11th round, not 12th (numbers in parenthesis would thus work)

Well, terrain is something I would love to do more with, but I feel like I'm not going to just based on all the other things I'd prefer to spend my time on. There will definitely be mobility effects from terrain, and one thing I do absolutely intend to include is skills and spells that modify terrain in some way (though this may end up being the ability to summon and/or place walls on the map).

I have to advise you to make good use of terrain. You may not realize it yet, but a strong part of tactics and keeping the game fresh will come from terrain being different.

Good luck with everything else!

I think you've made a number of mistakes regarding character A here, correct?
20 - 9 = 11, not 12.
Likewise, its every 11th round, not 12th (numbers in parenthesis would thus work)

Heh, yes, While reading over the post I changed the numbers but mistakenly missed some, lol.

I have to advise you to make good use of terrain. You may not realize it yet, but a strong part of tactics and keeping the game fresh will come from terrain being different.

I couldn't agree more and believe me, I want to do fun things with terrain, its just a matter of time (ie I don't have enough of it). Terrain effects (along with unit facings affecting combat) is near the top of the list for "phase two" of development. I'm in step one of the iterative design process... I intend to release something playable in some fashion without those aspects of combat and evaluate where I'm at at that point. From there its a matter of prioritizing what additions will make the most difference in "fun factor" to the game as a whole. Thus, I'm trying not to extend massive amounts of thought energy on the topic. Hopefully that makes sense.

I'm working on a game! It's called "Spellbook Tactics". I'd love it if you checked it out, offered some feedback, etc. I am very excited about my progress thus far and confident about future progress as well!

http://infinityelephant.wordpress.com

Ugh, double post.

I'm working on a game! It's called "Spellbook Tactics". I'd love it if you checked it out, offered some feedback, etc. I am very excited about my progress thus far and confident about future progress as well!

http://infinityelephant.wordpress.com

Well it's good that you're thinking in phases then :)

That said, if there is anything such as a Minimum Viable Product for a tactical oriented game, terrain effects definitely needs to be on that list. Direction facing is optional (a lot of good games do well without it) but I've yet to see a very fun tactical game that does not use terrain in any way shape or form that's interesting.

And before you say "chess", remember that the bishops have their own colors ;) One could argue that they are color-bound because of their movement pattern, but from a gameplay standpoint, this makes terrain matter (if my king on white? 'cause his only remaining bishop is white, and if I keep my critical pieces off "white", then that piece's value diminishes greatly).

This topic is closed to new replies.

Advertisement