Clockwork Battle System (Idea)

NPC

Auteurist in this world
Veteran
Joined
Jan 6, 2013
Messages
1,313
Reaction score
197
First Language
English
Primarily Uses
RMVXA
Clockwork Battle System (CWBS)
 ​
So I've been planning to make this for a while now, and I wanted opinions on it as a system! I would appreciate any opinions, ideas, suggestions, etc.! :)

So without further ado, here's a graph which I shall reference, and which serves as the whole basis for the battle system: :D

So, as I guess the graph alone doesn't explain half of the system, I'll introduce the system!

The Clockwork Battle System is a one-actor turn-based action battle system, that, despite it's similarities to Final Fantasy's Active Time system or an ABS, I hope will stand out on it's own! Basically, that red mark you see in the middle of the graph is where the enemy is, and anywhere else within the circle (bar an exception with the 'large' range, more on that later) is where the player theoretically is. 

Now before you click away because you're super confused, let me elaborate. Do you see those lines that intersect the circle? Here's another version of the graph to help clear things up:

Those intersecting lines are actually (invisibly) dispersed around the whole circle, and represent different spaces that the player can move between. The player can move left, right, forwards, and backwards within the confines of the circles, one cell at a time. This is where it gets tricky. Using the agility stat as a reference, the player may move however they please from cell to cell during the battle, regardless of turn (which we haven't talked about yet). This is part of why I envisioned this system. The idea of being able to move quite freely within a battle, to help escape the mundane feel that the regular battles have. Now that everyone hopefully understands the gist of it, let's dive into the meat! > :)

MOVEMENT



I already explained a bit of it, but I feel it appropriate to get knee-deep into it. As I previously explained, the agility stat is a point of reference to how the player can move...but how? The stat, as you might expect, allows the player to move from cell to cell faster, and using up less energy! What is energy?

Energy is TP. Simple and quick. TP grows rapidly over time and decides whether or not the player is able to move. Both this and agility start quite low. 

I haven't explained why movement is important, my error! In CWBS, every (read: most) attack from the enemy is a skillshot. (I'll be looking to incorporate skillshots from the player eventually...eventually) So to avoid these skillshots, you may need to move backwards to avoid a wide melee range sweep, move to the right, away from a lazer blast...by having the ability to avoid annoying moves, it makes the experience playing the game much more enjoyable and faster paced, but also it makes it more punishing, to a plausible brutal degree if the developer so chooses! (like stacking Status Effects (see Stat. Effects))

So by working on the character's agility and endurance, the player could possibly achieve the ability to be able to avoid most any attacks (although that would be disadvantageous for several reasons, such as low attack power, or such a low defense that getting caught off guard just once results in a wipe)! Let's say that your character can choose what class they wish to be, or maybe you can switch characters out, etc.: how can you make it that mages or rangers don't stay at long range forever, easily kiting foes' attacks?

The further away from the enemy in the circle you are, the more TP and time it takes for you to transfer sideways from cell to cell. This encourages either getting closer to the enemy to move faster, or staying stationary, casting spells/shooting arrows; waiting for the release of death to end your stillness.

All enemies have at least one ability that reaches the edge of the circle. Large monsters (ex. elites or bosses) can also have an extra ring (or even more...?), as indicated by the dotted line! :)  

Players must stand still while: casting, basic attacking, or using any abilities with a charge period. Certain abilities can be instant, allowing a player to attack while moving.



TURN SYSTEM



I mentioned that it was turn-based, did I not? Contrary to what you read in the Movement section, attacking is not something that you can do all willy-nilly. You need to wait your turn to attack! It wouldn't be courteous to just go all Kalista on the enemy, never staying still yet still managing to atack every 0.3 secs.

The Turn System is really simple to explain, since it's basically the Active Time System from FF. When your 'turn meter' reaches full, you get to attack/use skill/use items/etc.. As explained in the last part of Movement, players when using abilites, attacking, or using items, must 'cast' the ability, and cannot move during that time (if you have an attack speed of 60 or whatever for example (no math done here), you take 1.5 seconds to attack, staying still for that time. 

Weapons and armor should affect AS mainly. Also, reminiscent of the abilities mentioned in the last sentence of movement, there are certain abilities and items that can be used regardless of turn.



ATTACKING



All attacks use the grid as a reference for range. A range of 2 can hit a target 2 cells away, for example. Range can be both horizontal and vertical. (x/y, not x/z)

I don't think more is to be said here.



STATUS EFFECTS (BAD/GOOD)



Due to the nature of the battle system, status effects cannot stay the same. From stat-boosting buffs to movement-limiting walls, the way status effects work are truly a point where CWBS shines. Status effects are mainly distributed through abilities or passives on attacks, and I included a few examples that will give the idea without becoming a wall of text (guffaw)!

-Wall (new effect): Creates one or more walls inbetween cells that impede movement horiztonally or vertically. Will be used by an enemy to shield itself from a melee attack, or to trap the player to improve the chances of hitting a skillshot.

-Paralysis: For x turns, you can't move or attack.

-Poison: Everyone's fave effect returns! For x turns, the player is increasingly slowed and damaged (x**n).

-Shields: Similar to wall, can be placed horizontally to reflect/null some/all of the damage of an attack or, in case of some other shields, can be placed on the player to negate damage and/or status effects on the player/enemy.

-Regeneration: For the most part, the player won't be using this. However, if the player or enemy lets a certain amount of turns stack up (yes, turns stack, forgot to mention), the opponent starts to regenerate. There are other triggers as well, of course. Preferably, this is kept away from monsters with large amounts of CC and bosses (please, sadists!)

-Auras (Self-buffs): Only one aura at a time can be active (w/ exceptions). This effect covers attack boosts, movement boosts, etc. When I thought of this, I was thinking of Shulk in Smash (without his shirt, obv)



That's the idea of CWBS! Any questions, comments, etc. are extremely encouraged! :)  
 

Wavelength

MSD Strong
Global Mod
Joined
Jul 22, 2014
Messages
5,602
Reaction score
5,066
First Language
English
Primarily Uses
RMVXA
It's not clear whether it's truly a turn-based system (where I can leave the game running without doing anything for 15 minutes without suffering damage) or whether it's real-time with discrete actions that take a fixed amount of time (so that if I go get a coffee and leave the game running, the enemy will wail on me).  I actually like the idea of real-time with this, and would encourage you to allow enemies to telegraph their attacks so that players can try to dodge between their moves.  You might already be doing this, but it seemed ambiguous.

Also, I can understand why the player should only control one character at a time, but I think it would be very neat to allow the player to have a party of multiple members (only one character is active on the map at a time) and you can switch freely between them (that is, replace one character's sprite and stats and moveset with another's) at any time during combat.

Anyhow, I think it's a neat idea for a combat system, and would certainly be willing to test it out for you when the time comes.
 
Last edited by a moderator:
  • Like
Reactions: NPC

NPC

Auteurist in this world
Veteran
Joined
Jan 6, 2013
Messages
1,313
Reaction score
197
First Language
English
Primarily Uses
RMVXA
It's not clear whether it's truly a turn-based system (where I can leave the game running without doing anything for 15 minutes without suffering damage) or whether it's real-time with discrete actions that take a fixed amount of time (so that if I go get a coffee and leave the game running, the enemy will wail on me).  I actually like the idea of real-time with this, and would encourage you to allow enemies to telegraph their attacks so that players can try to dodge between their moves.  You might already be doing this, but it seemed ambiguous.
I thought it was decently clear under the section: Turn system. I'll address it quickly directly here:

-You and the enemy both have a meter that tells you when you are able to attack. When it's full, either side can act, but the game progresses as normal. Only within the item screens (or if you have a pause script enabled) will time stop. As I mention a little further on, turns will stack if you do nothing with them, but leaving them to stack will result in the enemy regenerating hp. The game never stops for your turn, so no grabbing coffee.

In practice, it doesn't seem that turn-based, but I'd hardly call it completely ABS either. It's kinda a middleground, using elemetnts from both. 

As for multiple party members,

yes it would be cool, and I'd love to try to implement that, but I want to focus on making it work first before I add formation swapping, support characters, and the like. I'm partially making this for my own project, which has a single party member, hence the lesser focus on it. :)
 

BraySumerix

Warper
Member
Joined
Sep 8, 2015
Messages
1
Reaction score
0
First Language
English
Primarily Uses
This looks and seems like something that would work greatly in a fantasy game or a futurisitic game. It is very unique in the way it looks and I hope to see more development of it in the future!
 

NPC

Auteurist in this world
Veteran
Joined
Jan 6, 2013
Messages
1,313
Reaction score
197
First Language
English
Primarily Uses
RMVXA
@Bray: Thanks for the feedback! I'm excited to start work on this!
 

Palsa

General of Aurda
Veteran
Joined
Dec 21, 2012
Messages
343
Reaction score
84
First Language
English
Primarily Uses
Interesting concept, it reminds me a bit of the training circle principle from The Mask of Zorro, I think it would make a cool battle system. :)
 

sokita

Crawling back to the surface
Veteran
Joined
Apr 27, 2014
Messages
198
Reaction score
29
First Language
Indonesian
Primarily Uses
How about preemptive and surprising attack? If there is z-coordinate, "ground" and "sky" is there too, right?
 

NPC

Auteurist in this world
Veteran
Joined
Jan 6, 2013
Messages
1,313
Reaction score
197
First Language
English
Primarily Uses
RMVXA
How about preemptive and surprising attack? If there is z-coordinate, "ground" and "sky" is there too, right?
For preemptive and surpsing attack, I haven't really thought about it. If I implement it, it would probably either be a speed buff/nerf, respectively, for a short amount of time.

I don't quite know what you mean about the z co-ordinate...there's no (planned) z co-ordinate. I was making sure people didn't think I was when I said vertical lol
 

AwesomeCool

Bratty and spoiled little sister
Veteran
Joined
Jul 20, 2013
Messages
2,862
Reaction score
1,947
First Language
English
Primarily Uses
N/A
Sounds like an interesting system.

I am going to ask the question, is this system just for you or for others?

If the system is for others, the following suggestions might help.

Suggestions:

  • It might be a good idea to make energy it's own gauge (instead of overwriting TP).  People might want to use TP along with energy.  If you want to have situations where energy replaces TP, make it an option to hide TP.
  • Status effects sound way too specific to fit all the ideas that people come up with for states.  It would be better to give people the tools to make there own original states, then predefined ones.  (Example: Make an area property that can be added to a state. While in the area the effect impacts anyone inside it.  You could then add a property that is called impassible that can be added to a state with the area property that makes it so no one can move through it.  Add a shield property to a state with the area property to allow no damage (or a reduced amount when the attack passes through it).  Combine all three of the properties to make a wall like state from your example).
  • You might want to add properties to attacks too (example: an attack that does more damage the further away the player is from the center).
  • it would be a good idea to create a modifiable AI system for users.  So that someone will have more control how enemies will use walls (example: trapping or protection) and other things (actors that are closer to the center more often will be more likely targeted by different attacks specified by the user).
  • If you think someone might want to do something different then default, consider options to accommodate them.
Finally, as someone who also worked on a complex battle system, think of as many possible things you might want to add (even if you think it is very unlikely you want to add the element in it) BEFORE you work on it (to prevent having to go back and keep redoing code for new stuff).

Basically plan everything ahead (don't be me and code yourself into a corner).
 

NPC

Auteurist in this world
Veteran
Joined
Jan 6, 2013
Messages
1,313
Reaction score
197
First Language
English
Primarily Uses
RMVXA
Ahaha, thanks for the feedback. I understand a lot of what you've said, and I am looking to give it to the public, but only if I feel comfortable with the system myself. I will try not to get too caught up in my plans for the system by not allowing much freedom. That said, let me address your points:

-I wanted to just use TP because it's a stat that already exists. I can probably create a new resource, and will look into how it might work as I continue to plan and develop how it all goes together.

-Status effects will not be changed from their basic forms, in my vision. Instead, there will be new status effects that can be added to the pre-existing effects as wished. I wrote my ideas, and basically what I want, balance-wise and personally.

-Ooh, hadn't thought of properties, but that could be cool! :)

-I'm already working on AI and all that jazz, and hopefully I can have the user easily tweak these things. 

-I'll look to see where I can open up options for the player.
 

BadMinotaur

You can do it!
Veteran
Joined
Mar 13, 2012
Messages
260
Reaction score
115
First Language
English
Primarily Uses
RMVXA
This is super eerie. About a month ago, I had an idea for this kind of system too -- with circles, clock-like positions, enemy in the center, etc. Great minds?

If you did want to implement multiple party members at some point, an idea to consider is to check for the party members being in different positions along the circles. If these positions matched preset "constellations" (or a similar concept) they could execute a big attack, or gain static buffs while they remained that way, etc.

Just a thought. This is a super-cool idea regardless.
 

NPC

Auteurist in this world
Veteran
Joined
Jan 6, 2013
Messages
1,313
Reaction score
197
First Language
English
Primarily Uses
RMVXA
Always awesome to see another great mind ;)

The problem with multiple controllable characters is that suddenly there are 10x more AI to program, more collisions to deal with, and just a whole bunch of problems in general. I've been toying with the idea of un-controllable guest characters, which won't be targeted by the monster and generally don't die, but it's unlikely they will be added in anytime before a final version.
 

MobiusXVI

Game Maker
Veteran
Joined
Mar 20, 2013
Messages
383
Reaction score
91
First Language
English
Primarily Uses
So when you were talking about movement and balancing being far away versus close up, I immediately thought of having more 'cells' around the circle the farther away you are. So like at close range, there are 4 positions and it only takes you 4 moves to circle an enemy. At medium range there's 8 positions; at far range there's 12 or something like that. That would make it harder to move around an enemy at far range. Throw in some attack skills that benefit from 'back-stabbing' and now being close helps you. Additionally, you could make enemy skills that have a 'cone' area of effect. These would hit more cells at long range than at short range making them harder to dodge at long range.
 

NPC

Auteurist in this world
Veteran
Joined
Jan 6, 2013
Messages
1,313
Reaction score
197
First Language
English
Primarily Uses
RMVXA
Cones are definitely something I'm planning to do, tho best case it should be easy for script users to change spread, width, speed, etc. of each attack.

The problem with making more cells the further out you go is that then if you move backwards, there's no precedent to where you end up, since  you'll never quite matchup with the other cells.

With balancing in mind, I have to say that a smaller amount of cells is generally better, as movement is impaired by stats, not how quickly you can press the arrow keys, but I will probably allow the user to increase the amount of cells from the script if they wish, but it will be a single stat, not one stat per row.

As much as it looks like a circle, it's really a rectangle that looks like a circle, and for simplicity, I'd like to keep it that way.
 

BadMinotaur

You can do it!
Veteran
Joined
Mar 13, 2012
Messages
260
Reaction score
115
First Language
English
Primarily Uses
RMVXA
Have you thought any more about this system since your last post?

I've been thinking about this for a while, and I figured out that you can represent positions on the circle using just a cell number and a formula. The (Ruby-fied) formula, that assumes you have 8 "cells" per circle, is:

x = ((position/8) * radius) * Math.cos(((position%8) * Math.PI)/4)y = ((position/8) * radius) * Math.sin(((position%8) * Math.PI)/4)#or, easier to read:modified_radius = (((position/8)+1) * radius)radians = ((position%8) * Math.PI)/4x = modified_radius * Math.cos(radians)y = modified_radius * Math.sin(radians)The easier-to-read part is just the formula for plotting points on a circle (radius * cos(radians) and radius * sin(radians)), it's how we get those numbers that matters.

"modified_radius" is the radius multiplied by whatever circle layer the player is on. That's what (position/8) + 1 is -- an integer from 1 to max_circles.

"radians" is the position of the cell on the circle (hence modulo) times Pi, all divided by 4. If I remember correctly, if you have a different number of cells per circle, replace the 4 here with half that number.

It's super-easy to calculate lines this way. Just add whatever your number of cells is! In this case, if you're at position 2 (north), if you add 8 you get 10 (also north, on the second circle layer), and if you add 8 again, you get 18 (again, north on the third circle). Movement between the circles is also great -- just add or subtract 8.

I'm not sure if I over-explained, and I'm sorry if this is all obvious stuff to you -- I don't know your background in math, and I'm super-bad at it, so when I learn something like this I try to be as clear as possible. I hope it helped in some way!

EDIT: I added a small, hastily-drawn diagram from my scratch notes that hopefully explains some of my madness about "cells" etc. haha.

Clockwork_battle_example.jpeg
 
Last edited by a moderator:

NPC

Auteurist in this world
Veteran
Joined
Jan 6, 2013
Messages
1,313
Reaction score
197
First Language
English
Primarily Uses
RMVXA
Wow! I've gotta really put the pedal to the metal if I want to catch up with you! xD I have finished the flowchart more or less for the game (though as usual, it will probably go through edits as the system evolves), and and starting to craft the system in my editor, but I haven't even started on the cell-stuff. :p  

I'll keep your post in mind while coding, it just may come in handy. :)
 

BadMinotaur

You can do it!
Veteran
Joined
Mar 13, 2012
Messages
260
Reaction score
115
First Language
English
Primarily Uses
RMVXA
Would you be cool with me developing a similar battle system for my own game? I'm not looking to release the script publicly, and the main similarity is just the circles -- my system is much more turn-based, with an emphasis on party combat.
 

NPC

Auteurist in this world
Veteran
Joined
Jan 6, 2013
Messages
1,313
Reaction score
197
First Language
English
Primarily Uses
RMVXA
I'll see what I can edit when the script actually starts developing. Right now, I'm also a student and trying to live on my own, so I don't have bags of time. :)
 

BadMinotaur

You can do it!
Veteran
Joined
Mar 13, 2012
Messages
260
Reaction score
115
First Language
English
Primarily Uses
RMVXA
I'm sorry, I wasn't clear -- since we had a similar idea, would you be fine with me independently making a battle system similar to this one for my own game? I figure you wouldn't mind that, but I wanted to ask to be sure.
 

NPC

Auteurist in this world
Veteran
Joined
Jan 6, 2013
Messages
1,313
Reaction score
197
First Language
English
Primarily Uses
RMVXA
That's cool too. Sorry, read fast.
 

Users Who Are Viewing This Thread (Users: 0, Guests: 1)

Latest Threads

Latest Profile Posts

rux
Just 80% of my motivation on game making lmao, anyone got tips on how to not be unmotivated?
I've signed up for a job training program for people with Asperger's Syndrome. I went to a "test run" today so they could see how well I did with simple jobs, and I amazed them. Most new people do it in 30+ minutes, while I finished in a mere 15 minutes. Gives me time to work on a screenplay for Studio MDHR...
People,I have seen that Someone from China/Chile and London is doing a Vaccine Against COVID-19.
Doing anything that yield good result in the long run is like sowing seeds. With proper care, they will grow and bear fruits. I'm excited for tomorrow. :D

Forum statistics

Threads
105,455
Messages
1,013,840
Members
137,105
Latest member
twilightprincess
Top