Project: Gorgon Blog

  • Tags
    Tags Displays a list of tags that have been used in the blog.

Posted by on in Uncategorized

We’re still working full steam ahead on the next update! The last dev blog gave you some hints of what’s coming, so this time I’m going to answer some questions you asked over the past few weeks. I can also give you the latest timeline I have... which is, unfortunately, extremely tentative. But that's alpha for you!


Battle Chemistry

Battle Chemistry was due for a major revamp, and... well, a major revamp isn't actually happening any time soon, if ever. My experiments didn't pan out satisfactorily.

See, the big "problem" with Battle Chemistry is that it's too broad in scope, and thus too powerful. Huge burst AoEs, potent buffs, and powerful restoration? There's way too much good stuff there. But in my experiments, splitting off some of its parts hasn't resulted in a fun skill.

After the second unsatisfactory experiment, I got to thinking: maybe this will all work itself out. The thing I keep forgetting is that Battle Chemistry is an advanced skill. As the testing NPC explains, you'll need level 50 Alchemy just to learn it! It's not a newbie-available skill.

With that in mind, I'll need to compare it to other high-level skills. (For example, most weapon skills will have several specializations at high level that offer more breadth, perhaps equivalent to the broad scope of Battle Chemistry.) When compared to other high level options, it might not be so overpowered, and it might not need any major changes. So rather than hack at it now and then potentially have to revamp it again in the future, I'm going to wait and see.

So, bottom line: no dramatic skill changes planned for Battle Chemistry. I've begun adding missing treasure effects, buffed some subpar mutations, and added other missing functionality to the skill, including a new Basic Attack. Players will be able to raise it to 70 in the next update.

However! I'm also going to take the training NPC out of Serbule. He'll move to Rahu and will require level 50 Alchemy, as he has always said he would. This will help to better reinforce that this is not a skill for newbies!

If you have Battle Chemistry already, but you don't have Alchemy at 50 yet, you will still be able to use Battle Chemistry, but you won't be able to raise it to 60+ until you do. So... best get on that, I guess!


Raising Other Skills Past 50

In addition to the combat skills, some non-combat skills can be raised past 50 in the next update. Others will come in time. I've already bit off way more than could easily fit into a single two-week snapshot - which is why this is now a four-week ‘snapshot’ - so I don't want to wait until every single skill is ready. But the ones with side-bar abilities, like First Aid and Mycology, are already ready to go in the next update. Some of the crafting-oriented skills will be raisable, too.


Test Server

A while back, we had a separate ‘test’ server where we could test out the more extensive code changes before introducing them to the real server. (Project: Gorgon may be in alpha still, but we try very hard not to put your characters in danger of getting seriously screwed up!)

But the test server requires a lot of logistics work, so we haven’t been using it for updates that don’t require it. There's a lot of stuff in this next update, but it’s not really anything TOO crazy in terms of new code features, so I don't think the test server would be worth it for the next update.

However, when we get the new GUI ready to go, tentatively in late February, we will put that up on the test server... so you can help us find any major bugs in the new GUI before we inflict it on the general populace of testers.


Where Are The Fairies?

As I mentioned in the December 22 note, I've postponed fairies and the fae realm until after Gazluk. The art assets weren't ready yet, and I still have some logistics of flying to work out. I'm not sure when fairies will be back on the radar, but it won't be too terribly far off. A few months.

(Oh, and just for reference: ‘Fairy’ refers to a specific race of people, the ones who will (eventually) be playable. ‘Fae’ refers to anything from the fae realm, including fairies.)


Steam Timeline

I'm still tentatively aiming for a Steam early access launch in late February/early March. But the new GUI is getting closer to being ready, and I'm starting to think it'd be really wise for that to be done BEFORE it appeared on Steam. It will probably take a while to iron out the kinks in the new GUI, and it seems silly to foist a buggy GUI on a new customer base...

Anyway, without getting into too many details, there are lots of logistics involved... so I'm not really sure when exactly it'll be on Steam. But instead of it being a far off "soon-ish", it's a much closer "soon".


Other Stuff

I also wanted to respond to some questions that I didn't get a chance to answer on the old forums before they closed.

Making animal curse-forms permanent if you stay in the form for a long time: This was actually close to my original idea. But after getting feedback from animal players, I've abandoned that plan. I like having some permanent "hard choices" in the game, but I don't think most of the animal forms would benefit from that. There will be various small pressures to stay in animal form -- like being able to make better milk the longer you stay in cow form -- but nothing that forces you to stay in those forms forever. (Except, of course, that lycanthropy is never curable.)

More animal-handling animals to tame: There will definitely be more tamable creatures! But they're on hold until I'm happy with more of the basics. I think the three animal families (cats, rats, bears) are enough for alpha. They give you the idea of how it will work for future animal families.

Grouped troops: I mentioned in a recent blog post that having monsters wander around is expensive, in terms of server CPU. Someone asked if having monsters walk in a group would be more efficient, and it would... if they were coded that way. Right now, monsters don't have enough AI features to be able to follow another monster. But that's something I'd like to have eventually, so I can have wandering packs of monsters. (I fake it sometimes already, by having several monsters that happen to wander to the same spot, but it's not efficient.)

Other new skills: There will be many more crafting and interaction skills in future updates!  And yes, brewing is one of them. Of COURSE there will be a brewing skill. So you can stop sending in that suggestion!


So When’s the Update?

The next update is tentatively planned for Wednesday, but you know how this stuff goes: these are my optimistic timelines, and delays happen a lot. I'm working REALLY hard to get it all set, but it could take a few more days. But I really, REALLY expect it'll be up by this weekend at the latest...

... Because I am so tired! Seriously, I need a week off after this huge update. We worked through the holidays on this one, so I'm gonna take a short "winter break" after this launches. It's been pretty much nonstop work for a month as I level up all these skills, monsters, and so on. The basic Gazluk area is finally almost ready... I just gotta finish up about a million loose ends, and then I can rest... rest…

 Edit: actually, I think I'm going to go ahead and set the date for late Friday. I want the extra time to polish things up.


Posted by on in Uncategorized

I've decided that it's time for Gazluk to be launched! So we've been pushing hard to get all the details ironed out. It will take another week and a half, I think, and then version 1 of Gazluk will be ready for testing.

Gazluk Plateau: Home of the Orcs

Let me give you some background info on the area so that we can talk about the details. This contains a few small spoilers, but nothing you wouldn't be able to figure out pretty quickly.

The Gazluk Plateau is a very cold and isolated place. Although it's well within the boundaries of The Council Lands, the orcs of Gazluk have claimed it as their own kingdom, and the mages of the Council are much too busy to care about it right now. The orcs are taking this opportunity to amass a mighty army and try to expand their territory, but infighting and sabotage seem to be keeping them from gaining any ground. But within Gazluk, they are the undisputed rulers. The main orcish city there, unsurprisingly named Gazluk City, was built around an old keep. After the Sand War, the orcs retreated here and refortified it with state-of-the-art defenses. It's not a place that welcomes visitors. (It's said that the city proper is but a tiny portion of Gazluk City, while the rest is underground, but that might just be a rumor.) Not all orcs are on the same side, however, and various warring factions and splinter groups have outposts throughout the area. The tiny number of non-orcs live in caves or hidden enclaves, out of the way of the orcs.

So that's Gazluk in a nutshell. The playable orc race will eventually start here, and a small portion of the land area is reserved for newbie monsters (it'll just be empty space for now). Aside from the newbie areas, the rest of Gazluk is for levels 60-70, with a few monsters and encounters placed a bit higher.

Because of our iterative snapshot development model, the first release of Gazluk won't have a ton of content. But it will have more content than other new areas have had, because I've learned that it's very helpful to have some dungeons and basic landscape fixtures installed early on. That way, when I have a few hours and want to add some more quests at the end of a work day, I have a solid foundation to work from. Building on a solid foundation is much easier than trying to install that foundation later: we released the first version of Rahu a year ago, and the massive sewer system underneath that city hasn't materialized yet, because it'll take a concerted push to get it set up. Adding to it and embellishing it are easy once it's there, though.

So for Gazluk, I've pre-loaded it with some caves to explore. ("Some caves" might be a bit of an understatement... I got a bit carried away.) There's also a group-dungeon to explore, which I think will be ready in time -- if not, it'll come in the update after this one. There are also... well, without spoilers, let's just say there are other things to discover. Not a ton at first, but hopefully enough to make it worth the effort to explore.

I realize that there are lots of areas of the game right now where more content is needed. The Rahu sewer is one such area -- it can be hard to level up to 60 right now. So why did I jump to Gazluk? Because it's an important test. I'll need to raise the level cap 4 more times before the game launches in a year... that's very ambitious! Gazluk will give me a lot of insight into where the bottlenecks are, what works, and what sucks.

But we intend to retrofit older areas soon, too -- a large newbie cave dungeon is still in the works, as is that Rahu sewer.


Level 70 Cap

As if that wasn't enough work to do, I also need to raise the level cap to 70! This involves a whole lot of data entry, but it's coming along. Not all skills may be ready to go to 70 in the next update, but most of them will be.

I had originally talked about having you seek out a different NPC trainer every ten levels, so for level 60 you seek out an NPC in Rahu, at 70 you'd go to another new city, at 80 another, and so on. I started making the NPCs for level 70 and realized this was too much. It's just... well, it's too grindy, for one thing, and the NPCs just don't feel that important. I like the NPCs in the game to be relevant for a longer time period. So I'm reusing the level 60 NPCs for level 70. They'll sell the skill-cap-unlocks for both 60 and 70, and sell abilities up to about 72-ish. I've done a few NPCs using this setup, and I like it much better.

The level 80 and level 90 skill-caps will be in a different city, Statehelm, the "jewel of the Council". And I'm thinking I might stick a special skill-specific quest in around that point too. (Either for level 90 or level 100, one or the other.) These quests won't necessarily be epic in scope, but will be a bit more involved than a favor-quest, too. But I guess I'm getting way ahead of myself: right now, we're focusing on level 70!

In addition to new levels of abilities, the treasure system is also being upgraded to be able to drop level 65 and 70 loot. This part is a TON of data-entry work, so I'm not sure how complete it will be in the next update, but I'll do what I can. I also plan to add new treasure mods that only drop at high level, but I won't have time to do that right now: just extending the existing mods up to 70 takes a lot of time. But it will happen.

The tricky part here is that I don't quite know how powerful these new mods should be. If I kept scaling the mods linearly, they would balance fine, but that's too boring for my taste. I mean, if a level 60 weapon is "almost as good" as a level 70 weapon, then keeping up with gear isn't really that important, or that exciting. So I've raised the numbers a good bit higher for the 61-80 level range. Probably too much, in fact. It'll take some iterations to find the right spot, so expect some ups and downs over the next few months. But the goal will remain the same: loot needs to be fun, exciting, and interesting. A tall order, but we're on the right track.


New Forum!

We're just about ready to switch over to a new forum software. You can create an account there now at forum.projectgorgon.com . We'll do the discussion thread for this news-post on the old forum, but future ones will be over there. (The old forums will become read-only soon.)

Thanks to everyone that backed our Indiegogo campaign! We've got a lot of fun stuff coming, so stick around.

Posted by on in Uncategorized

It's gift-giving time in Alharth! If you've reached at least Friends favor-level with NPCs, they'll have a present for you. No rush if your holiday is busy, though: they'll be giving gifts through at least the first week of January. We'll also have some other small celebrations starting in a couple of days.


Holidays in a Fantasy World

You know, presenting holiday events in this MMO is a bit tricky. The reason has to do with the game's atmosphere. WoW has things a bit easier: in WoW, nobody bats an eye at mecha-santa-claus killing robo-Rudolph because the game has always been full of fourth-wall-breaking stuff, mostly in the form of cultural reference jokes. That's not really the vibe Project: Gorgon goes for. It’s a fine vibe -- it’s just not our vibe.

This is probably a surprise to many people, but there are very few outside references in Project: Gorgon. (Most of the ones people think are references are just accidental. For instance, I've heard people say that exploding sheep are a reference to Worms... nope, I never played it. Just a coincidence.) Don't get me wrong, Alharth is a silly place, but I try hard to give it its own internal logic.

Every player is different, and for some, outside references are much less distracting than really weird NPCs or unlikely item names. But since it's a game I want to personally enjoy, I use myself as the yardstick here. I find cultural references to be really jarring to my immersion, so I don't make them very often. As a gamer, I can handle bad graphics, unlikely NPCs, improbable classes, and complicated GUIs... but I don't like having the fourth wall broken unless it's for a good reason. Making a joke in a quest title isn't a good enough reason for me.

But pop culture references are one thing, and holiday events are another! I don't want to close the door on holiday events. I mean, do I want to let players have candy cane sword fights and kill giant snowmen? Of course I do, at least for a few weeks each year. (Eventually... not this year!) And would that stuff have solid grounding in the game lore? Not really. There's a few in-world holidays that are similar, but none involving Christmas trees, for instance...

So I expect that holidays will be the exceptions to the "no outside references" rule of thumb. I still want to try to minimize the immersion-breaking elements: the NPCs are giving gifts because it's their custom at end of the year, not because of Christmas. But I'm also going to turn on a couple of Christmas trees in a few days -- since it'll only be a short while, and small in scope, it's no big deal. The NPCs probably won't even notice.


Upcoming Content

We've been pushing on lots of different pieces of content recently, slowly bringing them closer to being launched. But because of our slow art acquisition process, it's hard to predict exactly when things will be ready. Up until recently I expected the fairy race and the fae realm to be the next big content addition, but now it looks like that honor goes to the Gazluk Plateau. In addition to being a level 70 area for all races, Gazluk will also be the starting zone for player-character orcs. But we'll be rolling out the playable orc race separately from Gazluk itself, because Gazluk is a very large place and it will need its own time in the spotlight gathering feedback.

Gazluk is a big, big place. It's the largest map we've done so far, a bit more than twice as big as Serbule. It's hard to convey the size of the place, but here's a screenshot of a small area in front of the orcish city, taken from within the Unity editor.




If you click to enlarge, there's three cows in this screenshot for scale, but the third one is only like three pixels in size. You can kind of see the huge walls of the orcish city near the center of the picture, and the third cow is in the snow a bit below that. It's a desolate, cold place, but there are also lots of secrets to find, orc camps to raid, and monster lairs to delve in.

This map is important because it will push our technical abilities forward. This place is so large that even if a hundred players were in Gazluk, they could all be out of sight of each other. In other maps, monsters spawn and go about their lives without any concern about how many players are in the area. In Eltibule alone, there's about 400 monsters wandering around at any given moment. Gazluk will need several times more monsters. The number of monsters isn't actually the major cause of strain on the server, though. The big strain comes when a thousand monsters all want to wander around at once! Navigating that many creatures in that big of a space causes our physics sub-servers to get overloaded. (This is a problem we sometimes see in other areas, too, like Kur Mountains, where monsters will just pause for a while, unable to path.) We need to get smarter with which monsters are allowed agency. Monsters that are literally miles away from any player don't need to move around: nobody cares! So we'll be adding basic optimizations in that vein, and back-porting them to other areas when they seem stable.

We also have new skills (most prominently, the bard), new dungeons (large and small), revisions of the loot mods for animal forms, Battle Chemistry changes, and more NPCs in the works. So I expect the next few months will see a lot of new content! Buggy, imbalanced, content, mind you -- but with your help and feedback, we'll iron out the kinks and make each of these things a fun addition to the game.

A major rewrite of the GUI is also in the works. We've recently locked down most of the theming and style elements, and things are progressing pretty well. I estimate another 2-3 months of work before it can go live. Rewriting the GUI is a pretty stressful proposition, and despite a whole lot of in-house testing, I'm sure we'll end up with a HUGE number of bugs at first, but we'll come out the other side with a great modern user interface with a decent number of customizations and frills.

I'll talk to you again soon, hopefully with some more screenshots!

Posted by on in Uncategorized

I missed the dev blog last week, but the patch notes give a pretty good idea of what we were working on! Well, actually, the patch notes don't really go into much detail about the server-side improvements.

While it's definitely not the right time to do major optimization work (not during alpha!), the server's performance had gotten pretty bad. During the Kickstarter, way back when, we had over 200 players online and the server was completely fine -- without any optimizations it could easily have handled 500-ish, and with optimizations we expect to handle 1000 concurrent users. (Of course, when there's 80+ people standing in town, client framerate gets pretty bad, but that's client-side performance, not server-side. Client-side means it's just affecting you; server-side means it's affecting everybody, so it's a higher priority.)

But that was more than a year ago, and server performance has slowly declined as new features were added. Little performance bugs had accumulated to the point that even clicking on an NPC often didn't work for 5+ seconds. So I fixed a lot of those bugs in the previous update, and some more will be fixed in the next update. That should return us to the old server performance levels -- probably better, actually. I also fixed some monster pathing problems in Kur Mountains (which is the area with the most complicated pathing at the moment), and we'll monitor the area to see how it's doing now.


On to the new dev blog! This week I've been working on the Gazluk Plateau, a new higher-level content area. But before I get too far into that, I need to step go back to Kur Mountains and redo how the cold environment works, because Gazluk is just as cold as Kur, if not colder. The cold system needs to work better before I add it to more areas.

Currently in the game, when you're in Kur Mountains, you take damage every second that you're outdoors. If you're below a certain health threshold for too long, you have a chance to catch frostbite or hypothermia. The point of this system is to make Kur a dangerous frozen hellscape that you have to work to overcome. You do that by getting gear and items and abilities that boost your Indirect Cold Mitigation. This reduces, point-for-point, the amount of damage that you take per second. While your indirect cold mitigation is low, you have to struggle to survive in Kur, moving from safe spot to safe spot (the fire places), figuring out how to survive. But, ideally, you eventually become powerful enough that it's only a minor inconvenience.

This cold-weather system worked much better when I first made Kur! But since then, most of the numbers in the game have changed. The biggest culprit is that food is now super regenerative -- it has been for a while, and just recently it was made even MORE regenerative, to the point that even newbie food can easily outpace the damage from Kur's weather. As a stop-gap a while back, I made Kur's ambient damage apply even during combat (because that's the only time that food doesn't mega-heal you, so that's the only time you might succumb to cold), and I raised the ratios of when you get frostbite, etc., so that there's some reason to keep track of the safe spots that can warm you up. But it's not a very good game mechanic anymore. Now you can ONLY die from cold during combat, which is exactly the time when you need to be paying attention to other things. Namely, combat.

I can't fix the current system -- changing the damage numbers doesn't work... unless I wanted to nerf food, which I don't. If it were less important, I'd toss the whole idea of cold-weather out, but environmental hazards are really important! They just need to work better. Why are they important? Because this is a game where you explore and overcome obstacles, and the environment needs to provide some of those big obstacles. But environmental obstacles need to be intuitive, predictable, and manageable with proper preparation.

So I've thrown out the old system entirely. Here's the new system: when you're in Kur, an additional bar will be shown along the top of the screen labeled "Body Heat". While you've got some body heat left in the meter, you're fine. No ill effects from the cold at all. Your body heat drops over time, and when it reaches zero, you get frostbite. And if you stay at zero for too long, you get hypothermia, which is almost certainly fatal unless you get indoors fast.

Your Indirect Cold Mitigation will still play a key role -- it'll affect how quickly you lose body heat. Cold-weather gear like fur parkas will boost your indirect cold mitigation, and they may also boost your maximum body-heat, so you can travel for longer. And some items and abilities will have a chance to boost your body heat, too. Breathing fire seems like it should have a chance of giving you back a point or two... and Ice Magic would likely have some tools to survive in the cold...

I hope that this system will be more intuitive than the old system, because "don't let your bar get empty or you die" is easier to understand than "you take lots of cold damage all the time, but when you're out of combat your food recovers the energy, so it's only when you're in combat that it's dangerous, and if you go below 50% health during combat you might get hypothermia". There's still a random element: the rate of heat loss is not constant, it happens randomly based on your cold mitigation. In colder areas it drops faster than others. (For instance, being submerged in Kur's ocean is much colder than being on land.) But I think the extra GUI bar makes it all a lot more understandable.

I'm still refining it and trying new things, but I wanted to give you an idea of where it's headed. To reiterate, though, my goal is NOT for Kur to be a huge pain in the ass all the time. The goal is for Kur to be a predictably dangerous environment that you have to take precautions for. At low level it's very dangerous, but at high level you only need moderate precautions.

And by the way, I've also added a little bar for the "Hydration" system used in deserts. For a long time I was trying to avoid adding new GUI elements to the current user interface, since it'll all have to be rewritten in the new interface. But adding another bar really doesn't take a lot of time... so that was kind of pointless. (Ilmari's environmental effects don't work very well at the moment, either, but that's a topic for another blog post!)


The other thing on my radar this week has been the revision of Battle Chemistry. I'm still pretty early in that, but the basic plan is to remove the golem and enhance the explodey bits, the mutagens, and the healing powers. I have some ideas for new abilities that will make the skill pretty interesting... well, I don't know how well these ideas will work yet, but I'll find out, and will have more to say about it next week. The current battle-chemistry golem will be moving off to a new skill, tentatively named Engineering.

Posted by on in Uncategorized

This week's blog post ended up being a general-purpose article about MMO design. I'm working on revising the Shield skill's mods today, and I figured it might be interesting to talk about how a game designer does something like this.


Making The Model

Balancing an MMO isn't a science. It can't be. This is surprising to many gamers because they think that it should be possible to perfectly balance a game. It's just a simulation, right? Just figure it out! With math! But an MMO is much too complex for that.

Here’s an example I liked to use from Asheron's Call 2. (I've probably got the details wrong -- it's been a decade -- but you'll get the idea.) An archer could stand on the bank of a river and shoot a monster on the other side of a river. That was a good strategy because monsters moved a bit slower when they had to cross water -- they had to transition animations from standing to swimming, then back, which slowed them down by a second or two. As the monster got out of the water to attack, the archer could run backwards, still shooting, forcing the monster to chase it, all the while using obstacles like trees and bushes to confound the monster. But there was a catch: arrows in AC2 had physics, so if you didn't have a clean shot, your arrow would miss and hit a tree. Being an archer required a little bit of real skill, and situational awareness, and a tiny bit of planning.

So... how do you represent that situation with formulas? Well, you start with some observations to make a simpler model, something that approximates the bigger factors, and then you iterate. In other words, you make something up. MMOs are complex 3D spaces with obstacles and surprises. But even if it were a 2D game you would have similar problems. In fact, unless the game is turn-based (and pretty simple!), it's never possible to model everything. You have to abstract away most of the complexity -- leaving the right parts, and in the right structure, to get down to something you can deal with.

In the example above, we might say, "An archer tends to have time to make three attacks before a melee-only monster can reach them." That’s a guess we'd make after play-testing for a while. So we'd make a formula around this idea. Depending on our goals, we might give the monster a certain amount of extra health to compensate. Or we might make other kinds of monsters that archers have a much harder time with, or a million other things. But it's all based on that earlier simplification. In other words, it's all just bullshit formulas that we make up. Then we test them, see how they work, and repeat.

But ... how do designers actually do it? Spreadsheets. Lots and lots of spreadsheets. The spreadsheets are exported to custom tools, and those tools generate the data that the game server and client use.

(An aside here: I've been on development teams where the systems designers were expected to use fancy graphical tools that the tools engineers built just for them, for that game, to enter damage and health and so on. These tools are always worse than spreadsheets. Spreadsheets have had decades of development and they're really good at formulas. I sincerely suggest that MMO teams never waste time on graphical data-entry tools. Tools for object placement? Pathing? Appearances? Those tools are very helpful. But if something can be done in a spreadsheet, find a way to do it in a spreadsheet! As a bonus, training time is reduced because all professional systems designers already know how to use Excel. In fact, we've always known how to use Excel since birth. It's in our DNA.)

It takes a lot of these bullshit formulas to model combat. For instance, here are just a few of the balancing formulas for the Unarmed skill:

  • Regaining 1 point of Armor is as good as dealing 2 damage
  • Regaining 1 point of Health is as good as dealing 3 damage
  • Regaining 1 point of Power is as good as dealing 5 damage
  • Dealing 150 damage over a 10-second time period is as good as dealing 100 damage immediately
  • Taunting +15 is as good as dealing 1 extra damage

With a whole bunch of these formulas, I can then "balance" the abilities and mods. If one mod deals +50 damage, another might restore 25 Armor. Balance! Of course, it's not balanced at all -- regaining 1 point of Armor is actually WAY better than dealing 2 extra damage! But since I only expect Unarmed to have a couple of mods that restore Armor, I've artificially inflated the formula so that they're more practical. More fun.

If the Unarmed skill ends up being too powerful, I'll revise some of these formulas as needed. But the first step is to make them fun, and only then do you try to clamp down on overpowered things. Sometimes a fun thing stops being fun after it's balanced. In that case it has to be thrown out. There used to be a mod that let Fire Mages stun with their Super Fireball. This proved impossible to balance. I tried turning it into a combo, but eventually decided the combo wasn't fun either, and ultimately I just threw the mod out. But that's rare. Usually a fun-but-overpowered idea can be watered down to make it fun-but-less-overpowered.


Living With The Formulas

Sometimes when a formula changes, it only affects a few things. If I decide tomorrow that Unarmed is regaining too much Armor, I can fix it in a few minutes. No big deal. But some formulas are ingrained into everything. For instance, there are formulas that determine how generally useful a mod should be, based on how many abilities the mod affects, how much Power they cost, and how fast their reset time is. When I change THESE formulas, everything breaks. In the October 31 update, I changed those formulas so that an ability's reset time is less important in determining the power of mods. Changing that formula meant that every single mod needed to be re-calculated. It sucked. But that happens sometimes because these formulas are just educated guesses about what will be fun without being too overpowered.

And sometimes, you just ignore the formulas. Here's a snippet of one spreadsheet (click to make larger):



This shows some of the balancing data for the mod that turns Hip Throw into an AoE attack. See the "Balance Problem!" column? Anything that's over- or under-powered turns red like that. I can either fix it, or write in a reason why I'm leaving it overpowered. (I deleted the "reason" from one of the columns so it would turn red for the screenshot.) I've decided that this particular mod is a "signature mod" for Unarmed, so it doesn't matter what the balance formulas say: it's staying. Every skill has a few of these. Almost all mods that turn a single-target ability into an area-effect ability fall into this category. Some other abilities just do really weird stuff, unique things that are probably not overpowered, but that I don't have any formulas for. In that case, I can either spend the time to make more formulas, or if it's a one-time effect that probably won't show up again, I would just leave it "overpowered" and write in an explanation in the "reason for overpowered" column.

But they can't all be special cases! Most of the mods need to fit into my formulas. This is where I get to be clever and creative. I have a "budget" and it's my job to make the most fun thing I can within that budget. I'm working on revising the Shield skill right now, and one of Shield's mods makes "Take The Lead" restore Health. This is a mediocre mod because Take The Lead is supposed to be used BEFORE combat begins, when you probably don't need healing. So I'm changing it to wait 15 seconds before giving you health. That gives you time to get hurt before the healing happens, and as an added bonus, my formulas say that delayed healing is cheaper than instant healing, so now the mod heals more than it did before. Finding clever ways to fit interesting mods into these formula budgets is a fun part of the job.

But I can't go too crazy because it's easy to break the formulas. For instance, if I made fifteen or twenty different Unarmed mods that all restored Health, Unarmed would be really overpowered. It wouldn't matter that each particular mod is "balanced" by my formulas, because the formulas were made with the idea that there wouldn't be very many healing mods! The formulas are only approximations and simplifications, and a lot of times the "corner cases" (as programmers call them) don't come out right. Basically, I have to avoid certain kinds of extremes.

Systems designers are constantly evolving their balancing model for as long as they have time. And there's never enough time! Each time I iterate, I need to see how it plays out. I'll collect combat metrics over a month or two to see if it seems to be working, if players seem to be using certain abilities, and so on. Then, if there's time, I improve things. I could easily do this as a full-time job and never run out of things to work on. In fact, an MMO could easily have two or three systems designers all working full-time on these spreadsheets, play-testing, studying metrics, and iterating. And they would still be saying "there's not enough time!" Systems designers always say that. It's always true, because the job is never finished.



I could ramble about this forever, but my break time is long over and I have to get back to the spreadsheets. I hope this was interesting to people who are interested in game design! Let me answer a few likely follow-up questions:

  • Yes, this is a horribly inaccurate model of the game -- there are tens of thousands of numbers involved, but it's still a super-simplified representation of combat! And yet, it's the best approach available.
  • Yes, this is what most systems designers do throughout the industry. Some designers are better at it than me... some are a LOT better at it than me, actually... but the basic idea is the same in every MMO.
  • Yes, this means no video game will ever really be perfectly balanced. Even games that pride themselves on balance use this sort of model; they just spend more time improving it. In the case of a genre like RTSes, designers might use the trick of letting the AIs play against each other, then deciding that real players should be X% better than an AI, and make formulas from there. But underneath all the techniques we can use, it's still just a bunch of made-up formulas that are found via trial and error.
  • Yes, that's Excel in the screenshot. I prefer LibreOffice because it's free, but none of the free spreadsheet apps can handle the complexity of an MMO's spreadsheets! (Yet.)

Finally, an observation: the MMO with the best at-launch balance I've ever seen was Aion. I played it in 2009 and it was surprisingly well-balanced. I haven't kept up with the game since then, so I have no idea how the balance is now, but at the time, the designers had restricted themselves to only using a few VERY simple ability types. This made it much easier to model the combat balance, which is extra important for PvP. But... well, the combat was pretty boring. (Unless you like PvP a lot more than I do.) That's the trade-off that MMOs always have to make: the more complex and interesting the combat is, the harder it is to balance.

Happy Thanksgiving, and I'll talk to you again next week!