Envision, Create, Share

Welcome to HBGames, a leading amateur game development forum and Discord server. All are welcome, and amongst our ranks you will find experts in their field from all aspects of video game design and development.

ACI Battle System, an orginal battle system

Active Conditional Input Battle System

Note: This system started off as an excuse of a battle system. It was just meant as a fill-in so that the project I have been co-developing for the past half-year was not simply an interactive visual novel. The system was initially meant to be fast-paced but simple. It ended up becoming a little more than simple, though not nearly as complicated as most of the battle systems I've seen here. I did my best to explain the system and organize this request in a reasonable and understandable manner. Sorry if there is anything you don't understand. Feel free to ask any questions you may have.

About the Battle System:
I recently started eventing a simple battle system - eventing because of my lack of practical RGSS knowledge and the fact that I figured it to be simple enough to get away with - that I've been co-developing with a friend of mine for the past few months in preperation for the start of our new project. Anyway, the eventing isn't going over so well, and it doesn't provide the flexibility that I want in order for the system to fit the gameplay as properly as I'd expected.

Getting to the system itself, the battle system is an active, time-based, button-input system. It is all side-view and minimally animated. All battles take place in a different scene than the map scene. There is no time gauge that determines which characters will act and when. There are three characters - one acts first, another second, and the third last. Enemies act in a similar manner. In a normal battle, the party acts first; in a Surprise Attack battle, the enemy troop attacks first. Equipment cannot be changed in-battle. There are never "guest" characters, and therefore never a time when player characters will be controlled by AI.

Basically, when a character's turn begins, a ring appears at the center of the screen. This ring is called the constant ring (represented below in green), as it does not move. Then another ring appears, but larger than the constant ring. This ring is called the controlled ring (represented below in red). The controlled ring then "zooms in," or becomes smaller and smaller. The player presses the Enter key to attack when the controlled ring is as close to the same size as the constant ring as possible.

http://i85.photobucket.com/albums/k72/D ... /Mock1.jpg[/img]

I was told that the mechanics resemble the attack system from Legend of Dragoon called "Additions", and I found a video on youtube of the system and it looks a lot like what I'm aiming for. I can link if any interested would like. You could also closely relate the timed input to a game like DDR or Guitar Hero, I guess, though not as competatively constructed.

Throughout the explanation of this system, I will be referring to the act of hitting one of the action buttons (Enter, Shift, Ctrl, or an arrow) as engaging the controlled ring, or just engaging the ring.

Battle Start:
As a battle is initiated, and after the battle scene is loaded, battle background music begins, the first actor (be they party or enemy) flashes white, a pointer appears over their head, and their turn immediately starts.

Conditional Button Input:
The button inputs are conditional though. Instead of selecting "Attack," "Defend," etc..., the character initiates different actions by pressing different buttons to engage the controlled ring. The player hits Enter to attack, Shift to guard, Ctrl to use a special attack (think Limits or Overdrives or whatever), or one of the arrow keys to use the arrow's assigned skill (I'll get into that in a moment). The closer in size the controlled ring is to the constant ring when the ring is engaged, the more of an effect the attack will have. If the rings are the exact same size, it is considered a Perfect and the character either strikes with a critical hit (if attacking or using a skill) or takes absolutely no damage (if blocking). If the controlled ring is too larger or smaller than the constant ring though, the action's effect will be lesser, to the point that the action will have no effect at all. There is no penalty if no button is pressed - the character simply does not act and their turn is skipped.

Animations specific to individual actions play after an action is initiated. This could include movement of the attacking character or enemy, an overlayed animation (the built-in RPGMaker XP animation creator), and movement of the character or enemy being attacked.

The NumPad 0 (number) is used to pause the battle, at which time the screen dims to a darkened greyscale and an image appears saying "Press 0 to continue." Pressing NumPad 0 at that time continues the battle.

By holding the Backspace button, a character can escape from battle. As long as the Backspace button is held, the controlled ring does not "zoom in." If the Backspace button is released, the controlled ring is returned to its initial size (as in the beginning of the action, not from where it was when the Backspace button was pressed). Escaping from a battle does not render any experience, even if enemies have already been defeated. If the battle is that of which you cannot run (such as a boss battle or other with an escape-restriction), pressing the Backspace button simply sounds the Buzzer sound effect and the controlled ring is reset to its initial size.

Skills:
Skills are learned through a specially designed, though somewhat convoluted, custom leveling system - an expendature system, being that where characters individually earn points which they can spend on skills. Skills come in two varieties: Active and Passive.

Passive skills are skills that do not have to be initiated. They are always in effect and grant bonuses such as more experience, higher success rate, slower "zoom-in" time for the controlled ring, and on.

Active skills are skills that must be assigned to one of the four arrow buttons and initiated in-battle before they take effect. These resemble common RPG spells, such as Fire, Ice, Thunder, or Water. They are not strictly offensive skills though, as a curative (skills that raise HP, boost stats, or otherwise aid individual party members in ways that are not infinitely active) or status-impairing (skills that inflict Status Abnormalities on enemies) are also considered Active skills.

However, once you spend points to obtain these skills, that doesn't mean that you can just use them. Active skills are equipped (after purchasing them with points, of course) by assigning up to four skills to one of the four arrow buttons (up, down, left, right). Only one skill can be equipped to each arrow.

Passive skills are equipped differently. Each character has a set amount of AP (ability points), used to equip passive skills. At the start of the game, each character has 3AP, but a character's maximum AP can be increased by using items or leveling up. The amount of AP a character has defines how many passive skills they can equip, being that they are restricted to equipping only as many skills as they have AP (a character with 3AP can equip only three skills). Once a passive skill has been purchased, it can be equipped and is then-on active until being unequipped.

Equipped active skills are initiated in-battle by pressing their associated arrow key.

Note: The custom leveling system is all evented and complete and will not conflict with the battle system in any way. Also, each character has their own personally defined skill list, meaning that each person learns seperate skills (two characters will never learn the same skill).

Blocking:
Blocking is a simple concept. When an enemy attacks, the player can hit the Shift button to relieve their character(s) from some amounts of damage. In most cases, a Perfect ring engagement will eliminate all damage completely. However, controlled rings move much faster when blocking, and can appear unexpectedly. The higher the damage rate of the enemy's attack or skill, the faster the controlled ring will "zoom in." Also, attacks that do only minimal damage (that being 1HP) will not be effected by block unless the ring is engaged perfectly, a perfectly engaged controlled ring then reducing the damage to nothing.

Skill Restrictions:
This is another issue I had with eventing the system. There is no defined amount of points by which you use skills ("MP"). Instead, each skill has a recharge time. After using a skill, it must recharge, this taking an amount of time in seconds, rather than turns. If the battle is paused, the recharge time stops to eliminate any exploitation of the skill restrictions (or lack thereof). Generally, the more valuable the skill, the longer it will take to recharge.

Items:
This is an area that, oddly, hasn't been explored much. My original thought was to not include any sort of restorative or curative items (or any other items that can be used in-battle), restricting usable items to those that modify the effects of a character's weapons and accessories. Restorative and curative skills, however, can be used outside of battle. Skills and other out-of-battle means of curing make up for the lack of items. The system is still being developed along these lines as of this writing and will probably continue to be.

Status Effects and Abnormalities:
Status Effects and Abnormalities can have various bearings on the rings. Here is a list of current Status Effects and Abnormalities planned (values subject to change; names are all filler and will be changed once all designs are final):

Effects:
--Protect: With this effect, a character's PDEF is boosted to 150% of its original value.
--Shell: With this effect, a character's MDEF is boosted to 150% of its original value.
--Precision: With this effect, a character's controlled ring moves at 75% of its normal rate of speed. If this effect is inflicted on a character with the Blur Abnormality, the controlled ring will move at 100% of its normal rate of speed, negating both effects.
--Regen: With this effect, when a character engages a ring perfectly, they regain 1HP. The action they engaged perfectly is still performed. If this effect is inflicted on a character with the Poison Abnormality, they will neither lose nor gain HP outside of the circumstances of these two effects.

Abnormalities:
--Poison: A character with this Abnormality is pressured to get a perfect with every action. If the character does not engage the controlled ring perfectly, they lose 1HP. This can knock out a character if they lose the last of their HP. If this Abnormality is inflicted on a character with the Regen effect, they will neither lose nor gain HP outside of the circumstances of these two effects.
--Blind: A character with this Abnormality misses all attacks (initiated with Enter only) automatically. The enter button has no function for a character who is blinded. If the player does hit the enter button, the controlled ring simply continues to "zoom in." This Abnormality goes away when a character is knocked out.
--Silence: A character with this Abnormality misses all skills (initiated with one of the arrow buttons) automatically. Most like blind, the arrow buttons have no function for a character who is silenced. If the player does hit an arrow button, the controlled ring simply continues to "zoom in." This Abnormality goes away when a character is knocked out.
--Pointless: A character with this Abnormality will not receive experience at a battle's end. This Abnormality can be cured in-battle by various skills but does not go away when the character is knocked out.
--Blur: With this Abnormality, a character's controlled ring moves at 125% of its normal rate of speed. If this Abnormality is inflicted on a character with the Precision effect, the controlled ring will move at 100% of its normal rate of speed, negating both effects.
--Stop: A character with this Abnormality does not act. They are not regarded as knocked out and, therefore, if all party members are inflicted with the Stop Abnormality, it does not result in a game over.

A character with 0HP is regarded as Knocked Out. If all characters are Knocked Out, the battle is lost and you must begin from your last save point. Certain skills can cure characters of this "Abnormality" and bring characters back into activity. After a battle, this "Abnormality" does not go away and must be cured by using a defined skill or by other restorative means.

Enemies and their Capabilities:
This is pretty much up for discussion, as I'm not completely sure how it will be done.

How I would like for it to function though would be much like an If - Then. When circumstances are met (or when circumstances are defined to not be met) the enemy's chosen action will be decided and changed. It would be necessary to include a random factor that could be used if need-be and ignored if not needed. I would like the ability to include Switches, Variables, Status Effects and Abnormalities (of all active enemies and allies), and HP values (of all active enemies and allies) in the conditional "deciding" of the enemy's action.

Again, this is completely open for discussion, as control over this aspect of battle is crucial, but I also don't understand how it will be to craft something like this from a coder's point of view. Discussion is a good thing.

Special Attacks:
At the center of the constant ring is a gauge that displays the attacking character's current special amount (displayed in the image below as the yellow gauge - note that the gauge is shown at 100% or full). The special amount is based on a percentage, full being 100% and empty being 0%. When the gauge fills completely, an image is overlayed that makes the gauge appear to glow and pressing the Ctrl button instead of Enter (to attack), Shift (to guard), or an arrow (to use skills) will initiate a character's special attack.

http://i85.photobucket.com/albums/k72/D ... /Mock2.jpg[/img]

Each individual character's special attack gauge can increase differently, based on which special attack mode they have equipped (more on this in a moment).

When Ctrl is pressed and the controlled ring's size is close enough to the constant ring to successfully engage the ring, the special is initiated. When the special attack is ended, the special gauge is depleted, returning to 0%. If the controlled ring is not engaged close enough in size to the constant ring, the character's turn is ended, but their special attack gauge stays at 100%.

Special attacks are much like classic RPG specials - think Limits, Overdrives, Limit Breaks, and on.

Character special attacks include:

-- A sequence of fast, repeating rings that all charge up a final attack. Each time a ring is engaged, the attack's atk power goes up by a defined amount. Each consecutive ring goes faster than the last. When a ring is missed, the attack is initiated, the special is ended, and the next character's turn begins.
-- A timed combo-input that involves repeating rings at various speeds, all with a defined button. The button is displayed at the center of the constant ring (Enter, Shift, Ctrl, and/or any of the arrow buttons). With each successful ring engagement with the proper button, an attack is initiated. If enough attacks are stringed together before the timer runs out, a finishing blow is initiated. When the timer hits 0:00, the special is ended and the next character's turn begins.

Special Attack Modes:
The means by which a character's special attack gauge fills is referred to as a special attack mode. Special attack modes are defined by armours equipped in the game's equipment scene. Special attack modes are as follows (names will most likely be changed upon finalizing design):

--Standby: This character's special attack gauge fills as the character takes damage.
--Offender: This character's special attack gauge fills as the character deals damage.
--Slayer: This character's special attack gauge fills as the character defeats enemies.
--The Warrior: This character's special attack gauge fills by successfully engaging attacks (Enter button). Perfectly engaged attacks fill this character's special attack gauge even faster.
--The Defender: This character's special attack gauge fills by successfully engaging blocks (Shift button). Perfectly engaged blocks fill this character's special attack gauge even faster.
--The Mage: This character's special attack gauge fills by successfully engaging skills (arrow buttons). Perfectly engaged skills fill this character's special attack gauge even faster.

HUD:
Because of the hot-keying aspect and stress placed on button input, a simple Heads-up display is vital to the player's ability to properly understand the button input. Nine buttons are used in-battle, them being Enter, Shift, Ctrl, Up, Down, Left, Right, Backspace, and 0 (NumPad). In addition to the rings, special gauge, and each character's HP, all of these nine buttons should be displayed in a respresentative form on-screen during battle. Ctrl is a conditional button, only active when the selected character's special attack gauge is at 100%. When a character's special attack gauge is less than 100%, the Ctrl button should be given an opacity value of 100. During battles in which the party cannot escape, Backspace should also be given an opacity value of 100. When a character is blinded, Enter should have an opacity value of 100. When a character is silenced, all arrow buttons should have an opacity value of 100. Also, when a skill is recharging, its assigned arrow should have an opacity value of 100. The HUD should be organized like the picture below.

http://i85.photobucket.com/albums/k72/D ... /Mock3.jpg[/img]

Each character and enemy's HP is displayed when they are acting or being acted upon, such as when they are attacking or being attacked. The HUD is still displayed when the battle is paused using the 0 (NumPad) button.

Battle End:
At the end of the battle, experience is tallied for each individual character and items are rewarded where due. Status Effects and Abnormalities that end at the battle's end are deactivated, and levels are gained based on experience. With each level up, a character gains one SP, used to purchase skills.

Experience Modifiers:
Experience is gained as due by individual monsters defeated, but it is also rewarded to characters based on how accurately their actions were engaged. Each individual character has an overall accuracy for Attack (Enter), Guard (Shift), and Skills (Arrows). There is no overall accuracy value for special attacks. The value of each overall accuracy level is equal to the amount of actions successfully engaged divided by the total amount of actions taken rounded to the nearest tenth. The overall accuracy value has no bearing on experience gained.

However, each battle has its own accuracy value for each character. They are determined exactly like the overall accuracy rating, but apply only to each individual battle and include all actions taken (attack, guard, skill, and special attacks). This accuracy value does have a bearing on experience gained at the end of each battle, and very significantly. At the end of each battle, each individual character's amount of experience gained from defeating enemies is added to the amount of experience gained from defeating enemies multiplied by that character's accuracy percentage.

For example, let's say that our protagonist attempts 13 actions, but only successfully engages 7 of them. The character's experience modifier would be calculated simply by: 7/13 = 54%. Then we would raise the character's experience by how much experience they gained from defeating enemies (we'll use 100EXP for convenience). Their experience would then be 100 + (54% of 100), which would equal 154EXP.

But it gets even more complicated. A Perfect ring engagement is equal to 3 successful engagements, meaning that it is possible to get all of 300% experience.

A Final Word:
The initial reason eventing wasn't working was the fact that I needed to be able to vary the speed at which the controlled ring "zooms in" and the initial size of the constant ring. Even after tampering with different values for picture display, I could only come up with two different but reasonable speeds and three different initial constant ring sizes. After we discovered how greatly this system would impress upon the overall feel of gameplay (and how wonderfully it accents it), we decided to develop  it more. It became way too much for my eventing skills to handle and the battle maps I made quickly turned into a big mess of events everywhere, more switches and variables than I could count, and a lot of time that I could have spent working on other aspects of development that are in dire need of flesh.

I can provide, and will soon be completely prepared to provide, any and all images needed in the crafting of this system.

I understand completely the complexity of this system (it being a battle system) and am willing to wait as long as need be. You have no clue how much I thank you just for reading this, and so much moreso for anyone willing to help out. I'm open to any questions or suggestions that anyone may have, and hope I can clear up anything that may be hard to understand.
 

Thank you for viewing

HBGames is a leading amateur video game development forum and Discord server open to all ability levels. Feel free to have a nosey around!

Discord

Join our growing and active Discord server to discuss all aspects of game making in a relaxed environment. Join Us

Content

  • Our Games
  • Games in Development
  • Emoji by Twemoji.
    Top