RPG Battle System Theory Query

Miscellaneous Forums/General Discussion/RPG Battle System Theory Query

I hope it's not a bother, but I don't have anyone but the "Internet" to ask for it's opinion. I'm currently in the process of making an RPG. It would take sometime to explain the basic concept, but it isn't necessary for my question. Let us just say that it's not like Final Fantasy III.

Anyway, I've been trying to come up with a battle system that isn't the trite system that RPGs have been using since around, oh... Final Fantasy III. However, I have a difficulty deciding whether my concept is too "far out" or complicated. I'd like to put it to anybody in particular and see if it does, in fact, make sense.

Firstly, it's based, in part, off of the "Shin Megami Tensei: Nocturne" system of battle that uses elemental weaknesses as a core feature. In that game, hitting an enemy's weakness nets you an extra "half-turn". Hitting the same enemy's weakness a second time causes the enemy to be "shocked" and subsequent physical attacks are always critical hits, until the enemy recovers on their next turn.

I am planning to use an elemental weakness system that is similar. But, instead of allowing the player to "shock" an enemy and hit criticals, I want to have a system that can be manipulated to give the player as many turns in succession that they're teams skillset could allow. I'll explain myself...

The player can organize their party (up to five characters) in any order. When the battle begins, it checks to see if the first character is faster than the enemy. If they are faster, the character attacks the target enemy. The battle continues to loop in this manner, running through your team's battle order, until you win, lose, or cancel to reorganize.

This presents a big problem. If all your team members are faster than all the enemies, your opponents would never get a turn. To remedy this, each character has a "Speed Multiplier". This multiplier starts at 100% and can go all the way up to 200% maximum. It works in this manner. Every action a character takes decreases the speed multiplier a certain amount (it's a vague suggestion that the character is getting tired, you could say). On that character's next turn, the game tests the enemy's speed against the player's speed times their multiplier, whether it be 183% (1.83) or 25% (0.25). In this manner, every action you take decreases the possibility of you being faster than the enemy, next time.

But, then that creates another problem. (You can see how this gets convoluted in my mind.) If you run all the way to 0% with each of your team members, you'll never get a turn and surely lose. So, all this speed multiplier stuff has to be true for the enemies as well. If a character or enemy reaches 0% speed multiplier they have to sit out until the next "round" (the turn after every participant reaches 0%, all speed multipliers reset) or wait until another character gives them a "boost". Yes, there's more.

Boosting is like the extra "half-turn" in SMT:Nocturne. If a character hits an enemy's weakness in my system, the next character in line gets a "boost" to their speed multiplier (I'm not sure if it should be 50% or more). This means that, if you manage things right, you can potentially construct a routine that means you'll never miss a turn. I like this idea because, in theory, it rewards people who actually think about what they're doing and punishes people who don't.

There's also a matter of a combo system that I'm working on but that's a different matter entirely.

So, does this make sense? More importantly, do you, whoever you are, think it would work in practice? I plan to start actually programming it in a couple of days, I just wanted to get some feedback before I went through with it.

Thank you for your consideration, in advance.

-David

Hi,

This seems like the kind of thing that you'd want to knock up a text based/graphically simple example to demonstrate so that we could truly crituque it. Its hard to tell from a description.

A couple of things I would suggest from your description is that having a greater speed should not solely determine who goes first... it should merely raise the chances of going first, and the greater the difference, the greater that chance is raised. This way you don't have to worry about the problem you were discussing.

Another option you could consider is real time battle, that is typically less common in party based RPG's.

As I said before though, create an example, and not only can we see it but you'll more easily be able to evaluate it for yourself. You might consider using a flowcharter program to gather your thoughts... RAPTOR is pretty cool: http://raptor.martincarlisle.com/

Good luck!

After the initial attack (assuming you use speed as the sole determining factor in who gets to strike first), why don't you just have an internal timer that counts down at (1 per tick) * (character's speed rating). This seems to solve all of your problems, if I am understanding them correctly, and is a lot simpler than decrementing stats and having to worry about everyone hitting zero and standing around doing nothing. I can see that you're trying to find an original angle for your battle system, but some things are used frequently simply because they work.

Another possibility is that each time the player or an NPC has a chance to act, you roll that character's speed stat against an enemy's speed stat. Whoever wins that roll gets to act first.

SpaceAce