Major disadvantages of menu-based battle systems
- Lack of strategy
- Lack of player engagement
So the two main goals here are to make menu-driven battles more strategic and more engaging for the player (ie, we don't want the player to be inactive for significant amounts of time). I want to focus on the later goal here. We've already made a number of designs to take care of the first goal. Below is a video of my game (an older demo release) in action. You can see that there is a universal stamina bar that all characters and enemies in the battle traverse throughout their several states: idle, selection (of an action), warm-up, action, cool-down, and then repeat.
You can see that we're currently suffering from player inaction during all but the action selection phases. Otherwise, the player is just sitting around and waiting for the next character to be ready to select an action. Even worse, the battle is paused during action selection so we suffer from "stop-and-go" syndrome.
Since the beginning, my team has had a number of goals for this game that are important to this discussion, as the ideas I am about to put forward are intended to stay true to these 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, finally I present my list of design ideas for improving this gameplay.
Idea #1: Do not pause the battle during action selection.
This is nothing novel, as many games have allowed the player to choose between "active" and "wait" modes. I don't want to allow that choice at all though, because there is obviously a strong advantage to choosing "wait" (your actions are selected instantly rather than consuming precious seconds).
Idea #2: 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 no reason really 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).
Expanding upon this we may consider allowing players to build up an action queue for their characters, selecting multiple actions to take. I don't like this approach, however, so I'm not really considering it.
Idea #3: Allow the player to change pre-selected actions for their characters
This goes along with idea #2. 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, 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 #4: 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 action + target combo) or we could allow the player to configure this, both 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 #5: 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.
Yeah, so that's my first batch of ideas that I'd like your feedback on. Which ones do you like? Which ones do you think would go well in my game? (Maybe you should go play it? ). Some of these ideas might not mix well with each other, and I'm also trying to exercise caution about adding too many concepts to the design. There are a lot of cool feature that an RPG can have (customizable equipment, relics with special abilities, etc), but just because all of these ideas are great on their own does not mean that you should then throw them all into a single game and expect things to work out. So its really about finding the best combination of ideas to help us meet our ultimate goal here. Thanks for reading, I know this was a long post.