Thursday, July 17, 2008

Collision Detection, Part 1

For today's post I will be getting closer to the bare metal of game design and discuss one of the cornerstones of video game programming: collision detection. Collision detection has been around since the beginning of real-time video games and has remained an ever-present mechanic of video games of today. I will be discussing some of the theory and practical application of collision detection, beginning with early two-dimensional side-scrollers and gradually moving on to more advanced three-dimensional techniques.

In the days of the original NES (Nintendo Entertainment System), collision detection was usually the most computationally expensive aspect of a game. When the old 2-D side-scrollers would lag from having too many objects on the screen at once, it was mostly from having to calculate all of the possible collisions. The reason for this is fairly obvious: every object that could collide with the player with some direct effect warrants a separate collision check. As more objects fill up the screen, more collision checks have to be made every frame. With the limited computing power of the NES a few dozen collision checks every frame (if that) was enough to cause noticeable lag.

Most collision detection algorithms revolve around the concept of a "hit box." A hit box is a simple shape (usually one or more rectangles, occasionally circles as well) that is roughly the same shape as the actual object. Hit boxes allow the in-game sprites or models to remain detailed without hindering the collision detection algorithms with needlessly complicated objects. The original hit boxes were, naturally, as simple as can be: a single rectangle.

Two objects are considered to be colliding if one or more edges of one object crossed with an edge of another, or if one object completely encapsulated another. Of course, actual collision detection algorithms use simpler calculations for the sake of speed. (To avoid repetition, all the following examples will only discuss colliding along a single axis. Each calcuation will necessarily need to be done for each dimension.) One such method is comparing the location of the right edge of one hit box with the left edge of the other, and vice versa. If the location of the right edge is less than the location of the left, there is no collision. Alternatively, one could compare the difference between the location of both object's left edge with the width of the left-most object's hit box. If the difference is greater than the width of the left-most object's hit box, there is no collision.

As mentioned before, hit boxes aren't limited to just rectangles. Although requiring more computation, circles provide a form of hit box that requires only a single check to be made regardless of the game engine being in two or three dimensions. This can make collision detection faster and less error-prone in three-dimensional environments than even simple boxes. The more straight-forward method of collision detection using circles or spheres as hit boxes is to calculate the distance between the two objects' centers and compare that to the combined radii of the two. If the sum of the radii is greater than the distance between centers, there is a collision.

Unless spheres are used as hit boxes, collision detection gets more complicated during the move from two dimensions to three. The simplest way to do 3-D collision detection with rectangular boxes is with a single cube-shaped hit box that doesn't change orientations (unlike the actual object, which can rotate freely). With this simple approach, collision detection becomes the same as using a single rectangle in 2-D with an extra check for the extra dimension.

Of course, with simplicity comes inflexibility. If the object this rectangular box is supposed to represent is a person, one runs into the problem of appendages either being ignored or causing the hit box to be expanded to occupy a lot of air in order to encompass them. To more accurately detect collisions, groups of free-rotating three dimensional hit boxes need to be used. At this point, the algorithms to detect collision cease being simple and fast.

In the next update, I'll be discussing some optimizations to speed up the collision detection process, as well as a brief explanation of hit detection used in shooter games to detect whether or not a projectile has successfully hit its mark.

Friday, June 13, 2008

MMORPGs of Today and Tomorrow, Part 3

I hadn't originally planned on doing a third part of this series, but an abundance of free time has given me the opportunity to sit and think about the genre a bit more. In my ponderings I came to a rather disheartening conclusion: MMORPGs, as we currently think of them, simply cannot work as a competitive environment. If the genre is forced direct player vs. player content, in which players directly battle each other, key elements in what define an MMORPG are either removed or needlessly burden the player.

Consider World of Warcraft. In WoW, character progression is clearly the end goal for the player. This starts as a focus on leveling the character and later turns into focusing on gear upgrades once the level cap has been reached. As a purely player versus environment setting, this is all makes sense. The player isn't competing with anyone, so that player can complete content at a rate comfortable with him or her. If that player wants to team up with other players to complete a dungeon, he or she can choose to group with only other players who are at the same level of character progression.

If we include player versus player content into this mix, the experience immediately turns sour. If one player has a distinct advantage over another player because his or her avatar is more progressed, it is seen as an unfair advantage. This is where the concept falls apart. To make the PvP aspect balanced, and therefor fair, there cannot be character progression. If there is character progression, then victory isn't solely dependent on ability. However, PvE is based around character progression. Ridding the game of character progression would make PvE pointless as there wouldn't be any incentive to partake in it. PvP and PvE content are simply incompatible in the same environment.

WoW attempted to solve this problem with the introduction of the arena system and the resilience stat. The idea was by giving the PvP players a stat that only they would find useful, character progression could be sped up enough for them that they could quickly reach the effective gear cap without affecting the PvE players. Unfortunately, the stats of a weapon tend to be irrelevent if it deals a lot of damage, and the PvErs quickly discovered that losing the minimum number of matches every week gained enough points to get the PvP weapons long before they had progressed far enough into PvE content to get comparable weapons. From there, exploitation of the arena system continued to plague the system, and heavy-handed attempts to fix the problems brought on even more problems.

WoW, as flawed as it may be, managed to contain both high-end PvE and PvP content by effectively sandboxing the PvP players away from the rest of the game. But even this solution entails problems: if you, as a player, play solely for PvP content, what's the point of leveling up to the level cap in order to be eligible to compete? For the avid PvP player, the leveling aspect is superfluous at best and a needless time sink at worst. But how would a developer rid the leveling aspect for the PvP player without also ridding it for the PvE player?

One solution to this problem would be to reduce the advantage being further progressed than another player would necessarily entail. Unfortunately, there are only two ways to implement such a solution: either reduce the progression advantage across the board, affecting PvE and PvP content uniformly, or reduce the progression advantage solely for PvP. Both solutions carry their own flaws.

If the progression advantage is reduced across the board, then PvE players would feel that their play time didn't result in appropriate character advancement. After all, why invest hours of in-game play time when the end result is only a marginal increase in character power? Why bother putting the effort into gaining another five levels if the same mobs the player struggled with before are still a struggle to take down? If the desired goal is character progression, the player needs some actual progression as incentive to continue playing.

If the progression advantage is reduced only in PvP encounters, then the transition between PvP and PvE would seem awkward to the player. Presumably, if the MMORPG were to contain both PvP and PvE content, the majority of players would at least experience some of the content in both aspects. If the player had only experience (or a significant majority of his or her experience) in one aspect of the game, transitioning to the other aspect would inevitably confuse the player when the expected results of his or her actions didn't occur. If the game mechanics are different enough between the two game aspects, unexpected outcomes from game moves can be quite jarring to the player. The ultimate result being that most players either devote themselves to the PvE aspect of the game or the PvP aspect, leaving the developers eventually balancing one set of characters for two completely different games. Fans of World of Warcraft will probably recognize this end state.

Either way, both choices are ultimately flawed: in PvP an advantage is still an advantage. How can one create a system to properly recognize in-game superiority if progression can give one player an advantage over the other? The system isn't completely fair. No matter how well the developers balance two characters, the further progressed character-- by design-- will have an advantage. It's simply impossible to properly credit the winning player as being superior when he or she has a mechanical advantage.

So that, in a long and drawn out manner, is my revelation about the MMORPG genre. What I always dreamed of as the pinacle of the genre, massive player versus player encounters decided on player ability, is fundamentally not part of the genre at all. So what is this genre that I've craved? What would it be called, and how would it work? Until next time.

Wednesday, April 2, 2008

MMORPGs of Today and Tomorrow, Part 2

As promised in my previous posting, I'm going to spend this post discussing some of what I believe to be the core problems in MMORPGs.

One of the largest problem with modern MMORPGs is the complete lack of transparency. By this I mean the degree that developers disclose to their customers the mechanical details of their games and their overall design philosophy. For some reason developers of MMORPGs are always adamantly tight-lipped about all but the most superficial information about their game. Eventually the more devout fans of a particular game will want to know exactly how game calculations are performed, and the only course of action they can take is to try to reverse engineer the equations used. Any attempt to obtain these equations from the developers themselves will always be met with steadfast refusal.

I can understand the desire to keep the game formulas behind lock and key. It encourages experimentation, and some players do enjoy trying to reverse engineer the formulas. There's a point, however, where it truly reaches a ridiculous degree. I played one game for four years of its existence, and in my quest to better my characters I tried to reverse engineer a few important game stat formulas. One of the formulas that I had come up with was always wrong by a small amount in a very inconsistent way. The developers refused to comment on the equation I had come up with some three years after the game's release. What difference would making that formula public knowledge really make at that point? People already understood the stat enough to know in general how to maximize it, it just wasn't possible to predict the value given a certain stat spread with 100% accuracy.

The other problem of transparency (and definitely the more important one) is in regard to game design. When a person designs a game every class, item, spell, and everything else is designed with an intended purpose. The questions of how this thing is supposed to work and how the player is supposed to interact with it are answered well in advance to the game's creation by the game designer. However, the designer will not tell the player what this intended purpose is. The player can infer what this purpose is, but he or she has no real way of knowing if this assumed purpose mirrors what the game designer intends.

A single rigid, well-defined role for every class and every item is perfectly fine for an MMORPG if you, the developer, make sure that the player knows what that role is. You want clerics to heal and do absolutely nothing else? That's fine, just make sure that your end users understand that their cleric will never do anything but heal. If you make this design choice ambiguous for the player, don't be surprised when he or she tries to do something completely different with his or her cleric, and certainly don't punish your users for straying from class roles you had decided on but never explicitly stated.

(In the interest of full disclosure, I play a shadow priest as my main character in WoW. Despite the fact that no one reading this who has played WoW will believe me, I think it's worth mentioning that the reason I play a shadow priest is not because I'm too stubborn to admit that Blizzard decided shadow is not the intended PvP priest spec. I play shadow because it's the most viable spec given my situation.)

Unfortunately, today's MMORPGs are plagued with vague and undefined class roles. I suspect the main cause of this is from content patches over a long span of time. No doubt what exactly any specific class was meant to be specialized in became blurred as patches were added and new items and abilities changed everything. What ends up happening is the developers begin taking a passive stance towards class roles. They pick some element of the class, augment it through new items and/or abilities, and sit back and see what the players end up doing with it. After the fact, if the developers decide the players are going in the "wrong" direction a balance patch is rolled out to bring the class back to whatever the developers wanted the class to do on that particular day. The players remain in the dark throughout this process, and are understandably frustrated when they inevitably realize they weren't playing their character correctly and end up getting nerfed without so much as a whisper from the developers as to what they were supposed to be doing.

So step one to fixing the modern MMORPG is to have well-defined game design that is presented unambiguously to the player.

Another problem that plagues MMORPGs, especially ones that have been around for a while, is that balance changes tend to be very drastic. The term "nerf bat" is a very good image for the typical balance patch found in MMORPGs: the changes are very broad in scope, the desired outcome is difficult to hit with any accuracy, and unintended outcomes are commonplace. The "flavor of the month," with regards to character classes and/or builds, is almost always shifting directly to whatever is receiving improvements from a balance patch.

Developers overshoot the mark with buffs and nerfs with such consistency that it's almost guaranteed that any given class will have at least one period of being overpowered by a large degree and at least one period of being underpowered by a large degree. Instead of taking small steps to slowly bring all classes and abilities in line with one another, slowly decreasing the number of changes made as a balance is reached, the balance scales oscillate drastically. Balance is never reached in any appreciable form, and someone will always have an unfair advantage.

The final problem with MMORPGs that I will discuss is the problem of the grind. The grind, for the uninitiated, is the tactic of extending gameplay by forcing the player to do some task repeatedly. Usually, this takes the form of killing monsters. Lots of them, all essentially if not exactly the same. I've yet to find an MMORPG that didn't feature the grind as a core part of gameplay, at least in the process of leveling up.

The reasons for the grind is obvious: it's easy to implement and it extends gameplay. Unfortunately, it's very repetitive (by design) and therefor very boring for the player. Most will see it as a waste of time and an artificial barrier put up between the player and the content the player actually wants to experience. From a design standpoint this view is completely correct.

The solution to this problem is to create dynamic content: content that can change. This isn't as difficult as it sounds. I've save details for a later discussion, but even minor things such as monster camps growing or dwindling in size depending on how many players are killing mobs there can make the world feel more alive and make monotonous grinding more involved as players need to change in response to changes in the environment. Well designed dynamic content can even automate parts of the content creation process, which can save developers time down the road.

As a recap, the three most prominent problems with modern MMORPGs are, in my opinion, lack of transparency with game design, drastic balance changes, and the grind. I could write several posts discussing some of the solutions I think exist for these problems, but the overall theme would be to warn against lazy design. The simplest solution to avoid these problems is to just sit down and think about the choices you, the developer, make regarding game design. With every key press, mouse click, and whatever else tools used to create should be the nagging thought in the back of your head: "Is this how it should be done?"

Thursday, March 27, 2008

MMORPGs of Today and Tomorrow

It's been a while since my last post, and while I would like to have a new post fairly regularly such a thing currently isn't possible. There's two reasons for this, the first being that I simply don't have time (I'm meticulous when it comes to writing and that makes the whole process take much longer) and I haven't managed to think of a good topic. Granted I haven't been completely devoid of discussion topics, but I think it would do the blog and the community more good if I kept my topics general enough that they can apply to a wide range of genres. In lieu of my current situation, however, I think it'd be best to write about some specific genre than forgo posting at all.

So for this post I'll be discussing MMORPGs and World of Warcraft. As a fair warning in the event that this post comes off as a rant at any point, World of Warcraft is currently the game I'm spending the most (although still quite little) time playing. Any shortcomings of the game that I mention may unfairly emphasised because they are currently affecting me personally. With that said, let's get to the crux of the matter.

World of Warcraft is, of course, the ridiculously popular MMORPG by Blizzard Entertainment. I could mention how many millions of players current occupy their free time in its fantasy world, but at this point it hardly seems worth the effort to look online to find out what that number is today. The number would be useful if it were only a few times more than the leading competitor, but Blizzard's veritable monopoly on the genre is to such a ridiculous degree that discussing the numbers only serves to illustrate just how little every other game of the genre really matters. We could discuss game design and balance issues disregarding sales numbers, and that's what I try to do in this blog, but the simple fact of the matter is that game companies are still companies. Their ultimate goal is to generate revenue. When we look at game design from the point of trying to make money, we can't afford to ignore how Blizzard makes an MMORPG when designing our own.

As a result, much in the same way Halo standardized how the modern FPS plays, World of Warcraft now defines what an MMORPG is. So what is an MMORPG according to Blizzard? It seems to be a game of progression, where you the player are on a never-ending quest to improve your character. It certainly isn't difficult to see where this train of thought originated: I'm not aware of a game that would describe itself as a single player RPG that didn't have a strong emphasis on character development in the purely mechanical sense. This makes sense as a single player game. The player can progress at his or her own pace and can eventually-- and this is key-- reach the end and finish the game. Being able to finish the game is important in a single player RPG because eventually the game will run out of content.

This might seem obvious, but as usual adding the Internet into the mix changes things. Downloadable content means that once enough players have experienced all the content, a developer can simply add new content. And if you can add additional content once, then you can do it as many times as you like. Suddenly, you have a game that can exist indefinitely. The game design needs to change to accomodate the fact that players will eventually be experiencing content that doesn't yet exist. More importantly, however, is that game design needs to be determined with the understanding that the player of a game that never ends needs to never run out of things to do.

WoW's end-game content is divided up into two activities: PvP content and raid content. PvP content has proven to be comparably straight-forward in ensuring that gameplay never ends. Sporadic patches to balance gameplay and the occasional new set of top tier equipment is generally all the avid WoW PvPer needs to continue playing. Raid content tends to be trickier. Raid content consists of sprawling dungeons and elaborate scripted boss fights. All this is original content that needs to be balanced around top tier raiding parties of currently 25 players. This aspect of the game is generally regarded as the focus of the game, and considering the difference in developer time that goes into raid content this really shouldn't be surprising.

So is this idea of perpetual character progression a good one? From a business point of view, it obviously is. WoW certainly isn't the first game to pursue this type of gameplay, and certainly isn't the first widely popular game to do this. So what sets WoW apart from the rest of the games it has so effortlessly dwarfed? It's been said before that Blizzard's basic design plan for WoW was to take all the components of the popular MMORPGs of the time, dumb them down, and then polish the game until it shone like no other. Again, from a business point of view this seems like the perfect design philosophy.

From a point of view that ignores sales figures, however, this design makes less sense. If character progression is the ultimate goal of a game that perpetually expands, then eventually players are going to become frustrated at the thought of their accomplishments being diminished the next time a content patch is released. The metaphorical carrot being dangled before their eyes will always be just out of reach. This is a problem because for most players the ultimate goal of character perfection is not only unattainable, but actually moving away from them. New content is added at a rate faster than the average player can progress through it.

So what's the future of MMORPGs? My view of the horizon before me is unfortunately pessimistic. There will be few, if any, game companies that will try to compete will WoW directly. WoW simply dominates the market to such a degree that any direct competitor would be swept aside and labeled a crappy WoW clone. So what are developers, seeing a huge potential market in MMORPGs going to do? Create games that pander to the type of gamer that specifically doesn't like WoW, try to wedge in a niche market, and expand their playerbase by attracting frustrated WoW players. Its really the only sane choice for a game company that wants a slice of the MMORPG pie.

You, the reader, are probably wondering how the above paragraph could be described as pessimistic at this point. This goes back to towards the beginning of my post when I talked about how WoW has defined what the modern MMORPG is. The next generation MMORPG is going to quite literally advertise itself as not being WoW. But by defining itself as an MMORPG, the game will necessarily take game design elements directly from WoW. The differences between the next generation of the genre and WoW will simply be superficial, as WoW has made itself the de facto standard. Character progression will remain the ultimate goal, and the eternal grind that has defined the genre will continue to haunt it.

So how do we, as game designers, avoid this fate? That I will leave as an exercise for the reader. I will post my own thoughts on how to change the genre of MMORPGs for the better in a later post, but for now I think it will suffice to simply pose this question: what defines an MMORPG and how does character progression fit into that definition?

Monday, March 3, 2008

Randomness And Wide Appeal

Today I'd like to talk about randomness, the width of a game's appeal, and how these two topics relate. Now, when I mention the width of a game's appeal, I refer to the range of experience and skill found in those who play that particular game. Specifically, I'm going to be referring to three types of players: the novice players, the elite players, and the players that lie somewhere in between.

Some games try to focus on targeting novice players, ignoring game-play at higher levels of skill. These games tend to be of the gimmick or party variety, hoping to rope in players based on some unique game-play aspect without much attention to game-play at higher levels of skill. Other games focus on top-level play, ignoring potential game imbalances that only appear at lower levels of play. These types of games are common among the Fighter Game genre, as well as the RTS genre. Still others try to attract as wide an audience as possible, making the game-play fun as a novice while still being interesting and balanced at the top levels.

So what does randomness have to do with this? Well, the degree of randomness in a game can greatly affect the kind of player that would most enjoy playing. In general, the more random the game-play, the more a novice player would enjoy the game compared to an expert player. Conversely, game-play that was completely deterministic would be favored by expert players. Now, this isn't always true, and there are certainly other aspects of game-play that affect which type of player would most enjoy a given game. However, randomness is becoming a popular way of giving a game a wider appeal.

At this point you might be wondering just how randomness affects game-play in such a way. The answer is that randomness makes the outcome of a given game move arbitrary to some controllable degree. Less arbitrary results gives advantage to the experienced player, who has developed strategies to defeat game moves. With no randomness, the winner of a game will always go to the player who correctly predicted his or her opposition's moves and correctly countered them with his or her own game moves. Expert players prefer this because it means they will usually beat a player who is less skilled.

More randomness, then, favors the novice player. Randomness in this case acts to level the playing field somewhat, as now the novice player will be able to win some matches against a more skilled player simply because of luck. This will then cause the better skilled player to win fewer matches than he or she would otherwise, which would make it fairly obvious why the more skilled player would be against randomness in game results.

I wish I had some simple equation to easily describe how randomness affected game outcomes, but statistics and probability are not subjects I'm very strong at. Instead, I can only provide this general rule: a player who will win X% of matches against a certain player with no randomness will win a percentage of matches approaching 50% as more randomness is added. The amount of randomness affects player match-ups with a large difference in skill more than match-ups of players of near equal skill. That is, a player who only wins 10% of his or her matches against a given opponent will benefit much more from randomness compared to a player who will win 40% of the time.

Now, that does mean that two perfectly equal players will each win about 50% of their matches regardless of the level of randomness. However, slightly stronger players will have their advantage effectively covered up if there is some randomness, which can make player rankings more arbitrary and thus less meaningful. The ideal solution would either include randomness in the game design in such a way that it only affects lower levels of play, or to somehow design the randomness of a game to only affect the outcome if there is a large discrepancy between the two players' skill. Unfortunately, such a solution is anything but trivial to implement.

To end this post, I'd like to issue a warning to any game developer reading this: do not think that adding randomness to a game will automatically make it more accessible to new players. New players hate losing because of arbitrary game mechanics just as much as expert players do. The best approach is with a careful application of interesting random move outcomes. Players will fondly recount the story of when a string of incredibly unlikely events allowed them to finally beat their highly-skilled friend and curse the game forever when a close match is lost because their game-winning move arbitrarily failed.

Sunday, March 2, 2008

Rock, Paper, Scissors

To start things off, I thought I'd write about one of the oldest traditions in game design: Rock, Paper, Scissors (I'll be referring to it as "RPS" for the rest of the post). RPS is, in many cases, the underlining philosophy behind the entirety of game balance for many games. The most general description of the RPS design is that an individual game move has one or more game moves that that game move defeats and one or more game moves in turn defeats that game move. In the case of RTS and MMO games, a game move may also be an individual game unit or player.

Before we get too far into discussing RPS, let me iterate a few examples of its application. The original game, of course, features two players who simultaneously chooses either rock, paper, or scissors as his or her move. Rock beats scissors, scissors beats paper, and paper beats rock. In RTS games, the RPS paradigm takes the form of unit types. One such example being ground units, air units, and anti-air units. In fighting games, the RPS paradigm is employed in different classes of attacks. For example, a low hit may be beaten by a jumping attack, which in turn is defeated by a standing attack or specific anti-jumping attack, which would then be defeated by the low hit.

The benefits of using a RPS design when designing a game are fairly obvious. The paradigm in its most basic form is both easy to implement and easy to balance. All that's necessary is three types of moves or units that each counter a different type to a roughly equivalent degree. It's simple and intuitive to the end user, so there's no problem in strategies being too abstract for new players to figure out and understand. When playing games, the player often constructs strategies of the form: "If the other player does that, then I can counter it by doing this." The RPS paradigm naturally fits this kind of construct, as game balance is derived by straight counters.

The downsides of employing a RPS design tend to revolve around the desire to create a more varied game-play. To illustrate this, consider this fact: RPS is simple to implement provided there are three types of units or moves. But what if you, as the designer, want more than three types of moves? In a purely theoretical sense, implementing a fair system derived from the RPS paradigm with more than three types of moves/units is demonstrably possible. Unfortunately, in any system with an even number of moves, there must be pairs of moves that, when pitted against each other, produce no winner. Conversely, in a system with an odd number of moves, it is possible to create a perfectly fair system where each move has the same number of winning and losing pairings without any tie moves aside from pairing moves with the same move.

This is not only provable mathematically, its possible to derive an equation that tells us, given a number of moves, the number of winning and losing pairings for any given move (since the system is perfectly fair, the number of winning and losing pairings are necessarily equal). Let's assume that we have a RPS system with n-number of moves. Then we can picture our RPS system as an n-sided regular polygon, where each vertex represents a single move. If we draw this picture, then every possible edge connecting any two points is representative of every possible move pairing. The equation n(n-1)/2 tells us how many edges, and therefor pairings, our system has.

Now that we have all of our pairings, we need to decide which move wins for every possible pairing. The simplest way to represent this in our picture is to give each edge a direction. That is, given the edge AB, declare that the edge goes from A to B, and therefor move/unit A defeats move/unit B. Therefor, we can say each move has some number of winning pairings (or losing). In a fair system, this number is the same for every move. Thus, to find how many winning/losing pairings every move has, we divide the number of pairings our system has by the number of moves:

(n * (n-1) / 2) / n
(n-1) / 2

At this point, it should become clear why only odd values of n can create a fair system without ties that aren't mirror-matches (pairing a move with itself).

Now, another problem with RPS systems that I've conveniently ignored up until now is the question of how ties are resolved. Even using the above information to create a system where it's impossible to have two different moves result in a tie when paired, there's still the possibility of mirror-matches. In the actual RPS game, ties are simply replayed until one of the players wins. This is fine for a game like RPS or a turn-based game, but a real-time game can't allow replaying ties for practicality reasons. There needs to be a definitive resolution.

A solution to this problem is to simply make the outcome random in case of a tie. Through whatever game-play mechanics the developer chooses to implement, he or she could simply design the game in such a way where, in the case of a tie, either player will win about half the time. The problem here is when your system has multiple moves or units that fit into a given vertex, or role, in the RPS system. What happens when two different units fulfilling the same role are paired and for whatever reason one unit has an advantage over the other? The more moves of the same class of moves the developer adds, the greater the complexity in balancing those units. The more classes of moves the developer adds, the greater the complexity in balancing those units, but to a much greater degree.

As a final point of discussion, I'd like to talk about the RPS paradigm in MMO games. In these games, players can be thought of as individual units in an RTS game. Each player has his or her avatar, which generally is of a certain class and fills a certain role in a group of players. Looking at the game design in this way, an RPS system seems like a fair and easy-to-implement way to achieve game balance.

Unfortunately, this ignores a very important fact about RPS-based games: the player, at any time, should be able to choose any move (or at least attempt to choose a move). In most MMO games that take the view that each class fills a role that defeats a certain role and is likewise defeated by a different role, the player is stuck with the role he or she chose on the onset of a conflict. Basically, if your class is paper, you cannot change to rock because you think your opposition is scissors. Likewise, you cannot change to rock because your team doesn't have anyone playing the rock class.

Interesting, fulfilling game-play comes from giving the players options to vary their strategy. If a player playing the paper class can only improve his ability to defeat the rock class or lessen (but never remove) the ability of the scissors class to defeat him, the player isn't going to find the game-play fulfilling.

Frist Post!

I, always the opinionated gamer, have often pondered, discussed, and argued the finer points of game balance and design philosophy in games both video and otherwise. In that regard this blog was inevitable in theory, although its execution leaves me wanting. I would have preferred setting up a server and running some home-brewed blogging software, but time seems to always be against me, so I've taken up the convenience of Blogger in order to ensure that at least some of my discussions reach the public.

So, if you've stumbled across this accidently, I should start by explaining what genres this blog intends to discuss. For the most part this blog will focus on adversarial games and adversarial aspects of games that aren't strictly adversarial. I'll try to keep the language as general as possible, as the concepts I'll be writing about can easily be applied to a large array of genres, but for specifics Massively Multiplayer Online Role Playing Games (MMORPG or MMO), Real Time Strategy Games (RTS), and Fighting Games will be the main focus of discussion. Other sub-genres of Role Playing Games (RPG) will also probably be discussed.

First Person Shooters (FPS) will, for the most part, not be discussed. There's two reasons for this: I don't enjoy the genre all that much, and I don't think there's much to discuss that wouldn't be overly specific to individual games or series. I'm sure there's plenty of people who will disagree with me on that second point, but it's not something I'm all that interested in writing about.

Traditional board games also won't a focus of discussion, although I'm sure I'll mention them when explaining some concepts. The reason for this is because I believe any discussion of strategy would either be too abstract or too specific towards a single game or family of games. Chess, for example, is a game one could write a library of books about regarding strategy, but any given concept would either be specific to chess or general enough to be applied to any other genre being written about here. Balance also tends to be a dull subject when talking about traditional board games, as the only real balance question one tends to ask regarding that genre is how much of an advantage going first gives.

Well I think I've gone on for too long already, so I'm going to end this post here. I hope that any professional or aspiring game developers read this and take something useful away from it.