Friday, August 19, 2011

Going realtime

One of the main goals of The Five Orbs is to enable multiplayer - in the sense of one team of players against another team of players. We have already played such games using the card version, and it is definitely fun.

The current system forces players to each secretly choose a move, then reveal it simultaneously. Even for team matches, this has worked well with the card prototype. The current only version uses this system, and it works well too.

However I am a bit concerned about online play for team matches. Waiting until everyone has finished their move can be quite frustrating, as it provides an intermittent gameplay. I am not saying this is bad; it has undeniable advantages, such as giving plenty of time for mind games. And perhaps this will be the way to go for The Five Orbs, online.


I would nevertheless like to try a "realtime" version of the game. The difference would be that you would not need to wait for your opponent(s) to play. Each move would have timers (wind-up, cooldowns - people familiar with MMORPGs like WoW know what I'm talking about) that would pace the match. The Speed attribute would then be an indicator on how long you need to fire your move, and a cooldown would apply on each move to avoid chaining the same move again and again to reap tons of charges.

After a few tests, this changes several things. First of all, you have less time to think. Or more precisely, you have some pressure to decide your move during the time you can't do anything - the wind-up time of each move: while firing a move, you can't do anything else until the move has fired. The speed scale for the whole game can be parametered to find the good balance between pressure and time to use your Yomi skills.

Moreover, Blocking becomes different. You can effectively Block only when you have fired your move (which, up to now, is the same as in the card version). However, deciding to Block (i.e. counter an attack) forces you to do nothing until your opponent's move fires. At that time, if they did an Attack, you successfully Block it (and lose if they did a Magic).

The price to Block becomes high. You need to sacrifice some time, which you could otherwise use to prepare another move. The reward for successfully Blocking should then be higher. I have modified the move as such: when the Block fires, you gain B (like today). If you successfully Block an Attack, you gain another B, and the attacker's next move is at Speed + 2 (thus slower).

For those who want to play with the realtime version, it can be found here. But beware, there is no explanation whatsoever, so it assumes you are already familiar with the rules and are willing to to a bit of trial and error to understand which button corresponds to what. The only thing that needs to be said is:
To power-up a move, hold Ctrl while clicking (not a great solution, but this will do for now).

And if you want to stick with the turn-by-turn version, or simply compare both, it is here.

If you have any comment on it, feel free, I'll be more than happy to listen to them :)

Cards explained

Now that the rules and the cards have been published, I have some time to explain the reasoning behind the cards.

Without going back to the genesis of the rules, I decided to go with a Rock - Paper - Scissors relationship between the different moves. The reasons included being able to beat a stronger opponent based on how well you managed to read their moves, and forcing the players to focus on what their opponent was doing instead of merely trying to achieve high Damage Per Second. Thus were born, after many changes, the Attacks, Blocks and Magics.

The cards then fit into three categories. The basic moves, the advanced moves and the special moves.

The basic moves


This category includes the Attack, the Bamboozle and the Block. The goal of these moves was to provide an always-available counter to whatever the opponent might do, as well as a means to get charges.


The goal of the Attacks are to deal damage. As such, the Attack is no surprise, and provides a reliable way to do a fair amount of damage.




The Block is its natural counter. It is slightly faster than the Attack, so that it will fire first (otherwise it wouldn't be much of a use). The first version of the Block was just what is on the card: stop an Attack, and gain B. This, however, allowed the player to mathematically compute the worth of the card. I have 1B, which I can use to power-up the Energy Blast for 3 dmg. So 1B = 3 dmg, so a Block is worth less than an Attack.

The only skill that came into play was reading how your opponent would play, and not "what move is best suited for me now" (also called Valuation). According to the unclear payoffs of moves, I wanted to make them less similar, and introduced the block stun: after being blocked, your next move is slower by 1.


The last of the basic moves is the Bamboozle. The goal of the Magic cards was to be a bit different, and provide some unusual moves. The Bamboozle is for me the most interesting of the three basic moves, in the sense that it strongly affect the next move you will play. Firing one Bamboozle isn't worth much - a mere 2 damages. Firing two in a row makes it as good as an Attack (but still slower). From the third one, it gets really powerful. And it's really interesting to live the mind games going once a Bamboozle has been fired. Should I play Attack to make sure he doesn't get two Bamboozles in a row? But two Bamboozles isn't a big deal, maybe I should Block instead to get my B charge I need to power-up my Energy Blast. Etc.

Once two Bamboozles are out, the reasoning changes a bit. It is more like "he has too much to win if he connects a third Bamboozle that I have to play Attack to stop him". In the end the 8-damage Bamboozle is often that big a threat that it is not worth taking the risk to outread your opponent - unless he knows you're someone who plays safe. Which is why letting the second Bamboozle connect is stronger than it appears: it is not only about the 4 damage, it is also that the next move odds are a lot in favor of the Bamboozling man.

Advanced moves


The first goal of the advanced moves was to provide a mid-term objective to the players. So that they think "I need RR and at least one B to fire my Energy Blast, so I need to play Attack", and their opponent thinking in the same line. In the first versions of the game (including the version that is playable online at the time of the writing), this is what made the random play suboptimal (as proved by the relative weakness of Modnar). It is always more profitable to play according to a strategy than play randomly.

In the current version of the game though, the advanced moves answer specific needs, as illustrated below.




As you may have understood by now, Attacks are not really the subtle moves. The goal of the Energy Blast is in line with this philosophy: do more damage. It also provides a way to convert B charges into quite a lot of damage. To the point that the Energy Blast is seldom worth playing without one or two Bs to power it up.


The Interrupt origin comes from team play. Say your team is loaded with charges (RR, BBB, GG) and you want to throw a strong Energy Blast to one of your opponents. It is however easy for the opponent to anticipate it (that THE move you should do after all) and Block it. And if it fails, they didn't lose much.

The goal of the Interrupt was thus to allow for a coordinated attack. One player Interrupts the target, while the other smashes them with an Energy Blast for 15 damages.


That's why the Instant Guard has been created: to provide a way to counter this scheme (if two moves have the same speed, they both activate at the same time - so the IG is not Interrupted). And that is also why the IG has an alternative way to pay its cost. What's more frustrating than knowing something is going to happen to you and not being able to react? To cope with this, you always have the opportunity to pay 5 life to fire the IG.


The special moves have not been really tested yet - only a couple of solo games - so I will leave them for a future post. And as usual, waiting to hear for your feedback :)

Thursday, August 18, 2011

Game rules

As long as the online version, I am working on a physical card prototype of The Five Orbs. You saw the cards in a previous post. They allow me to work on new concepts and test them without any cost. That way I can easily try out new things, and discard or adapt them when need be.

Without further ado, here is the link to the rules. It is a first draft, so very unpolished, and will probably remain so until I am confident the rules will not be changing all the time as it is the case today.

And the PDF containing the cards is here.

The rules probably contain at least some obscure explications or phrasing. Unpolished not meaning not understandable, please let me know, and I'll detail or rephrase.

Thursday, August 11, 2011

New release

A small release this week, as I'm mainly busy working on the new rules for team play and a first prototype of real-time play. The changelog is:

- Date indication in chat is now displayed according to the client's locale
- Very basic draft of rules accessible from the fight screen
- Number of games played displayed in leaderboard

Unfortunately, it is not possible for me to update the current leaderboard with the number of games that have already been played. I did not store enough information on each game to easily compute this number, and parsing the logs will be a big hassle.

So, unless it proves absolutely necessary, the number of games played (finished, actually) starts at 0 for everyone.

As a reminder, the url is http://test.thefiveorbs.com, and the link is also present on the right column of this blog.

Print and play!


... except you'd have to know the rules first, as there are no downloadable rules yet.

I've starting playing with nanDECK and made a first set of cards. And I've just seen that it's really easy to add files and images to blogger, so here I go :)

The Five Orbs deck

Wednesday, August 10, 2011

3 vs 3

Team play continues! We had a 3 vs 3 team match the other night, and I finally have some time to write down how it went.



The play session



The play session included friends who had never played the game before (or only the very old version of it, which amounts to the same thing). To avoid making things too complex, we decided to stick with the rules with which we played our first 2 vs 2 match.

One of us took on to write a detailed log of the game. I thus have a full table that records all moves for everyone on each of the 18 rounds of the game. We can get many other stats from this document, but I'll publish them in the next post.

On a very high level, the main points are:
  • We won :)
  • Our team clearly focused the attacks on one person (12 targets on 11 rounds, against 13 on 17 rounds for the other, and 15 on 18 rounds for the last one). He was also the first target of our Energy Blast (the most powerful move), which led to its death after 12 rounds.
  • The rest of the game led to similar conclusions as last time. With one less player (and already behind in terms of life totals), the other team could not do much. So the question as to how to deal with this kind of situation arose again.
  • Nevertheless, it was still fun. The fact that a dead player can't do anything in the game anymore and has to wait until the game finishes is a negative point, but I hope that the changes we'll bring to the gameplay will help with this.

Post-game discussion

Once the game finished, the main testers and I sat down to discuss the points to be improved. Our main concerns were:
  • Give teams to avoid being reduced to fewer players than the opposite team, or at least let them come out of this situation with decent fighting chances.
  • Avoid "the more you win, the more you win" effect.
  • A couple of balance issues.

Additional dynamics

One thing we wanted to do was to help teams adopt different kinds of strategies. We have thus designed a specialization system, that allows a player to specialize in one of the three main areas (damage, control and support). Basically, Control allows player to interrupt other moves more often, Support will earn more charges for the team and Damage is rather self-explanatory :) With each of these specialization will come one additional move, that will replace the standard strong opposite move. For instance, someone specializing in Damage will replace the "Instant Guard" with a new "Dragon Punch".

Limited charges

When a team is gaining the upper hand in terms of life total, it often comes hand in hand with an advantage on the charges. While this may be disputed (you already do damage to your opponent, AND you get additional charges??), it works fine for now as is. However, what the winning team was really gaining was the freedom to strike whenever they wanted. As soon as you have accumulated enough charges to fire your boosted Energy Blast, the opponent is one the defensive. They know they can get hit really hard at any time, so they must be cautious. Which means that as long as the winning team doesn't fire the move, they have an additional advantage. The issue here is that waiting to use the move has no drawback. Take a game like Street Fighter IV: you can get a power bar to fill up (depending on the moves you do and the damage you take), and once it is filled up you can launch a devastating move. If you fire your move immediately, you can hope to get a full bar again later on in the fight. So in this case, the cost of waiting is a potential loss of a second move later in the game. We have decided to apply a similar limitation on The Five Orbs. The charges will now be limited to (4 + 1 * number_of_players_per_team) charges per team. This will not only force team to fire their strong moves if they want to keep on winning charges, but hopefully will also force them to decide on a strategy to get the appropriate charges (you wouldn't want to be stuck with 2B, 3G and 1R while wanting to fire an Energy Blast).

Small adjustments

In addition to this, we will try some small adjustments:
  • You gain a charge as soon as you fire the move, regardless of what becomes of it (a blocked attack will earn you 1R now)
  • Instant Guard is really underpowered, and Interrupt should be a bit stronger. Not decided on what to do with them yet.
  • The Block additional effect has been removed (it was useless as it was). Might add a new effect to bring some power back to the Block.
  • Still no combo

So quite a lot of new things coming in the next match :)

Monday, August 8, 2011

New release

A new release is out!

- Slightly improved handling of presence in the lobby. Players whose connection drops will now not be present in the lobby anymore.
- Added a Level attribute to the ranking ; it is an easiest way to compare two players. The details are still available.
- Changed the display of waiting players in the lobby.
- Rethought the handling of fight challenges to other players, to make it less confusing.
- Added icons for players you have challenged and who have challenged you; added an icon for Modnar
- Player names that are in fight are now in italics
- The Level is now the prevalent measure of the player's strength in the lobby. The details (mean and uncertainty) are still available when mousing over the player's name.

Note on level: I believe it is interesting to have a simplified way to compare two players. However, the current level is a bit awkward. You go up and down quickly (while levels tend to mean you're getting better, so up only), you skip levels a lot in the beginning, and you can rather easily get a negative level. So I'm not really happy about it. I will need to wait a bit and see how it turns out with real data, but I could replace that with something slightly different.

As usual, waiting to hear your feedback :)

Sunday, August 7, 2011

First team match playtest

Last week saw the first real match between teams of players. Not the usual one-on-one match, but 2 vs. 2!

First things first: that was fun :) The game was clearly unpolished, some rules needed tweaking (rules changed between each game, and once again after the last match), but it was interesting and fun to play.

Our main concern at the beginning of the game was to avoid having a no-brainer strategy consisting of taking out one of the two players first to get into a 2 vs 1 situation. We discussed several adjustments to get to it.

The first rule we adopted was:
If you are targetting someone, and are targeted by someone who isn't your target, this player gets a bonus
The goal of this rule was to simulate a case where two players would gang on one player of the opposite team. The attacked player then adopts a defensive stance, trying to parry the attacks of both attackers. And during this time, the attackers are wide open to an attack from someone else.

This of course is a very simplistic simulation, but it still gave us a good ground from where to start. The first game went on, and was pretty one-sided. One team got the advantage early on, and it kept widening during the whole game. The losing team forfeited after one player got taken out.

The post-match analysis mainly revealed that one move was strongly imbalanced (it was easy to smother another player), and that a given combination of moves lacked a proper counter. We fixed this, and went on to the second game.

For the second game, we decided to try and apply the "take one out first" strategy, and concentrated our attacks on one of the opposite team's players. We got a bad start, but eventually managed to take them out. The situation at this point could have been seen as close: the single remaining player had the same amount of hit points than both of us combined. However, as expected, it is more or less impossible to survive in a 2 vs. 1 environment.

We then all agreed that the 2 vs. 1 situation is something we should have a clear answer to. Several ideas were proposed: the ability to revive a fallen ally, a change in how players were allowed to play when the 2 vs 1 situation would arise, etc.

In the end, we decided that there would be no heal (my call, I don't like healing) and no revive ability. We would instead focus on giving the teams the tools to avoid facing this 2 vs 1 situation.

The main idea we have had for this was to allow players to "transform", or "specialize", during the game. For instance, you could trade Blue charges to get an improved defense and reduced damages. Or be more efficient at interrupting someone else's moves, or dealing more damage, etc. We still have to test all of this though (we played only two games) - so stay tuned for fresh news :)