What I’ve Been Doing

I’m in Data Warehousing here at K2. For the last 6 months I’ve had to get up to speed with TSQL on SQL Server, figure out SQL Server Integration Services, SQL Server Analysis Services, SQL Server Reporting Services, figure out good Source Control practices, figure out the detailed inner workings of the databases of 6 MMOs, 2 casual flash-based games, and 3 billing and Customer Relationship Management Databases, figure out how to work with something over 1.5 billion rows of connection log data, figure out how to use web services and XML messaging, figure out how best to set up daily data extractions and snapshots, use these great things called “Table-Valued User Defined Functions” (think “parameterized views”), learn how and why one should write well-formated TSQL code (it’s a piece of art to see clean, well-formated TSQL), figure out how to do accounting and reporting for virtual currencies, figure out how to manage employees in an overseas development office, figure out how best to balance doing full extractions of data vs. just pointin Analysis Services directly at the source data (go for the latter whenever possible, by the way), figure out Data Mining structures (great fun when your data is set up right), learn just how much better life is when you get pretty hard-core about mainting strict referential integrity in your databases, get really good at reverse-engineering systems based solely on the data they spit out, learn some Multi Dimensional eXpression language basics, write some VbScript to identify exploitive in-game behavior on an in-production MMO, figure out how one can go about doing Social Network Analysis on large data sets, learn a ton about top-down hierarchies vs. Agile-like production teams, figure out some mid-level DBA work, learn how critical it is to have your business decision-makers have a good understanding and great respect of and for what it takes to develop great applications and databses (even if it’s just a qualitative understanding), and I’ve effectively not written a word on what I’m truly passionate for: MMO design.

Yeah, I’ve learned a ton. I feel like I have the database development and reporting chops to be able to seriously contribute on an MMO development team, but I feel like I’ve divested myself of what really drove me to get into this industry. So, without further ado, I’m going to quite simply start writing more.

Well, maybe I’ll start tomorrow…

Bugs or No Bugs

We have a choice between adding new content and features or consolidating what we have and adding new features later. I’ve written about this before, but I worry it’s a decision that too often is decided in favor of new features.

I’ve taken a stab at this topic before in “Frustration of Reasonable Desires“, bince since the topic has had some time to stew, I wanted to revisit it.

A lack of features is only frustrating when the features that are missing are pretty essential to the game experience. A feature that does not work cannot be truly considered a feature. If the core features of a game do not work well, and since to some degree every other feature depends upon those core features, one could conclude the game does not in fact consist of features, and to opine that more features need to be added at the expense of bug-fixing is to ignore the fact that it is not “features” that will be added, but rather ever more elaoborate bugs.

I’m trying to make the point that there comes a point where one must cosolidate that which one has created. Create, Consolidate, then create again, and then consolidate once more.

I read recently that it is merely a matter of opinion and preference whether or not one fixes bugs in existing features. If the existing bugs are not utter game-breakers then they can (even should) be left as-is in favor of new features and content. I’m reacting to that. I believe bug-free systems, elegant code, efficient production tools, happy customers, and a happy bottom line all go together.

Some good food for thought on the matter has been posted recently at Zen of Design: “Triage and Extrapolation“.

Tools

What exactly is it that results in our tendancy to leave outdated tools as they are? What is the barrier that keeps us from immediately updating or fixing a tool that has become even a litttle bit outdated or broken? I betcha it’s linked right in with the preference to add new features over fixing existing systems/bugs/imperfections.

I think we’d all agree that letting some game operations tool remain “sort of broke” is not a good thing. The argument, however, then becomes “how much will it really gain us to fix it”.

Apple, iTunes, and the iPhone may help resolve this one. Every Apple product amounts to a subset of what, well, non-Apple products are. Apple products arguably don’t do as much and they restrict you to exactly what they designed the product to do and be. However, those things they have chosen to let you do are quite often a joy to use and as a result “it just works” resoundes from countless mouths. Apple has built a rabid fanboie nation on the habit of neglecting new features in favor of making a smaller set of features exceptionall well-done.

Faced with the question of whether to add new features or go back and make what we have exceptional, I choose the latter. I really think it’s the best route.

Agile-Designed MMOs

I’ve been reading through the Software Development Process collection of article in Wikipedia in an attempt at getting my mind more fully wrapped around the situation that MMO design is in.  The Big Design Up Front article was the article that prompted me to make mention of this topic here.

While conceptually the Agile-like methodologies out there are very attractive, and I personally find their decentralization  a good thing, I can’t see how an MMOG can be made without loads and loads of design effort before any coding actually happens.

I think this may be the crucial difference between what works and doesn’t work with full-on Agile (or is it more Extreme Programming?) methodologies.  Agile methods are great when making tools.  Loads of design is required, however, when you’re making an environment.  I think there is a difference.  And I’m not saying Agile methodologies are wholly inappropriate.  I just think that good time should be spent early on purely doing conceptualization and design work.

An environment is a big collection of tools.  That’s how humans view everything around them, everything that’s not their own self.  So, when making an MMOG each of those tools should be made Agile-style.  It’s how all those tools are related that cannot really be done Agile-like.  That’s what I’m saying needs to be heavily designed.

So, when I say good time needs to be spent up front doing purely design work, I’m talking about the decisions on how all those tools which make up the environment are connected.  Once all those tools are identified and understood to [someone’s] satisfaction (as well as their inputs and outputs, loosely speaking], then the various Agile or Extreme Programming teams can do their piranha-style devouring of the tool-design and implementation tasks.

Maybe that’s all been hashed and rehashed thousands of times though.  But still, I’m sure someone will get a good idea or make some great connection after reading this musing.

Death Penalties Musings Responses part 2

Quoting from the comments on Damion Schubert’s Zen of Design blog article discussing death penalties:

Maybe XP loss/debt is no longer the answer. Maybe game developers should use alternative methods to make gamers avoid death.

Excellent thought.  Death penalties seem to be an impossible problem given the existing assumptions about what a MMO game is.  Like how the “problem of evil” is an impossible problem assuming some all-influential deity.  An impossible problem should be a cue that we need to reexamine some fundamental assumptions we have on the issue at hand.

In a largely single player game death penalties can work fine.  In an MMO virtual world death penalties seem to break down and introduce problems.  Dev-defined death penalties are essentially one of the many game rules contrived to present players with high-drama tradeoff decisions.  In reality, almost never are we faced with such decisions.  When we play what we perceive to be a “game” we expect these kinds of decisions.  When we play what we perceive to be “reality” we don’t, and “reality” doesn’t work with such decisions- nothing is so black-and-white.  We all know that to force issues to be so results in borked relationships, screwed up politics, more damage than is strictly necessary, etc.

People aware of MMOs are more and more considering them a viable way to spend time, that is, MMOs are being incorporated into real life.  And in many ways, MMOs are indeed part of and thus “real life”.  So, if an MMO is approached as an extension of “real life” any mechanics that are too “gamey” will result in exquisite exasperation.  A mechanic that’s too “gamey” is one that makes sets of decisions too black-and-white.  Now, in real life to make decisions too black-and-white is usually to inappropriately oversimplify complex situations.  In an MMO to make decisions too black-and-white is done by the developer and really actually makes the situation simple.  In real life the “player” interprets situations as black-and-white; in a game the developer crafts situations to be black-and-white.

All this to say that death penalties are a thing for games.  Penalties for death in “real life” need to result in changes to the world.  If you get killed by members of the Congol NPC faction, the Congols receive a small boost to their attribute, effectively making them more powerful.  If a whole bunch of players get killed by the Congol faction, then the Congol faction gets a significant boost to their attributes.  Or, if you booch a mission given to you by the Congol faction, the Congols like you less.  If a whole bunch of players (all from the same faction) blow a whole bunch of missions given by the Congol faction, the Congol faction actually begins to hate that player faction, even to the point of actively hunting them down and attacking their cities and homes.

The idea is that player actions actually influence the world.  When a player dies, the thing that killed him gets some tangible benefit, but that benefit does not have to come at the expense of the player.  And when a player overcomes, the beaten NPC faction actually experiences a disbenefit.  (The requisite mechanic in this is an intelligent NPC faction system, complete with strategy.  The quick and dirty solution would be to have a person decide global strategies for various factions based upon what has been occuring to NPC members of those factions.  That would be an enormously fun project to build the systems for such a thing.)

Right now, MMOs are experiencing growing pains.  They are in between “games” and “virtual worlds”.  As long as they are “games” posing as “virtual worlds” they won’t work.  As soon as they fit the “virtual world” notion, they will.  In fact, they will become an extention to real life, and cease to be a “game” found within real life.  Now that would be a fun project on which to work 🙂

Did any of that make solid sense?  I am still trying to wrap my mind around the whole thing, so I don’t claim it to be perfect.  I am sure it’s headed in the right direction though.

Changes in Other Industries – Common Thread

Over at CIO Insight, they have a video interview with Atti Riazi.  She’s evidently a big name in the advertising technology world.  Anyways, during the first 5 minutes of the interview she talks about how the advertising industry has changed.  She says she sees it as what amounts to a decentralization of power.  She points out that power has been devolved to the end user.  And, she sees it as a similar kind of change that happened when the mass production of the Model T enabled the masses to have a car- the view of cars changed from a luxury item to a means of commuting.

The point I’m wanting to focus is the decentralization part.  When an item or service goes from the domain of a select few to the domain of everyone, power has been decentralized.  And I would argue things in that area change drastically for the better.  In fact, one of the first examples Atti makes is that the best companies have or are changing from a top-down leader-led organization to one that honestly listens to even the “lowest employee on the ladder”- in effect, the “masses” in the company are empowered, or in other words company power is decentralized moreso than other companies.

Granted the assumption that decentralization of power is ideal may be open for debate, but I think it’s a safe assumption.  However, I will address it more in the future,  rest assured 😉

Strictly speaking, I did not have a goal of bringing this back around to game design, but I think the exercise of doing so would be valuable- and I think it’s not a forced connection.  Meaningful Player-generated content.  I think it could be one of those things that revolutionizes MMO virtual worlds, both in how they are approached from the development side, as well as how the general population views them.  Also, there is the obvious connection with the business decisions aspect of development studios, but since I’m not a pro at that part I don’t feel I have the right to comment.

Eve Online Dev Blog and Virtual Worlds

The following is taken from http://myeve.eve-online.com/devblog.asp?a=blog&bid=440.  It’s from the dev blog for Eve Online, and it’s a response to one of the most oft-submitted player feedback complaints/worries in response to changes in the latest game patch.

We are forcing you into low security and PVP!

Not at all. EVE is about freedom of choice. We simply provide the options, but reserve the right to deliver these options in context. This should also be more clear in what we addressed above, let’s see what the current changes do to the landscape and take it from there.

But is there PVP in low security? Absolutely. We entered an entirely different discussion about low security policing, and that we want it to be done by players. And we would reward them for it. A very reasonable sentiment was that “I don’t want to police, I don’t have the time” and so on. Perfectly understandable.

But here comes the thing. The policing is done by players and player organizations that want to play EVE that way. The ones that enjoy chasing down player pirates and providing havens where they benefit from having pilots basing their operations from.

For short. The beauty of the MMO is that there are so many tasks, so many corners of the universe, so many professions in there. You don’t have to be the police, but you can benefit from other players policing for you. The other people. Don’t forget them.

That is what I want to see more of in MMO virtual worlds.  The goal is to allow for play styles and allow for those play styles to be motivated by real, meaningful in-game motivators.

I say I want to see more of it, but in reality I am sure that’s what we will see more and more of in the future.  I believe it’s the rational, natural progression of the industry, though I would like to see it happen sooner rather than later.

I think Eve Online has done many things right.  They have tried to stick to making the tools to allow for a virtual world, rather than “making a game”.  And when I read the type of thing from the dev blog above, I am encouraged, both from a design perspective as well as a financial perspective- Crowd Control Productions is financial profitable and they are making a virtual world rather than a “game”.

Macroeconomic Terms, Game Design, and Strengths

I happened across a post by Shannon Appelcline over at www.skotos.net while looking for information on balancing a Collectible Card Game.  The post here evoked some thoughts, so I thought it only appropriate to push myself to put words to them.  I realize I may come across as critical, but I have decided to leave it as-is because I think there can be found the tenuous threads of a valuable train of thought here. 

Our field (video game design) is built upon capitalistic forces that encourage us to produce the newest sequel of a sequel, with the skins and graphics changed, but not the actual game play (see an opponent; shoot him).

I don’t agree with the capitalistic forces term.  Game Theory is the term that’s appropriate, heh heh, in more ways that one.  It’s the trying to figure out what other people are going to choose when you don’t really know and you don’t really have a reliable way of finding out.  In the simplest matrix described by Game Theory, each of the two competitors can choose from 2 different courses of action: go balls-out or go safe.

If what Shannon describes is accurate, then capitalistic forces tend to result in people taking the safe route.  I think, and I’m sure Shannon would agree, that different people react in different ways when presented with the “risky or safe” choice.  So it’s not really the capitalistic forces that change a person….

 See, here’s one of these misassignments of logic.  What we are talking about, these “capitalistic forces” is so very often interpreted as external forces, forces larger than onesself that one has little ability to combat.  In reality these “capitalistic forces” are macroeconomic term invented to help make sense of things on a global scale.  Used in this way we are speaking of emergent behavior, and the rules that describe an emergent behavior are not the same rules that ellicit that behavior.

The decision to “go risky or go safe” is up to the individual making the decision, and their decision is fully based upon how they value what it is they must decide upon.  Currently, the scales seem to tip in favor of the “safe” route, as many would attest.  Each individual decision is made weighing the percieved pros and cons as the decision-maker understands them.  The tendency to “go safe” is more indicative of a general cultural outlook on certain facets of the game industry than it is anything to do with “capitalism”, “socialism”, or otherwise.

There are certain personalities that are attracted to maintaining the status quo.  These traits are immensely valuable, and I think where there is lots of value/money/power, there you will find these personalities, sometimes in greater concentrations than lower-valued areas.  I think we all will acknowledge that risk-taker personalities don’t naturally mix well in these circles.  And seeing as the grand new gameplay mechanics come from risk-taker/visionary types, we need to simply accept it and embrace it.  The status-quo crowd has a remarkable ability to take a rough product and refine it.  They have a strength for that.  Great!  Let them do that.  In fact, let’s love ’em for that.  They’re the ones that make things look so slick, shiny, and user-friendly.

Let’s embrace the fact that the risk-taker, visionary game designer is simply not going to be cruisin’ in the high roller crowd, and this is simply due to where their strengths lie, not anything else.  Implicit is that they will be happier in such a position.  And here we find me concluding with exactly what Shannon ended with.  Consider this a parallel statement (hopefully in terms that evoke a further range of thoughts).

You can be a starving, independent designer, putting out innovative games that not too many people will see while living on Ramen noodles. Or, you can be a corporate drone, chunking out identical code for identical games during eternal 80-hour crunch weeks, but at the same time building up nice balances in your bank accounts and working in the industry you always wanted to be a part of. Or, you can be the sheep in wolf’s clothing, the innovator trying to work from within the big gaming houses, but constantly beset by disappointment when corporate refuses your newest good ideas.

There’s no good answer, there’s no bad answer, there’s just what makes you happy.

Elegant Solutions

Juice Analytics posted a synopsis of an article  on “Elegant Solutions” from the Change This web site.  Here’s a quote that sums up the “elegant solution” ideal:

Elegant solutions avoid the traps of: 1) Swinging for the fences; 2) Getting too clever — i.e. too many bells and whistles; 3) Solving problems frivolously.

…An elegant solution is one in which the optimal outcome is achieved with the minimal expenditure of effort and expense…[and is] is recognized by its juxtaposition of simplicity and power.”

It strikes me that game design, especially MMO and Virtual World design, has as its goal elegant solutions to everything.  The breakthroughs I experience in a challenging design problem are most often a result of asking things like “What are we already doing that has something to do with this system?  Can that already-existing sytem or mechanic be the solution to the problem at hand?  How can that already-existing system be extended to solve the problem at hand?  Let’s take a step back and restate what exactly we need to solve in this case.”

I think the best solutions are [nearly] categorically elegant in nature.  And besides, there’s something so very satisfying to creating an elegant solution.

Newbies, Tutorials, and Teaching the Game

I just read Sara Jensen’s post Teaching in the Newbie Experience.  It’s a must-read.

In short, nobody reads the tutorials.  Nobody reads the manual.  Nobody enjoys ambiguity in how things work.  Nobody enjoys stuff that doesn’t work the way they think it should work.

 I read either a forum post or a blog post recently that talked about some now-defunct MUD.  The author seemed to glorify how arcane, non-intuitive, and “brutal” the entire game was.  Also, in some old MMO post mortem, the author mentioned a design decision to require manual editing of a text config file in order to play the game, so that no “stupid people” could play it.

It’s been my experience that, like it or not, there is a slight superiority complex that very “computer people” can easily develop.  On occasion, or more often, I can’t be sure, this frustration with “the masses” at their inability to grasp the simplest of “logical computer concepts”, whatever they may be, squirts out in some aspect of the user interface.  Sometimes it’s a nod to some arcane old-school MUD (just like “literary nerds” drop references to obscure classic literature).  Other times it’s full-blown “normalized database-style” interfaces.

I don’t think it’s any different than how people in any specialized field feels toward “the masses” who continually mess up what seems quite self-evident.  So, that just means any and all game mechanics MUST be designed and revisted over and over and over again with the view of “make it stupid simple and make it stupid obvious how it works”.

Oh, and good job, Sara.  You said it better than I.