Order of Action in Combat

Avatar

By Sanglorian 26 Apr 2017 02:43

Champion · 491 comments

Hi folks,

Under discussion on Github has been what the turn order should be like in combat.

There are a few things that can be done in combat:

* Retreating/Attempting to Retreat (the player leaves combat; combat ends)
* Using a technique
* Using an item
* Switching one tuxemon for another
* (Can anyone think of others?)

So what order should these things happen in?

Please keep in mind that we're designing for multiplayer as well as singleplayer, so we can't say "Protagonist goes first" because in multiplayer they'd both be protagonists!

---

I think the turn order in a round should go like this:

1. Attempts to retreat.
If both attempt to retreat, both automatically retreat.

2. Switching tuxemon
If both attempt to switch tuxemon, it's random who switches first.

3. Using an item
If both attempt to use an item, the relative Speeds of the tuxemon determine which happens first.

4. Fast Techniques
If a technique has the Fast effect, it goes before other techniques. If both attempt to use a Fast technique, the relative Speeds of the tuxemon determine which happens first.

5. Non-Fast Techniques
If both attempt to use a technique, the relative Speeds of the tuxemon determine which happens first.

Any of these use up your action for the round - you can only do one.

If two tuxemon's Speeds are tied, it's random which goes first.


Other options would be:

* Who uses their item first is random instead of being based on tuxemon speed
* The Fast effect modifies a tuxemon's Speed instead of guaranteeing that they go first
* Trainers could have their own Speed that would affect some of these operations
* Items could have their own Speed
* Instead of having different turns for retreating, switching, items and techniques, every action could have its own Speed/Speed modifier. A very fast tuxemon could then get its technique off before an item is used, while a very slow one couldn't (for example).

---

What do you think?

Avatar

By bitcraft 26 Apr 2017 16:42

Champion · 166 comments

I'll cast my vote that trainers should also have a speed modifier.  I'm not a pokemon player, so I don't really know that typical way it is played.  But, to me it would make more sense that the trainer speed is used when using item, as opposed to monster speed (or maybe a combination of both would be better?)

As for not enforcing action-types order ("run first, then item, then actions, etc"), I'm not opposed to it as long as the player is aware why the order happens that way.

Finally, another thing to consider is how the rules will play out when there are multi-monster battles, or even battles with several trainers.

I think the list you've compiled is a good start.

Avatar

By tamashihoshi 26 Apr 2017 22:30

Champion · 251 comments

I'm also gonna throw a few points in (before going to bed):

if trainer have a speed modifier or speed stat, we could actually put in a few more stats, adding more rpg elements into the game. not sure if it get's complicated then though...
like:
speed modifier (use of items etc)
capturing modifier (if we go by the "bind the soul to an object" theme, this could modify the capturing power)
training modifier (modifies the amount of exp your tuxemon gain or probably the way the exp is distributed among your tuxemon)
negotiation? (cheaper items are cheaper)
but... yeah... things might get complicated ._.'

about the order:
instead of making a fixed "first this then that" order, we could go for something more flexible...
let's take your list as an example for this:
retreat attempts: 20 + speed modify (trainer/2 + tuxemon) -> some value
tuxemon switch: 30 + speed modify (trainer) -> some value
item use: 40 + speed modify (trainer + tuxemon/2) -> some value
etc...
then you sort the list:
28 player 1 switches tuxemon
43 enemy uses potion
etc...
a very fast person could use a technique before you can heal your tuxemon. probably even before you can retreat (gotta go fast)....
again: get's more strategic, get's more complicated.... >_>' but probably is an idea how to deal with multiplayer battles

about "protagonist goes first":
i dont know how multiplayer will work in the future, but currently it says "host" and "join". in this scenario, we can treat the host as the protagonist i think. probably. if im not forgetting something big_smile


We'll meet again, don't know where, don't know when. But I know we'll meet again some sunny day!

Avatar

By benneti 27 Apr 2017 07:15

Member · 38 comments

I think it would be easier to give the items speeds, so you could have eg. a fast quick injection (very fast) or a full recovery drug (slower).
I think this would be better, because you already train and search for tuxemon, so to train the trainer would probably a bit much, while finding items to modify the speed and stats seems more natural (to me).
To implement more of tamshihoshis ideas there could also be items to level tuxemons faster

Avatar

By Sanglorian 2 May 2017 08:31

Champion · 491 comments
Sanglorian wrote

I think the turn order in a round should go like this:

Playing EvoCreo, I realised there were a few parts of the round missing from this, so I added them in.

NEW: 0. Choosing actions

Each player chooses whether they will: use a technique with their active tuxemon, attempt to retreat, use an item or switch their active tuxemon for a different one on their team.

1. Attempts to retreat.
If both attempt to retreat, both automatically retreat.

2. Switching tuxemon
If both attempt to switch tuxemon, it's random who switches first.

3. Using an item
If both attempt to use an item, the relative Speeds of the tuxemon determine which happens first.

4. Fast Techniques
If a technique has the Fast effect, it goes before other techniques. If both attempt to use a Fast technique, the relative Speeds of the tuxemon determine which happens first.

5. Non-Fast Techniques
If both attempt to use a technique, the relative Speeds of the tuxemon determine which happens first.

Any of these use up your action for the round - you can only do one.

If two tuxemon's Speeds are tied, it's random which goes first.

NEW: 6. XP Allocation
If a tuxemon was knocked out in a previous part of the round, its XP is allocated now.

NEW: 7. Conditions
If you are poisoned, you take damage now. If your condition has a 50% chance of healing each round, this is the time when the game announces whether that has succeeded, etc.

Note, if a tuxemon is knocked out in a round, its replacement does not get to act.

Avatar

By christian 3 Jul 2018 05:15

New member · 8 comments

I'd like to see it be semi-randomized whose technique goes first even if there's not a speed tie.  The most simple way to implement this would be to have your chance of going first = your speed / (sum of both speeds), but obviously you could adjust that formula as you feel appropriate.

Avatar

By Sanglorian 3 Jul 2018 10:48

Champion · 491 comments
christian wrote

I'd like to see it be semi-randomized whose technique goes first even if there's not a speed tie.  The most simple way to implement this would be to have your chance of going first = your speed / (sum of both speeds), but obviously you could adjust that formula as you feel appropriate.

Interesting - and I like that you proposed a simple formula that would achieve this, as well!

One of my gripes with the current winner-takes-all Speed system is that having a Speed just 1 point higher than your opponent's is just as good as having a Speed 100 points higher than your opponent - your proposal would avoid that problem.

Avatar

By ShadowApex 3 Jul 2018 20:28

Lead Developer · 374 comments
christian wrote

I'd like to see it be semi-randomized whose technique goes first even if there's not a speed tie.  The most simple way to implement this would be to have your chance of going first = your speed / (sum of both speeds), but obviously you could adjust that formula as you feel appropriate.

I also like this kind of idea. A variation of this could be a dice roll-like system, where each monster rolls a die (e.g 20 sided die) and their speed is added to the roll. Then the highest summed roll goes first. This would make it so if one monster's speed is significantly higher than the other, they would be guaranteed to go first, but speed stats that are closer to one another would have more variability.

Here would be an example:

-----------------------------------
Monster A Speed: 20
Monster B Speed: 35
-----------------------------------
Monster A rolls a 19
Monster B rolls a 2
-----------------------------------
Monster A : 20 + 19 = 39
Monster B : 35 +2  = 37
-----------------------------------
Monster A goes first.


Avatar

By Sanglorian 4 Jul 2018 09:34

Champion · 491 comments

Am I picking up a tabletop roleplaying influence here, ShadowApex?

It'd be interesting to see the odds given different Stat spreads and different random number ranges. Of course, the same system could be used for attacks and defences, as well.

Avatar

By bitcraft 6 Jul 2018 03:40

Champion · 166 comments

I like the idea of adding a random value (like rolling a D20), but if it is too high of a spread, then it becomes too random.  So, i think what ever random value is used, it should only be a calculated fraction of the overall range of all values.  For example, if each monsters speed is around 20, low is 18, high 23, then adding 20 could make the order too random, but adding a few points (5?) could add some variation without breaking predictability, which is very useful.  For instance, if the slowest monster went first often because of too much of a random boost, that would be pretty annoying as a player.  When playing a lot, you tend to play out rounds based on monster order.  Too much variation makes it less interesting to play.

Avatar

By ShadowApex 10 Jul 2018 03:56

Lead Developer · 374 comments
Sanglorian wrote

Am I picking up a tabletop roleplaying influence here, ShadowApex?

It'd be interesting to see the odds given different Stat spreads and different random number ranges. Of course, the same system could be used for attacks and defences, as well.

Yup, definitely tabletop influence! We could also do something similar for attacks and defenses too, if it works well.

bitcraft wrote

I like the idea of adding a random value (like rolling a D20), but if it is too high of a spread, then it becomes too random.  So, i think what ever random value is used, it should only be a calculated fraction of the overall range of all values.  For example, if each monsters speed is around 20, low is 18, high 23, then adding 20 could make the order too random, but adding a few points (5?) could add some variation without breaking predictability, which is very useful.  For instance, if the slowest monster went first often because of too much of a random boost, that would be pretty annoying as a player.  When playing a lot, you tend to play out rounds based on monster order.  Too much variation makes it less interesting to play.

I agree. If we used that kind of rolling system, we would probably have to use much smaller stat numbers to limit the amount of randomness. In tabletop games like D&D, individual stats can range from 1 - 20. From that, you subtract 10, and divide by 2 to get the amount to add to your roll, i.e. (stat - 10) / 2

For example:

-----------------------------------
Monster A Speed: 16 (16 - 10) / 2 = 3
Monster B Speed: 6 (6 - 10) / 2 = -2
-----------------------------------
Monster A rolls a 11
Monster B rolls a 9
-----------------------------------
Monster A : 11 + 3 = 14
Monster B : 9 - 2  = 7