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 tuxemonIf both attempt to switch tuxemon, it's random who switches first.
3. Using an itemIf both attempt to use an item, the relative Speeds of the tuxemon determine which happens first.
4. Fast TechniquesIf 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 TechniquesIf 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?
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.
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 valuetuxemon switch: 30 + speed modify (trainer) -> some valueitem use: 40 + speed modify (trainer + tuxemon/2) -> some valueetc...then you sort the list:28 player 1 switches tuxemon43 enemy uses potionetc...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
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
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.
NEW: 6. XP AllocationIf a tuxemon was knocked out in a previous part of the round, its XP is allocated now.
NEW: 7. ConditionsIf 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.
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.
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: 20Monster B Speed: 35-----------------------------------Monster A rolls a 19Monster B rolls a 2-----------------------------------Monster A : 20 + 19 = 39Monster B : 35 +2 = 37-----------------------------------Monster A goes first.
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.
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.
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.
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
(stat - 10) / 2
-----------------------------------Monster A Speed: 16 (16 - 10) / 2 = 3Monster B Speed: 6 (6 - 10) / 2 = -2-----------------------------------Monster A rolls a 11Monster B rolls a 9-----------------------------------Monster A : 11 + 3 = 14Monster B : 9 - 2 = 7
(16 - 10) / 2 = 3
(6 - 10) / 2 = -2