Friday, May 27, 2016

[IndieDev] Eon Altar's Combat Loop and Power Designs

Welcome to Part 2 of my posts on Eon Altar's combat design. You can find Part 1 here. Today I'll be talking about the myriad combat loops that we've built into the game and talk about the designs that support each.

Eon Altar has what I would call about 3.5 different combat loops. 3.5 is a strange number, and you'll see why I sort of call out two combat loops that are really a single loop, but when watching players, there's a distinct progression in terms of thoughts and planning. The loops would be classified as follows:
  1. Your Turn--Look for a target, use a power, wait for your next turn.
  2. Your Turn and Enemies' Turn--Use powers that position you to an advantage for or alter your opponents' turn.
  3. Multiple Turns--Plan your energy, fortitude, cooldowns, and gear usage over multiple turns. Planning multiple character combos (or even self-combos) can fall under here as well.
  4. Multiple Combats--Plan your progression and gear crafting/choices over multiple combats.
1 and 2 are pretty well a single loop (given combat is alternating turns), but there's a definite skill difference between players who understand loop 1, and players who understand loop 2. It's not a huge jump mind, but a discrete one.

Last time we talked a lot about loop 1, and hinted at loop 2 with talk about positioning. I'll break down some specifics about each system supporting the loops as we designed them, and how each evolved over the course of development.

Contextual Powers

The basic turn flow is pretty, well, basic. You look at the battlefield, figure out who or what you want to target, and then you're presented with an array of different powers. Once you've decided on your power, you execute it.

The trick here is the powers we present to you are based on context from combat: what is your status and where are you in relation to your target.

When we designed combat, we wanted to ensure that there was a feedback loop between your actions now (and your opponents' actions) and the powers that would be available to you next. Examples of this would be Silent Thorn gaining Assassin powers when she's Concealed; Shasek gaining Berserker powers when he's Bloodied; ranged attacks becoming unavailable when you get Engaged (locked down by a tank). Your range in relation to the target is also important, as some attacks become unavailable if the target is too far.

Earlier on in development, we also had powers that only showed up if you were Engaged. Other powers also only showed up if you were at range and not in melee. Like positioning requirements, later in development we decided these were too restrictive. Part of it was depending on context you might only have a single power available to you which is no fun at all because you literally have no choices, and part of it was just player confusion. It's easy to justify gaining new powers for a special status, and the no-ranged-when-engaged is pretty easy to grok, but a lot of cases where powers you thought you should have (like a big melee attack) only appearing when you're engaged or at a specific distance was difficult to communicate effectively, and felt arbitrarily restrictive in play testing.

Marcus Engaged with a Sellsword
Another change related to this was Engagement itself. Originally, all melee attacks Engaged the other party. When you're Engaged, you're locked in 1v1 combat with another party and can't escape without either killing the other party, or using a special Disengage power (which usually felt like wasting your turn). Engagement was extremely restrictive--by design--but play testing showed that it wasn't a fun restriction, especially given our penchant for battles where the players are outnumbered two-to-one. It was far too easy for ranged characters to get locked down and become basically useless.

Later on we changed Engagement to be something only tank characters used. Some enemies can engage, like the Bloodguard, and all three melee PCs can engage--though Shasek is less likely to want to unless the situation is dire or you really want him to take some damage to activate his Berserker powers. This made the status dangerous and a lot more uncommon, but in this case less is more: engagement is now an extremely powerful tool when used judiciously and deliberately. But those strategies are encroaching on Loop 2.

Combat Resource Economy

I'm jumping ahead to Loop 3 here a bit first, because the resource economy we built informs the design of Loop 2 to a certain extent. So while it may make sense to discuss each loop in ever-broadening order, that's not really how things worked when building the system.

In the first couple iterations, we had two primary resources: energy, and cooldowns. Attacks generated energy, and the harder you hit, the more energy you'd get returned. This created a bit of a runaway virtuous cycle where Fireballing a large group would generate so much energy that you could basically just spam the spell over and over again, so we introduced cooldowns on some of the more powerful abilities.

Every character had a couple of "Farmer" powers--that is, powers that cost 0 energy. Their primary purpose was to generate energy to use on some of your bigger attacks, the Mighty and Mythic powers.

We decided we needed to cut off that runaway virtuous cycle. Despite cooldowns, you could still alternate Mythic attacks and still generate enough energy to spam big powers all combat long once you were rolling. The first step was cutting down energy rewards from every hit to only the best hit if the attack was an AoE. Later on, we actually stopped granting energy on non-Farmer powers entirely. We beefed up the amount of energy Farmer powers granted (including on a miss so they never felt like a total waste), and the current energy economy was completed.

Muran gaining energy from a Stone Strike
As far as numbers are concerned, a miss is 3 energy, a hit is 3 or 5 energy, and a critical is 8 energy. We wanted to have that fist-pump moment where crits felt better than normal hits, especially since a crit in Eon Altar just guarantees you roll maximum damage rather than doing extra. The other aspect to this is we standardized energy costs to 5 and 12 energy for Mighty and Mythic attacks respectively. 

With energy costs set, it became really easy to map out what an expected energy curve would look like. You could alternate a hit (+5 energy) with a Mighty power (-5 energy), or if you were saving energy, you knew it would take 3 - 4 attacks for a Mythic attack, or 2 if you're lucky with a crit or two. Crits in general just allowed you to slowly bank extra energy over a medium period of time, especially given crit rates generally fall in the 25% to 40% range.

With energy gains under control, we decided we could remove the cooldowns off most powers. If you had 24 energy banked, Fireball with Muran two turns in a row if you'd like, or if you have 15 energy banked, Shield Slam on Marcus 3 times in a single turn to build up for a giant final strike. The only powers that have cooldowns remaining are Shadowstep for Silent Thorn so she can't sit in Concealment forever, and Revive to prevent players from spamming it to zerg the encounter until they get lucky. Some gear have cooldowns as well, but they're usually massive boosts or extremely powerful to compensate.

Basically, cooldowns are no longer a "resource" per se and more a balancing mechanism. A subtle distinction, but an important one as it means players have far more options at their disposal on a turn-to-turn basis.

Gaining An Advantage

Once we decided to ditch Engagement as a thing all the time, and removed some of the more restrictive contextual requirements for powers, it often meant that you had anywhere from 3 to 7 (or more!) actions available to you at any given time. This meant we needed differentiation.
Muran has a lot of options at her disposal. The two slots on the lower right could also contain equippable items like arrows or potions, meaning she could have up to 9 powers total in this context.
It's not sufficient to just have Swing Your Sword, and then a more powerful Swing Your Sword Harder. We wanted to make sure that even your "worst" least expensive powers had some tactical advantage to using. Since every character has two power archetypes, even within a single character we needed to ensure that your two Farmer powers were unique. We also wanted to ensure that using a Farmer power instead of a Mighty or Mythic power was a valid tactical decision aside from saving energy.

We have three mechanisms to realize this vision: stances, power bonuses, and status effects.

Stances and power bonuses are probably the more subtle effects, but they're also the most prevalent. They're also the hardest to communicate to players (we still don't communicate them well).

All powers activate a stance when used. Fireball and Flame Aura, for example, share Muran's Fire stance, whereas Shatter and Stone Strike share her Earth stance. Muran's Earth stance often comes with defensive bonuses, versus her Fire stance which is more damage at the expense of defense. This makes choosing Earth powers a better decision if you're going to be in melee a lot, but if you can get safely at range, you can unload with Fire powers to scorch the enemy without having to worry about the relatively lowered defenses.

On top of that, many powers have bonuses on top of the stance. Marcus' Lunge III, for example, activates his Phalanx stance for some physical resistances, but the power itself adds a +4 Defense bonus that other Phalanx powers would not, making it a natural choice if you need to turtle up.

Finally, status effects. Many powers give you buffs, or the enemy debuffs. Again, this helps differentiate powers. To use Marcus as an example again, Lunge gives Marcus the Protected status (+25% Defense) whereas Sunder causes the enemy to be Sundered as the name suggests (-25% Defense). Both are Farmer powers, and while Lunge is more accurate and Sunder does more damage, the status effects are powerful enough to perhaps use one of those instead of a more expensive power if the situation calls for it.

Silent Thorn has a good example with her Void Arrow versus her Quick Shot. Despite Quick Shot being free and weaker, since it slows the enemy (-50% Movement), it's the better attack to use if you're kiting a melee enemy. Void Arrow, however, does a fair bit more damage for 5 energy, but it also Blinds (-25% Accuracy, -50% Range), so it becomes a great decision to use against a ranged sniper or if there's nowhere for you to kite.

And then of course utilizing these effects with your allies allows you to really boost your party's power. Sunder with Marcus to allow others to hit more easily then Slay with Shasek to Weaken the enemy and get a second turn. Muran's Flame Aura reduces Radiant resistance, then use Baryson's Blade of Glory to do Radiant damage and leave a Radiant DoT to tick for even more damage. Or use Marcus' Shield Slam to knock an enemy backwards into another opponent so Silent Thorn can Volley both of them.

Part 3 Coming Soon

Loops 1, 2, and 3 often aren't quite as neat and tidy as I first laid them out. There's lots of overlap between them, and even when we were designing, different aspects of the system came online and iterated at different rates. What we have today is a pretty well-oiled machine, and we have loads of evidence from our play tests and demos at conventions such as PAX East and PAX West that we've created a very tactical game that rewards players who're aware of and plan around the different combat loops. But it definitely took a lot of iteration, thought, and play testing to get where we are now.

Next time I'll discuss progression, archetype design, and the role of gear and craftable items as the 4th and final broader combat loop.
#IndieDev, #EonAltar, #GameDesign

Friday, May 20, 2016

[IndieDev] Eon Altar's Team Turn Based TRPG Combat Design

Eon Altar's combat systems have been iterated on over the past 2 years pretty significantly, but the core tenets have stayed pretty constant. When we first set out to make this version of Eon Altar, combat came out of the gate relatively early in the process with a very strong design vision set by Christoph Sapinsky (@XophRA on Twitter). Later on after Christoph moved on from the team Scott Penner (@AltheusStone on Twitter), our lead designer, continued iterating on the system. Throughout the entire process, I've definitely made opinions and suggestions known.

Combat today is a team turn-based affair, with each player having a strong class identity and an array of unique-to-the-character powers they can pick and choose from each turn. Being able to take your turns simultaneously or in any order you choose allows for fast paced combat that you can slow down and plan at your choice. A clear energy economy for spending on bigger powers gives an ebb and flow over the course of a single fight. Many powers have secondary effects that make each one worthwhile in different situations. Outside of combat itself, character progression in the form of upgrading existing and unlocking new powers, stat boosts, weapon/armour upgrades, and consumable items help round out the longer planning game.

As evidenced by watching people play at PAX East, we've certainly succeeded in making an engaging, tactical combat system. But where did we start from, and why have we made some of the decisions we have along the way?

Original Vision

We had a few design goals we needed to keep in mind as we created combat and evolved it. The current system bears many of these out--though to a lesser degree than we'd like for some, admittedly. Some of the vision we've had to leave due to just not being able to build the tech, or as we built the game, that aspect of the vision came into conflict with providing good game play.
Letting smart player decisions really maximize their results in battle, including proper physical placement, equipment management, using and progressing individual abilities, and cooperation with other players. Epic battles should engage players with strategy that requires group discussion.

Fast Paced
Not every battle needs to be epic; most fights will be fast and brutal and serve to contrast the fewer, more strategic fights. Players should feel that once they've committed to an action that the result is quick. Turns will be team-based, so turns go by quickly and players won't have to wait long to make their next decision.

When the time is right, we will reward players with a display of how bad-ass their character has become. Some monsters and battle ends should trigger "death blows"--special animated sequences. These cinematic sequences will be rare, but valuable interruptions to the regular flow of an otherwise fast-paced combat experience.
From the start, we had the team turn-based tactical combat vision. It was important to us that combat was fast and fluid, but you could take the time to make nitty gritty decisions if you really wanted to (or in the case of some combats, need to).

Vision Variation

I'm of the opinion that we succeeded in spades with the tactical and fast paced aspects of the vision, but some parts of the vision had to be left behind.

One of the biggest omissions is probably the Cinematic portion. By the time we got combat in a nascent working state, we realized that interrupting the flow of combat was going to be difficult to do in a way that wasn't frustrating to the players. Since turns are simultaneous, when a player went in for a critical hit, if we did a cinematic zoom it would interrupt the other players' targeting. Similarly, if three enemies are attacking simultaneously, and one of them gets a critical and we did a zoom, players wouldn't see the other enemies attacking, which is problematic from an informational standpoint.

I believe one day we'd still like to do finishing blows for the end of combat, but given everything else we needed to get running, it fell down on the priority list until it was cut for our current release. Something to revisit if we do well enough to release more seasons.

Cinematic has evolved since to be more about ensuring powers look and feel great. Fireball, Blood Rage, and Shield Slam are all incredibly satisfying powers to use because they look powerful. It's not just the numbers, but the visuals and sounds enforcing that.

Powers and Positioning

One of the things that I would've liked to have more of from our tactical paragraph is physical positioning. To be sure, physical position does matter. If an enemy attacks you from behind, they have an accuracy bonus; if you're too close an ally may accidentally nail you with a fireball or a cleave attack; and enemies can "block" you from making melee attacks on their friends behind them as a sort of "melee line of sight" deal.

But each action in combat is actually a series of actions, which makes having fine-grained control over positioning difficult. You decide what the top-level action is going to be, and then the action itself performs a series of sub-actions that's entirely AI controlled.

Basic Turn Flow; Thinking, Targeting, and Executing occur on the main game while Deciding occurs on your Controller App.
A simple example of this would be Muran's Aetherbolt. You select your target, and decide you want to Aetherbolt them. The Aetherbolt action has two sub-actions: Move, Attack. The Move sub-action calculates the furthest point you can be from the target and still hit them and moves you to that location. The attack sub-action actually performs the ranged attack.

A more complicated example would be Marcus' Lance Assault. It has six sub-actions: Disengage, Move to Target, AoE Smash/Knockback, Find Random Enemy Target, Move to Target, Attack. This power has two move sub-actions in it, letting Marcus rip around the battlefield, but you don't know where you'll end up.

Because the AI is doing the movement for you, it's doing its best to guess where you should be and makes the attack. But you don't have much direct control over your position or facing when the attack is complete.

The benefit to this is each turn is important; we can ensure that nearly every turn you're doing something that has direct impact on the fight. While you can decide to just move to a specific location, most of the time you want to be doing actual actions and rolling movement into those actions allows you to spend more time doing and less time jockeying. Being too far away to do anything at all isn't something that occurs most of the time if your party is moving together as a group (if you have a laggard, well, your marching order may need work).
The left is what a Fireball would've looked like for damage areas early in development. You can see enemies acting as physical barriers. Today, it just hits everything in the AoE. However, the left side is still how we determine if you can attack someone with via melee.
The negative is, as mentioned before, lack of control over various sub-actions, including positioning. Because of that lack of control, we can't enforce too many positional requirements or it will become an exercise in frustration for players. Over the course of development, we've relaxed positional restrictions over time, allowing for ranged attacks and AoEs to go through people, deciding not to implement D&D-style attacks of opportunity, and allowing any position that isn't directly in front of someone count as "flanking".

Measuring via play testing, this relaxation has noticeably reduced player confusion and frustration. Some of it was figuring a way to communicate this information (and for the record, I don't think we're communicating the melee line of sight restriction at all currently), but a lot of it was just...the restriction wasn't fun. Players like having options, and many of the restrictions reduced what options you had on a turn-to-turn basis.

Part 2 Coming Soon

This post I talked about the original vision and what we've managed to keep from it and what we've missed, as well as the combat loop from a single-turn perspective. Part 2 next week I'll talk a bit more about the full combat loop, as well as the longer multi-combat loop.
#IndieDev #EonAltar #GameDesign

Friday, May 13, 2016

[FFRK] Cagnazzo U+ and a Relic Reckoning

I'm still playing FFRK, over a year after I started, which makes this the longest I've ever played a mobile game pretty well ever. The next closest would've been Puzzles and Dragons at 270 days.

Clearly the game is still entertaining me. The developers have softened the need for the ye old S/L trick by having the AI unlock attacks in the harder fights as the fight goes on, instead of letting them blast you with their full unmitigated power. Mostly. The latest super difficult fight--Cagnazzo U+--would crush one of my mages for twice their health if I didn't have mitigation up yet.

On the bright side, the Ultimate+ fights only cost a single stamina, so I feel totally free to experiment and change up my strategy. This has made the game more fun for me because now I don't feel obligated to go look up the datamined AI to save myself 60 stamina (3 hours worth). On the other hand, I'm good enough with good enough Relics that even the plain Ultimate fights I don't need to look up the AI anymore.

Cagnazzo Ultimate+ is the same Elemental Fiend from FFIV. The annoying thing with that is despite FFIV's large cast, their ability usage is a little limited. No spellblades, D.Cecil has a tiny moveset, and the entire group is super magic heavy.

In hindsight, a mage party probably would've been a decent option, given Cagnazzo's propensity for countering physical attacks with Stop. Thankfully, my bullheadedness didn't do me in. It just meant Agrias spent 60% of the fight Stopped. Cagnazzo's MND is pretty high.

My FFIV synergy is pretty weak overall. Lots of 3*++ items, but only a couple natural 5* meant synergy wasn't going to help me as much as it does on other fights. Similarly, only taking a single FFIV character also probably didn't help there either. Still, my Relics and my decent armor saved the day.

Name Level Ability 1 Ability 2 Record Materia Soul Breaks
Squall Lv 80 Thundaga S. (8) Blizzaga S. (8) Rebel's Might Fated Circle
Ramza Lv 80 Magic BD (8) Full Break (6) Mog's Teachings Shout
Agrias Lv 80 Thundara S. (10) Saint's Cross (6) Ace Striker Cleansing Strike
Rydia Lv 66 Thundaja (8) Blizzaja (8) Vow of Vengeance Radiant Breath
Garnet Lv 80 Ramuh (5) Dispel (8) Mako Might Divine Guardian
RW: Sentinel's Grimoire

Not looking at the AI meant that I totally missed out on taking Poison, which would've helped a lot. Honestly, I'd consider it over Blizzaga Strike on Squall given the sheer number of times Blizzaga Strike did 0 damage because Cagnazzo decided to activate his water wall.

I got low on Thunder-based hones by the end of the fight. Also missing out on Runic for easy-mode kinda sucks, as it would've neutered his Stop and a lot of his Water spells. Grand Cross would've been even better given his propensity for buffing, too.

You'll notice I didn't take any healing aside from Divine Guardian's Heavy Regen, which was the correct move. Made it a little bit touch and go a couple times, but as long as I kept my mitigation up, it was okay. But Garnet was around largely for her Soul Break, and providing Thunder damage and Dispel. Originally I had her healing, and Agrias used Banishing Strike for Dispel, but I needed a 4th Thunder user just in case things went south and someone was busy at an inopportune time.

So Garnet basically sat on standby, using Ramuh or Dispel immediately when needed, which was quite helpful. The rest was pretty straight forward. I realized after the fact that I was missing Shellga (Garnet's only gives +50% RES, not +100%), but thanks to Agrias' Cleansing Strike, it wasn't a huge deal after the first few rounds while it charged up. All in all, aside from his extreme defenses and rnadom mode switch rendering my Blizzard attacks useless half the time, he wasn't too shabby.

Relic Reckoning

Up until a couple months ago, my Character Relics were pretty pitiful. I had a couple of Medicas, and Planet Protector. Every other character relic I had was crappy one-hit damage ones. Then we had some SSB festivals plus the Final Fantasy Tactics banner and now I'm awash in awesome relics:

Name Realm Soul Break Effect
Luneth FF III Advance +150% ATK, -50% DEF
P.Cecil FF IV Radiant Wings 3 Hits, Holy Physical Damage
Rydia FF IV Radiant Breath 2 Hits, AoE, Holy Magical Damage; Blur 2
Galuf FF V Unyielding Fist Stupid Galuf Solo tricks
Yuffie FF VII Clear Tranquil AoE, 40% Heal, Instant Cast
Aerith FF VII Planet Protector AoE, +50% ATK
Squall FF VIII Fated Circle 3 Hits, 1 AoE Hit, Physical Damage
Rinoa FF VIII Wishing Star+ 5 Hits, Magical Non-Elemental Damage
Quistis FF VIII Mighty Guard (VIII)+ AoE, Hastega, Shellga, Heavy Regen
Edea FF VIII Inaugural Parade AoE, Hastega, +20% MAG
Zidane FF IX Scoop Art 3 Hits, Physical Damage
Garnet FF IX Divine Guardian+ AoE, Hastega, +50 RES, Heavy Regen
Steiner FF IX Sword Art Stock Break AoE, 3 Hits, Physical Damage, Paralyze
Quina FF IX Mighty Guard (IX) AoE, Shellga, Protectga
Rikku FF X Machina Sabotage 4 Hits, Physical Damage, -50% ATK, +50% ATK self
Auron FF X Dragon Fang AoE, 1 Hit, Physical Damage, -30% ATK
Fran FF XII Shatterheart AoE, 1 Hit, Ranged Physical Damage, -50% ATK/MAG
Penelo FF XII War Dance AoE, Medica, +50% ATK
Lightning FF XIII Crushing Blow+ AoE, 5 Hits, Lightning Physical Damage
Vanille FF XIII Oerba's Boon AoE, Medica, Protectga
Hope FF XIII Brutal Sanction AoE, 3 Hits, Non-Elemental Magical Damage, Stop
Y'shtola FF XIV Medica II AoE, Medica, Esuna
Thancred FF XIV Death Blossom AoE, 1 Hit, Physical Damage, Slow
Agrias FFT Cleansing Strike 3 Hits, Physical Damage, -50% ATK/MAG
Ramza FFT Shout+ AoE, Hastega, +50% ATK

As I mentioned, this isn't all of them. Anything that's a plain old AoE or single target with few or no effects are basically not listed. I've been doing the 100 gem pulls, which have gotten me a fair few of those. Only 8 of the above came before I pulled Quistis' Red Scorpion 2 months ago.

To be fair, I had saved up a lot of Mythril for the FFT banner and the SSB fest, so that helped. I also ended up spend $30 for an extra 11-pull on the FFT banner (which turned out to be worth it in hindsight given it got me both Ramza and Angrias' Relics). But I've gone from pauper to prince as far as options go. The game is much, much easier now that I have these relics, for better or for worse.

But it's nice because I can be more creative about what RWs I bring with me, which is more fun for me. But without these soul breaks, I'm not sure I'd be able to down fights like Cagnazzo U+ at all, let alone as relatively easily as I did. I've definitely had some good Relic pull luck, though.

More Fun To Come

The devs keep adding new content, new characters, new systems, so I'll keep on playing. Still having a lot of fun with the game, and I don't see that stopping anytime soon.

Tuesday, May 10, 2016

[GameDev/WoW] Player Feedback: Forums versus Metrics

Recently, Watcher AKA Ion Hazzikostas--a designer on World of Warcraft--crafted an illuminating forum post about the pitfalls of manual player feedback from an extremely diverse player base.

An excerpt:
Almost every facet of WoW is an activity that caters to a minority of the playerbase ... [WoW] is not a narrow game, but rather one that can be enjoyed in numerous different ways, by people with hugely diverse playstyles ... We are [listening] - just to many, many different voices. And it may be that a given change, feature, or reward is simply aimed at a different portion of the playerbase. Or we could be wrong and we haven't realized it yet.
World of Warcraft is a huge game. Some folks focus entirely on PvP; others, raiding; still others, pet battling. Collecting mounts, transmog, small group content, questing and leveling, and more. Many of these activities can cause friction when game design conflicts arise between them. It also means that there are a lot of voices clamoring to be heard, and many of those voices conflict with each other, not to mention the oft-alluded silent majority.

An excellent discussion on Twitter suggested metrics or polling being a better barometer of player activity and thoughts, and in some ways it is. In others, nothing beats having someone tell you what they're thinking.


Let's talk about metrics for a moment. Metrics, or analytics, are an impartial way to gather data about your program's usage in the wild--in this case, the program is a game. It's impartial because the programmers put in the metrics to report into the code so there's no self-reporting biasing going on that forum posts suffer from.

Many commercial programs collect metrics, video games especially. Analytics and metrics are a huge business, with many 3rd party platforms that game devs can buy into and integrate into their game. The basics that most games are probably gathering are:
  • DAU/MAU (Daily Active Users, Monthly Active Users)
  • Sessions
  • Retention (%age of users who open your game at least once in 1, 3, 7, 30 days)
  • Conversion (%age of users who make in-app purchases)
  • Churn (player loss over time)
  • Source, Sink, Flow (in-game currency tracking, ie: how much gold are you making, spending?)
  • Start, Fail, Complete (tracking task starts/success/failures)
MAU is something folks who're reading the recent Activision-Blizzard financial report will be familiar with: how many unique users a month logged in/played your game. For a game like WoW, with Battle.NET accounts, it's as simple as querying their database for the number of players who've logged on the game in the past month. For others, it becomes a little more of a guessing game based on identifiers like IP Addresses or a device ID run through an anonymizing hash algorithm. Clearly the latter is not perfect: it's possible to have collisions, IPs get reassigned, device IDs may change if enough of the hardware changes on a PC, and so on. But it provides a more than statistically significant guess.

Retention, Conversion, and Churn are all clearly important for monetizing your game. Are lots of players purchasing things from the store? Are your players sticking around and logging in a lot? Are you losing players over time, and how long on average do they stick around? What a lot of those questions miss, however, is the why. They can indicate you have a problem or a success, but not why. That generally requires some further custom metrics--or perhaps some enterprising users making a blog or forum post.

Source, Sink, Flow is good for tracking your in-game economy. If Flow is positive, your economy--single player or multiplayer--is inflating. Flow is negative, your economy is contracting. Depending on the game and the currency (and if you can pay real money for said currency), whether you want a stable flow, or a positive or negative one will vary. A good game designer will already have a model economy (probably in a giant Excel spreadsheet), and this data can confirm that in the wild the economy is working as intended.

Finally, Start, Fail, Complete is good for tracking bottlenecks in your game-play. Is there a specific level that people are constantly failing at? Are folks performing specific tasks but not completing them? These are the sorts of metrics that tell you what your players are doing in-game, and how well they're doing it. This can be a warning that certain features are under-utilized, or too difficult (or more accurately, if the feature difficulty curve is where you want it to be). Again, though, this doesn't tell you why they failed.

A one-week snapshot of the average maximum wave reached in our Combat Arena
Of course, each game can have their own custom metrics. For example, Eon Altar we track our Combat Arena usage, and have stats on the average wave players make it to before wiping. If that number was too high, we'd likely have to tune the difficulty up. If the number was too low, balancing it down would be the way to go.

I don't know who got that far, and I don't know who failed early or why. The data is anonymized before it gets to me so I couldn't find out if I wanted to. I do know how many players they started with, but right now I don't know what classes they took--something I'd like to get eventually to help understand how our balance is, though I have a really good guess at how it'll shake out after watching many players at PAX Prime, PAX East, and Casual Connect.

Metrics can give you a broad snapshot or even trends over time of how features, levels, and players are doing. They can be an early alert system of a sorts to problems in your game, but a lot of the time you can only guess as to why the problem exists even if you know you have one. 

Direct Player Feedback

This is where other forms of feedback come into play: in-house playtesting, trawling Twitter and external forums for people's opinions, your own forums, watching Twitch or Let's Plays on YouTube, or direct conversations with your players.

Metrics can't tell you if players are having fun, or if they're just doing something because it's the most efficient route, whereas reading people's comments will definitely tell you how the vocal minority feels.

Sometimes it's ridiculously overwhelming: take the Real ID fiasco a few years ago where Blizzard was going to make your real full name mandatory on your Battle.NET account. I can't think of a time when feedback was so unanimously strong in gaming outside of maybe the Mass Effect 3 ending, and even then that wasn't as loud in my opinion.

Other times, it's heated on both sides, but there's no clear single answer. Flying mounts in World of Warcraft comes to mind here. Pro, anti, and even apathetic arguments were made vociferously--the apathetic crowd mostly just wanting everyone else to stop arguing already.

Players can be wrong, too. As Ion said in his post, players have a small snapshot of the world around them. An example of this in World of Warcraft were Frost Mages in PvP in Mists of Pandaria. Many people complained that they were extremely overpowered and wanted them nerfed, but Blizzard's metrics showed that while they were a little OP in lower brackets, they were actually struggling in the higher brackets. Nerfing Frost Mages outright would've removed them from higher level PvP play entirely--clearly the wrong move once you saw the metrics. A different approach was needed there.

Sometimes, players giving feedback are, well, I won't say lying per se, but their actions belie their posted words. A common example here is the CoD: Modern Warfare 2 backlash where folks were talking about boycotting in favour of dedicated servers, but that lasted all of a hot minute. And trust me, developers will notice: the metrics aren't biased. If sales actually plummet, or DAU metrics plummet, marketing will see it.
Direct player feedback is still incredibly important though, because you can get all sorts of context that's missing from soulless data. Maybe that boss' telegraph is really hard to see. Maybe something is really fun, but out of sight, out of mind so nobody noticed it. Maybe a feature that has a high engagement eats a lot of player energy, but isn't actually that much fun for a large part of the populace. Fun is a pretty nebulous concept, and data can't really tell you that.

Data is also impersonal. There is something to be said about the glow of seeing someone gush about your game in a forum post. The flip side, of course, is the terror of being on the receiving end of an internet lynch mob. For some, the threat of the flip side is too much, and so they'll only ever look at the data. For others, the personal experiences drives their satisfaction and design choices. It really depends on the developer.

Balancing the Two

I disagree with Wolfyseyes a little in that metrics or polling isn't necessarily a better gauge of temperature than forums. I see metrics like looking outside your window in the morning. You can tell if it's cold or hot, raining or cloudy, and maybe windy, but you can't tell the precise temperature or wind speed. You can't tell that the rain incoming is only going to get worse because it's the remnants of a tropical storm coming from Hawaii.

With player context you get a more complete picture, even if that picture is fractured between many different viewpoints. You may have to look at feedback from a specific angle or use a different lens. Sometimes that player isn't who you're building for--I wouldn't change Eon Altar to be more like a MOBA with real-time skill shots even if a bunch of people asked for it; that's just not our vision for our game. That's okay! For a game like WoW, that's a little bit of a harder sell because they have so many varied customers, so they have to have more lenses which to interpret direct feedback.

As metrics improve, and analytics technology gets better at sifting through big data, we'll be able to answer more of the "why" without that direct player feedback. But I don't ever see direct player feedback going away. It'll be very important for many years to come.
#WoW, #GameDevelopment

Wednesday, May 4, 2016

That New Minecraft Server Smell

I love new Minecraft worlds. That feeling of limitless possibility: new machines to build, new landscapes to explore, new ideas to try. So for 1.9 I've reset my Minecraft server.

My first goal for it was to try something a little new with respect to landscapes, so this time I've made it generate using the AMPLIFIED terrain type. What this does is basically turn everything into extreme biomes, with extremely exaggerated vertical features. The result is lots of super high mountains all the way to build height, very deep valleys, floating islands, massive overhangs, and all in all it looks absolutely gorgeous.

World Spawn
The above image is just the area where World Spawn is, and already you can see a number of floating islands in the distance, and crazy mountainous terrain. I cannot wait to start exploring some deserts, mesas, and ice spikes biomes to see what happens there. There's a swamp to my right in that picture, and swamps became superflat, so that'll make for some awesome slime hunting at night. There's also a witch hut in a stone throw's distance, so I may finally get to make a witch farm, too.

The house there is my communal spawn hut. I'm hoping as folks join the server they'll make shops and services in the (relatively) flat plains area. For now I've created a mineshaft, a basic house, a cow farm, a tree farm, sugarcane, and a carrots+wheat farm. All manual of course. Took me about 4 hours, so not so bad.

Inside is very basic still.
But given just how up and down the terrain is, and all of the overhangs, exploration in an amplified world is a fair bit more dangerous than a normal world. Mobs spawn during the day under floating islands and overhangs and sudden drops will kill you quick, plus exploration in general is slower because there's so much more climbing.

I've already died twice: once from a creeper dropping in from above me and exploding, and another time falling to my death. Still getting used to the 1.9 combat mechanics.

Anyhow, for my Twitter/Facebook/Blogging/Battle.NET friends, if you're interested in playing, drop me a line and I'll be happy to have you on. I'm going to keep my invites to folks I interact with semi-regularly to keep the possibility of griefing low. Note that it is a Vanilla server, no server mods, but frankly I'm okay with that. Anyhow, server is new and pristine, and playing with friends is fun!