« May 2007 | Main | July 2007 »

June 19, 2007

Star Wars Galaxies Developer Diary On "Creature Balance"

Published Jun 19, 2007


Dev Diary: Thomas "Hanse" Eidson #2

Howdy, folks! I’m Thomas “Hanse” Eidson, a game designer on the Star Wars Galaxies team. In this second designer diary, I will outline the process behind creature balance, the first design feature I worked on as a system designer.

When I was first brought onto the team a little over a year ago, I was tasked with looking over Non-Player Character (NPC) balance. Normal creatures were too easy to fight at some levels and too hard at others.

At the time, Helios explained that very few stats were used in combat for NPC’s. The feature had to be published soon and I was to review and revise them quickly. I chose a simple stat to modify - their hit points (HP).

When approaching a systemic issue such as creature balance, you would not normally modify only one statistic. Modifying one statistic for creature balance makes your creatures bland and boring during combat. Our current game does not rely on a single statistic for combat. We use a master data table that is level based, which means the statistics rise as the level increases.

The table at the time that I worked on the balance looked almost exactly like this, in logarithmic scale:

You will notice that the values have some fluctuation, but for the most part are smooth. The armor line trend is totally flat, because normal creatures had zero armor. This is very close to a typical NPC/creature difficulty curve. Special NPC’s and creatures are modified by scripts or noted as a higher difficulty (Elite and Boss creatures are not on this chart).

At the time I was charged with making a balance change with NPC’s and creatures, we wanted a target range of ten seconds per creature for each fight. We had a target range of three creatures to take about 30 seconds or so. Our final target range was five creatures being almost too hard to handle. The only caveat was to make sure that low level opponents were easy to dispatch (lower than level 10).

With such a simple graph and no other balance concerns (no special abilities, no dodge values, weapons did not affect damage per second, etc), the balance task became simply a matter of raising the bars on the graph, right? Wrong. The graph approach may be simple, but you must also take into consideration the power graph a player has. I proceeded to graph each class to see what their effective damage over time was.

This chart shows my research for average damage per second multiplied by ten. It excludes burst damage a class may have and averages all the damage abilities. This is dated back to March 2006.

The graph fluctuates and the top-end is actually lower than the previous graph’s maximum HP value. In testing, we found that the low-end creatures took longer to kill. We found that at certain spots in a player’s progression, creatures were just too tough for stretches of levels and simply too easy at others. Quality Assurance tested the new HP values and found some levels were taking too long to defeat and others too short. We adjusted our charts and came up with the following, which was live on the service until Chapter 6.

The HP graph follows the damage over time curve above. The action, minimum damage, maximum damage, and armor values are unchanged. I later reused the average damage over time player graph as a guideline for the expertise damage over time values.

Obviously, with all the changes we made for Chapter 6, we have very different values for creature balance. Here’s the spoiler chart for folks that wish to get a peek at it. The HP values have not changed, but the rest of the data has been modified for combat balance, taking into consideration expertise abilities and the new special abilities of NPCs and creatures.

To get an idea of the timeline it took to make this feature change, I spent roughly two weeks to complete it, with testing. I had to do research to support my data changes, which resulted in the average damage over time chart. The DPS chart took roughly a week of data mining special abilities of all classes and averaging them out. The data changes took only a couple hours. The testing and tweaking of the feature took roughly four days.

So there you have it! There is a bit of math involved in many of the system changes we make. A balance system change needs careful consideration and testing. You have to be careful how you approach your data research and make sure not to overcompensate with your tweaks. Quality Assurance was a huge help in testing the feature change.

In the next diary, I will discuss the approach to the Jedi expertise system in Chapter 2. Thank you for reading!

June 04, 2007

Dev Diary: Thomas "Hanse" Eidson

Howdy, folks! I'm Thomas "Hanse" Eidson, a designer on the Star Wars Galaxies team.

It's been slightly over a year since I started working on Star Wars Galaxies. I've been keeping an eye on the message board and posting in threads on systems that I was working on at the time. So, if you kept an eye on developer posts, you've probably seen one or two of mine. If you haven't, then this diary and future ones should bring you up to speed on what I've been working on over the past year. I'll also include some insight into the publish contributions I've made.

I'll begin things by providing you with a little more background on who I am and how I became a System Designer on Star Wars Galaxies for Sony Online Entertainment. I've been a professional game designer for the past eight years. The majority of that time has been spent designing massively multiplayer games (MMO's). I've been playing MMO's (I consider hundreds of players online at the same time enough to technically qualify as requiring "massive" game mechanics), since text games in the 1980's (Multi-User Dungeons). I began developing games as a hobby after I was first introduced to computers in the 1970's (TRS-80's, Coco, Apple //, etc). So, I've been on the fringe and in the thick of the gaming industry for over 20 years (almost 30! Yikes!).

A System Designer on SWG has many responsibilities. The tasks I've performed for the past year have focused on balance, maintenance, modification, and much more. These ranged from small tasks of simple data changes, to larger data change overhauls, to the addition of brand new systems. We make changes to the game many different ways -- through programming, spreadsheets, text files, and proprietary tools. All of the designers on the team make some sort of systems change at one time or another. However, System Designers usually do not make additions of content (such as quests, storylines, world building, etc).

Our publishes follow a development cycle of brainstorming, design documentation, peer approval, development, bug fixing, release, and post release fixes. Over that cycle, we also have a list of bugs to fix. A previous "bug bash" publish would consist of trying to fix as many bugs as possible. I typically try to fix eight or more bugs per day when I'm tasked with doing bug fixes. Many of those are not discussed on the message board, due to them being possible exploits, oversights, or just plain irrelevant. However, I'm not averse to asking for opinions on the board when a bug fix may affect you adversely. Sometimes I get stumped for a day, but I try to solve all issues before going home so that they do not nag at me overnight or (heaven forbid), over the weekend!

I've worked on seven major publishes to the game. The first publish, I worked on NPC balance issues. After that, I worked on the Jedi expertise. My third publish, I added the Smuggler expertise system. Once that publish was released, I implemented the Commando expertise system. Over the holiday season, I worked on the Trader expertise systems. When the expertise systems were completed, I worked on a bug fixing publish. The latest publish included the Beast Master system and I was one of five designers that worked on beasts. In a future diary (or diaries), I will discuss the steps I took to implement each system.

Thanks for reading this first installation, and please be on the lookout for future diaries from me!