REVOLUTIONIZING MENU-BASED BATTLE SYSTEMS

Posts

Pages: first 12 next last
A couple years ago I was having a discussion online with some fellow open source game developers and the general consensus was (and I agree) that menu-based battle systems usually aren't that much fun. In a typical RPG, you wait, select an action (that 80-90% of the time is just "Attack"), wait again, select attack again, and repeat until you win. The battle pauses each time and so this action is really stop-and-go. This kicked off some gears in my brain and I started thinking about ways to improve this formula. I want to share my ideas with you guys and get a discussion going.

---

I'm going to start this discussion off by talking about it in direct reference to my own project, Hero of Allacrost. This game is written completely from scratch in C++, so the only real limits to the battle system design are our imaginations. First, let me state the high-level goals that we have for our battle system (and the game in general).

author=Allacrost Design Goals
Design the game such that the major focus is on gameplay and story, not advanced 3D graphics and physical simulations.

As much as possible, remove the tedious, meaningless, and micromanaging aspects of many historical and modern RPGs.

Require a high level of strategic thinking and planning from the player, and less mindless "button mashing" found in many RPGs.


Now lets get to the set of ideas. There are many of them, so I'm only going to open with a handful of ideas and introduce others later in the discussion.

-----

Idea #1: Allow the player to pre-select actions for their characters before those characters are ready to execute their next command.
While the characters are in their idle state, the player can select actions for their characters. This solves the problem of the player having nothing to do when no characters are ready to execute an action. Of course the player can still wait until the stamina bar is full (and the character changes from the idle to the selection state), although there's not really reason to wait, unless the player is delaying the action selection based on the state of the enemies (ie if an enemy is seen charging up for a big attack, the player will want to put their character in a defensive state).

Idea #2: Allow the player to change pre-selected actions for their characters
This goes along with idea #1. If the player selects an action for a character during the idle state and something happens which makes the player wish to change the action for the character (such as an ally was badly hurt and needs healing immediately), then we would allow the player to do so (but only if the character is still in the idle state, the warm-up state is too late to cancel). This would also apply toward changing the target. With this idea, we have to consider whether there would be any penalty associated with changing an action/target. We could completely reset the stamina bar back to zero and force the character to go through the entire idle state again, or we could apply a less severe penalty such as a 20%-50% reduction of the current idle time that has been met, or there could be no penalty at all. I think I'd rather see a small penalty, because this will cause the player to consider whether or not they want to select an action for their characters as soon as they can (at the 0-time mark in the idle state). But I'm undecided here.

Idea #3: Populate a small action + target hot-key menu to allow the player to quickly execute actions
In our menus, we currently sort actions by category (Attack, Defend, Support, Item) and we have cursor memory implemented as well (the menu remembers the previously selected action and target). But I've been toying with the idea of having a small number (four) of "hotkey" actions and targets for characters. This idea came to me because I realized that you often only want to change between a small number of actions and targets in battle. For instance, one character might be a designated healer, and when there is no healing needed you would instead want that character to "meditate" to regain lost magic points (called skill points in the case of my game), or to attack an enemy if no healing and no SP regeneration is needed. Three actions, and three targets that the player cycles between for this character. Going through the entire action selection menu and target selection menus each time they want to switch between one of these settings is kind of a pain in the ass, so we would have this hot-key command card available for the player to quickly switch between these actions and targets. It could either be auto-generated by the game (ie saves last x number of action + target combinations) or we could allow the player to configure this, either in and out of battle.

I also had thought that maybe we could limit the character's actions to what they could fit in the command card to create an additional depth of strategy for the player, as they would need to select which skills they brought into battle (and couldn't use all the skills they learned). For our purposes though I think this would be a bad idea, because the strategic benefit is outweighed by the negative cost of additional micromanagement needed by the player, plus it could be seen as an annoying limitation for many people (not to mention it doesn't have much of a practical explanation for why skills are limited).

Idea #4: Allow multiple actors (characters or enemies) to execute actions simultaneously
This is another idea to reduce the amount of time that the player is forced to sit and watch. Right now only one actor can execute an action at any time (in this sense the game is turn-based). But what if this was not the case, and we could have multiple characters and enemies all engaging each other at once? Perhaps we can even add a strategic element to this, and say that if two opposing actors engage each other at the same time, the one who strikes first will cancel the other's action completely.

It sounds like a promising idea I think if its implemented well, but I have a couple major concerns with it. First, it could cause battles to become very chaotic with swords and spells flying everywhere (but shouldn't battles be chaotic anyway?). Second, it may be difficult to implement both from a programming and an artistic perspective. And there may be other issues that I haven't thought of yet.

-----

For the record, we've already implemented ideas #1 and #2 in our game, and they have been working pretty darn well. I'm still interested to hear people's thoughts about it though. Here's a concept piece that I drew up for how this implementation would work:



The key are those arrow icons surrounded by the circles. When the circle is white, you can select an action for that character and you only need to hit the corresponding directional key on your gamepad or keyboard. When it is grey, you can't select an action (because they are about to execute the one that was last selected). If a character gets to the green marker on the stamina bar (right side of screen) and they don't have an action selected, the battle action stops and the player is forced to enter a command for that character before the game continues.

You can see it in action during this video here. Notice that the actors on the stamina bar continue to get closer to being ready to execute an action while I'm selecting commands for all four characters. Once the first actor is ready to attack, they can do so immediately and there's no sitting around and waiting. But you can still play it out as the traditional "wait mode" as well, if you prefer. The nice thing about this is that you can get through simple battles more quickly, but still be more methodical and careful about your action choices when facing tougher opponents, such as a boss.

(Go to the 5:40 mark to see the battle that I'm talking about)


-----

So what do you think about these ideas? What alternatives or improvements would you do if you were designing your own game from scratch?
I must say "Hero of Allacrost" looks amazing and the fact that you did it from scratch in C++ gets you major props from me.

I also agree that game design is limited by our imagination. I think you got some good points there about quick battle command selection as it would give the player something to do while waiting for their turn. I think the most hardest one to implement would be your idea #4, having multiple characters attack at once, it would be really fun if you ever did pull it off well and would be a very attractive feature in your game.
Craze
why would i heal when i could equip a morningstar
15170
i didn't read most of this, i'm just going to drop these here





with the message "you are not our savior, play some games"
Thanks for the kudos. It's not amazing yet, but we're getting there.

author=supremewarrior
I think the most hardest one to implement would be your idea #4, having multiple characters attack at once, it would be really fun if you ever did pull it off well and would be a very attractive feature in your game.


Yeah, I totally agree. It's not that difficult to add the feature with our current code. But it will be difficult to design it well so that it is not a frustrating experience for most players, as I'm sure some would be overwhelmed by all of the action. I think it would definitely be a "love it or hate it" kind of feature. Related to it, I had the idea of making battles kind of intense like Starcraft 2 matches are, where you have to be good at multitasking and very quick about entering commands. But I don't think the majority of RPG players would appreciate a battle system of that intensity.

author=Craze
with the message "you are not our savior, play some games"


I'm not quite sure what you mean by this. I never claimed that I am a savior, or that no one has ever tried to improve RPG battles before. I'm merely proposing some ideas to improve upon the lowest common denominator of menu-based RPG battles. I know that many games have made their own improvements (indeed, several of my design ideas are inspired by other RPGs). But posting a couple of game screenshots and not sharing any information about what makes their battle systems awesome, or even stating what the titles of these games are, is not helpful in furthering this discussion. :/
The second one is Suikoden 2 and is awesome. The battles have many dynamics that people don't realise are there just by looking - characters protect each other when they're low on health if they have a closeness, they can attack at the same time when targeting different enemies, there's combination attacks between certain characters, you can choose to either let an enemy go or bribe it to leave you alone, depending on your level vs theirs, there's an auto-battle option which is pretty fast, there's a front and back row mechanic that depends on the range of a weapon and the menu is clear, concise and very easy to use.

I don't know where the other one comes from, but I do believe Craze was replying to the heading that you gave the topic - Revolutionising Menu-Based Battles - and how it could come off sounding as though you're the only one doing this.

These two games above are quite dated, actually. Suikoden 2, for instance, came out around 1996, so it's not exactly revolutionising anything since there are games out there that are considered old but still did the same thing.

(Actually looking at the first screen again, I think it might be a Phantasy Star game. If so, it's even older than Suikoden. There's also other games like Legend of Legaia - where-in you use direction keys to enable combos -, Eine no Filena - a SNES game about a female cross-dressing Gladiator and several others.)
The first one is from Phantasy Star IV which has a macro system where you can in advance set up a maximum of eight sets of commands for all characters.

Anyway, I like the four ideas, but they seem to streamline battles rather than revolutionizing them. Further, they don't address the design goals much.

One idea I want to try is to give actions both offensive and defensive properties. In a lot of games, you can dodge enemy attacks and attack them at the same time. In RPGs however, if you want to, say buff defense, you have to give up an action that you otherwise could have used to attack instead. This often leads to problems where a player needs knowledge to estimate the usefulness of a defensive skill, but the more a player knows, the more likely it is that the player can figure out a way to win the battles without needing said defensive skill. So, I figure that either you have to force the player into using their defensive skills (not that bad of an idea IMO as long as they don't have to use specific defensive skills) or they can use defensive strategies without having to give up offense.
Marrend
Guardian of the Description Thread
21806
I'm pretty sure what Craze wanted to say was that there are games that totally eliminate the "wait time" by... simply not having a "wait time" mechanic?
Here's another very easy (NO SCRIPTING NEEDED) tip to anyone having trouble with normal attacks being boring. Yanfly's combo scripts.

COMBO NORMAL ATTACKS. OMGWHATTATTATATATATAT >.><.<

The combo script can be used for MANY skills. And combined with other scripts, you can really make a skill-based system out of skill rotations. Spamming normal attack in and of itself is a sin, and slow ATB is bad design and not what a ATB bar is supposed to do.


A little bit of tl;dr on my part, so I'll read this a tad more just in case. At this point, if your battle system is slow and normal-attack heavy, you're a bad person. At least use Yanfly's scripts to speed up slow RTP animations. :)

Edit: I read everything. Gonna watch that video later tonight.
The 4th idea is fairly interesting.
Xenogears had a system where the attack command was replaced by a string of inputs. The right inputs resulted in what's called a Deathblow. This however solved nothing, instead of spamming attack over and over, you spam the strongest Deathblow. Worse, the string of attacks + Deathblow toke like 5-10 seconds meaning it just slowed down battles.

Unless you're really clever about it, a combo system will just replace the attack spam with most convenient combo spam.
author=Crystalgate
Xenogears had a system where the attack command was replaced by a string of inputs. The right inputs resulted in what's called a Deathblow. This however solved nothing, instead of spamming attack over and over, you spam the strongest Deathblow. Worse, the string of attacks + Deathblow took like 5-10 seconds meaning it just slowed down battles.

Unless you're really clever about it, a combo system will just replace the attack spam with most convenient combo spam.
I never played Xenogears, but that's interesting.
You make a good point. But that won't happen if the developer is competent. Also, not having an animation for
combos (that isn't the main animation) helps speed everything up.
It takes about 2-4 seconds to imput a normal attack with 3 extra combo attacks in testing. Take that as you will.
author=Marrend
I'm pretty sure what Craze wanted to say was that there are games that totally eliminate the "wait time" by... simply not having a "wait time" mechanic?


Fair enough. And now I do realize how the thread topic may come off as arrogant, but I didn't intend it to be at all. I should have clarified in the beginning that I'm speaking mostly about ATB-type battles. I know that there are turn-based systems that are good at solving many of these problems. Final Fantasy X, for example, had an awesome battle system in that you could see the turn order and act accordingly, so the only time you were waiting was when you were watching someone perform an action.

author=Liberty
The second one is Suikoden 2 and is awesome. The battles have many dynamics that people don't realise are there just by looking - characters protect each other when they're low on health if they have a closeness, they can attack at the same time when targeting different enemies, there's combination attacks between certain characters, you can choose to either let an enemy go or bribe it to leave you alone, depending on your level vs theirs, there's an auto-battle option which is pretty fast, there's a front and back row mechanic that depends on the range of a weapon and the menu is clear, concise and very easy to use.


Wow, that sounds pretty awesome. I especially like the idea of characters automatically protecting each other if they have a deep connection. I'm not a fan of any "auto battle" option though. I know that one of the early Breath of Fire games had this option, and it made battles even less engaging, as you literally just sat there and waited until you won.

author=Crystalgate
One idea I want to try is to give actions both offensive and defensive properties. In a lot of games, you can dodge enemy attacks and attack them at the same time. In RPGs however, if you want to, say buff defense, you have to give up an action that you otherwise could have used to attack instead. This often leads to problems where a player needs knowledge to estimate the usefulness of a defensive skill, but the more a player knows, the more likely it is that the player can figure out a way to win the battles without needing said defensive skill. So, I figure that either you have to force the player into using their defensive skills (not that bad of an idea IMO as long as they don't have to use specific defensive skills) or they can use defensive strategies without having to give up offense.


I agree with you. In a typical battle for a typical RPG, defensive type skills and buffs usually aren't worth the turn it consumes to activate them. They only get used for the most difficult battles. If you make some defensive skills that trigger a powerful counter attack, that may get used more often. Or if you design your game such that you have to use your skills to make them more powerful.

author=Crystalgate
Anyway, I like the four ideas, but they seem to streamline battles rather than revolutionizing them. Further, they don't address the design goals much.


You're absolutely correct. I didn't even realize this until you pointed it out. Those ideas were developed to make battles more engaging and fun, rather than the stop-and-go, sit-and-wait type of action I described in the previous post. We do have features that have been a part of our design since the beginning that address these goals. So let me share those now.

-----

Idea #5) Move the "Run" mechanic from the battle to the map
In the beginning, Allacrost had a random encounter system like many other games do. I've never had a big problem with it, but nearly everyone else on the team was livid about removing it. So we did, even though it requires us to make some additional artwork. Now we have enemy sprites that roam around on the screen, and if you get too close they will typically chase after you. Naturally when you touch them, a battle occurs. You have a limited stamina to run away, so you can "run" from enemies before a battle occurs. Once you are in a battle, the option to run away is no longer available. Screenshot below kind shows a dungeon in an older release of the game.



Idea #6) Enemies on a map are more/less aggressive depending on relative strength
This goes along with the feature above. The behavior of enemy sprites wandering around a dungeon changes depending on the player's strength and status. For example, an enemy may choose to run away from the player's character if their level is too high. If their level is about even, they may cautiously approach the player. If the character party has an average XP level that is compartively low, the enemy will aggressively seek out the player and try to engage them in battle.

One of the cool things about this feature is that if you are revisiting an old dungeon that you've already fought through and are much stronger, you won't be bothered by annoying battles with enemies that aren't worth your time to kill. Similarly, if the player is trying to grind in an area, they may have to actively try to corner an enemy who runs away from them.

Idea #7) Status Effects heal automatically after battle
I've always found it incredibly annoying having to heal my characters from poison, stone, etc. after a battle ends. Having to navigate through the menu and find/use the appropriate status healing item or spell is just tedious. So, status effects only last for the battle duration. Simple.

Idea #8) Status Effects have various degrees of intensity
Sometimes a status effect it is such a minor consequence that it can be completely disregarded, particularly in later stages of the game when the characters are powerful. For example, a poison status that only consumes less than 1% of a character's HP per turn. We decided to make status effects have various degrees of intensity, and that they can be stacked upon one another. For example, the weakest level of poison may only consume 1% of a character's HP, but the next highest intensity may consume 2.5%, the next 5%, and the max a whopping 10%. And if a poisoned character is poisoned again, the intensity will increase by an appropriate amount. Suddenly, the player has to decide when is a status effect debilitating enough that it must be remedied? This works with status buffs as well. You could increase a friend's defense by 3%, 5%, 10%, or 15%. And for status effects like sleep, the higher the intensity of the effect, the longer the character will remain asleep.

Idea #9) Status effects naturally decrease in intensity
To add an additional factor to the player's decision of when a status effect needs to be remedied (or re-applied in the case of a status buff), all effects naturally reduce in intensity over time until they are at a neutral level (ie, inactive). Perhaps this is rather obvious, but other games either let a status remain active indefinitely until the player does something about it, or chooses to let some effects "instant heal", such as when a sleeping enemy awakes.

Idea #10) Characters and enemies may be attacked in pin-point locations
This is one of the original ideas I had when I started the game, and one of the key features. Every character and enemy has one or more "targets" that may be, well, targeted. A target may be an arm, leg, head, or torso. Or on an enemy could be a claw, wing, etc. Each target has it's own defense and evade modifiers. So for example, hitting the head deals more damage because it isn't as well protected, but it is more frequent to miss this target because it is a smaller area and more agile than say, the torso. So you can choose if you want to take a risk to deal maximum damage, or you can play it safe and select a target that you are more likely to have a clean hit on.

But the really awesome thing about targets is that they can naturally trigger status effects. For example, attacking an enemy's legs will reduce it's agility. Attacking a character's arms has a chance to reduce their strength. Attacking the head can reduce magic power. And so on. So if you are having trouble hitting a fast-moving enemy, target the legs and reduce their ability to dodge.

Not all skills can target specific points like this either, so you have to decide if you want to select a skill that may not be very powerful, or consumes a lot of mana, to register this kind of status change. The main drawback of this feature is it requires one additional item that the player must select (in addition to selecting "action" + "target", they must select the "target point" on the target). Another is that it may not be apparent what status effects trigger on what points (if any at all), but we try to make this as intuitive as possible.
LockeZ
I'd really like to get rid of LockeZ. His play style is way too unpredictable. He's always like this too. If he ran a country, he'd just kill and imprison people at random until crime stopped.
5958
author=Roots
Idea #10) Characters and enemies may be attacked in pin-point locationsThis is one of the original ideas I had when I started the game, and one of the key features. Every character and enemy has one or more "targets" that may be, well, targeted. A target may be an arm, leg, head, or torso. Or on an enemy could be a claw, wing, etc. Each target has it's own defense and evade modifiers. So for example, hitting the head deals more damage because it isn't as well protected, but it is more frequent to miss this target because it is a smaller area and more agile than say, the torso. So you can choose if you want to take a risk to deal maximum damage, or you can play it safe and select a target that you are more likely to have a clean hit on.

But the really awesome thing about targets is that they can naturally trigger status effects. For example, attacking an enemy's legs will reduce it's agility. Attacking a character's arms has a chance to reduce their strength. Attacking the head can reduce magic power. And so on. So if you are having trouble hitting a fast-moving enemy, target the legs and reduce their ability to dodge.

Not all skills can target specific points like this either, so you have to decide if you want to select a skill that may not be very powerful, or consumes a lot of mana, to register this kind of status change. The main drawback of this feature is it requires one additional item that the player must select (in addition to selecting "action" + "target", they must select the "target point" on the target). Another is that it may not be apparent what status effects trigger on what points (if any at all), but we try to make this as intuitive as possible.




I'm not supposed to respond with nothing but comics

but I'm doing it anyway
Your point is very valid, and something that I've been concerned about myself. I think we'll have to be careful about balancing the targets so that it's not always hitting the head 99% of the time like you said. I think that maybe making the head very easy to miss but giving it a great benefit for a hit, such as a stun effect, could make a difference.

Also I think that we could add AI to enemies so that if they find they are being targeted in a particular way, they activate a status buff or other ability that makes that target temporarily invulnerable or causes a counter attack to occur. Something like that anyway. In general, I'd like to see better enemy AI so that they are reactive to what the player is doing and address weaknesses that are being exploited.
If you make the head have a low chance to hit, I can guarantee that most of your players will never target unless they were completely out of options. Inconsistency is something a lot of players try to avoid. If you have separate body parts, make the accuracy equal for each one. The stat debuffs should stay though.
That's a good point and I believe you are right. Thinking as a player myself, if I knew an attack had a high miss rate I'd probably select a different action. I still feel like I want to have weak points that the player (and enemies) can exploit though, so it's just something we have to balance carefully I suppose.
Gonna read more of this in a second, but let me share one quick thing:
Auto Battle is bad. Always.
If you want fast battles, the best thing to do is allow the player to exploit enemy weaknesses for quick kills. Being too abstruse with your enemy weaknesses is dumb because you'll make the player think normal attacks to be the faster method of enemy killing.

The key is the train your player to use skill rotations in a slightly unique fashion for every fight that isn't trash mobs. If I'm using the same skill rotation for more than one boss fight, there's a problem in your game design.
Craze
why would i heal when i could equip a morningstar
15170
"auto battle is bad. always"





@Craze

Oh yeah, I wasn't thinking about non-RM games, or battle systems that are complex enough to warrant. >.>
Silly me~

But final fantasy 12 is arguable. Instead of long battles where gambits are normal attacks in different clothing,
I would've loved to see more commend usage to kill things.

I still think auto-battle is something to use only when you know you need it. A lot of RM games do not need it. Ever...? :P
LockeZ
I'd really like to get rid of LockeZ. His play style is way too unpredictable. He's always like this too. If he ran a country, he'd just kill and imprison people at random until crime stopped.
5958
Auto battle is bad in all of those examples!

Well, it didn't piss me off in Tales of Symphonia. But I'd have preferred full control.
Revolutionize ATB type battles by getting rid of ATB entirely and replacing it with CTB. Cleanest and best battle system by far.
Pages: first 12 next last