February 28, 2006

[Personal] Three Things... and Home Sick

There's an old adage that says there are three things you should never discuss in polite company: sex, politics or religion.

Well, let's see...I've discussed my religious beliefs and my misconceptions about other religions based off of anecdotal evidence and occasional discussions with fringe elements...my political affiliations and views...haven't mentioned anything about sex in this blog. Damn, I was hoping for the trifecta...

Anyway, I left work early today sick. Evidently, it's difficult to think clearly when you've got a fever of 101, and even more difficult to test.

So, I'm off to bed shortly to see if I can get my fever to break. Keep those posts coming. I haven't had this much discussion regarding posts of mine in a looooooong time, but please keep the discussion constructive. Brief posts that simply say, "You're wrong," don't exactly make reaching a consensus easy... Besides, short posts like that are so cliché.

[Gaming] What We Do Right And Wrong

I've been trying to think a bit lately about what we, as an industry, do right and wrong compared to other entertainment mediums.

We do a good job of having the information that parents need to make an informed decision about games available on the packaging. Only a parent that isn't looking is going to miss the big, black and white ratings markers with the content descriptors. The content descriptors work so well that the movie industry is using a similar system now, sometimes with hilarious results.

We do not do a good job of showing that adults play games, too, however. As a result, these same people who ignore the massive black and white stickers lambast "M"-rated titles for content that isn't targeted towards or intended for children.

We do a good job of building up demand for our AAA-titles. We do not do a good job of sustaining interest or demand in those titles, however.

We do a horrible job of estimating how long the average player is going to take to beat a game. Most places, when they quote gametime, seem to quote it for a player who goes and does literally everything in the game, rather than a shortest path course. Of course, the larger number is more impressive, but hardly accurate. As a result, most gamers tend to take any time estimate we give them and divide by two at a minimum.

We do a horrible job of staggering our releases. Every winter, we have days when three or four really high-profile games come out the same week or even the same day.

We do a good job overall of releasing stable products, but that image is overshadowed by the handful of releases per year that are excessively flawed.

We do a good job of getting information out to the community about what is going to be in the game, but a bad job of handling community-driven spin.

We do a good job as far as compensating our employees, which is good, because in general, the industry does a poor job of managing work/life balance.

We generally do a good job as far as having fun with our work. We generally do a poor job when it comes to scheduling our work.

We do a poor job of remembering that different countries have different ethical and moral boundaries. I can show a girl in a swimsuit in Europe and get a 7+. Same girl, same swimsuit in the U.S., and I might get a T or M rating. Likewise, I show a priest in a game in a humorous manner in the U.S., it's an E. Overseas, that could be a ban.

The entertainment industry as a whole does a poor job of balancing the rights of the consumer with the need to protect our products from piracy. There are some in this industry who are a bit too eager to call a customer who is having problems with anti-piracy technology a pirate.

I'm out of time, so what else do you see us doing right or wrong?

[Politics] Utah Senate 1, Utah House 0

The Utah Senate killed the "evolution" challenge. Now it's time for them to kill the "Games-as-Porn" bill.

February 26, 2006

[Review] Agatha Christie's "And Then There Were None"

A simple game, a simple haiku review:
multiple endings
do not matter if my wife
cannot complete one
In other words, if an intelligent women with a background of playing adventure games backed by a very straightforward walkthrough cannot complete your 90% linear game, there may be an issue.

[Testing] The "Quality Bar(s)"

One term that gets bandied about on a regular basis is the "quality bar." Technically, it means the level of quality that you are shooting for, but quite often the real question becomes what exactly the quality bar is. The plain truth of the matter is that the quality bar is not just one bar, but a collection of various metrics.

Let's go over some of the various quality bars that people may use to measure their project, and some examples of where each bar would lie.

"Stability Bar": Does the game function in such a way that the vast majority of people will never encounter a crash or data loss? Some games, like "Diablo," are at the high end of this bar. In fact, I've never had "Diablo" crash. Other games, like the original boxed release of "BattleCruiser 3000 A.D.," would fall on the low-end of this scale.

"Usability Bar": Does the game function in such a way that the average user is able to figure out what to do at a particular point in time? Does the game act predictably when the user makes his command? Just so I can compare two products from the same company, I'd put "Curse of Monkey Island" on the high-end of the usability scale (except for the ship combat portions), while I'd put "Grim Fandango" on the low-end.

"Appearance Bar": How does the game measure up to the visual concepts and promises made by the team? How does the game compare to other projects not only on the market, but coming out? Have you promised "3D Studio MAX"-render-quality and are delivering "Joe Bob's Stick Figure Theater?" ("Each one of those stick figures contains over 10,000 polygons and a full skeletal animation set..." "BUT THEY'RE STILL STICK FIGURES!!!")

"Playability Bar": Does the game provide the player with a set of interesting choices? Are there any times when the player is confused, frustrated or bored with the game? Is the game only completable if the player can hold "tea" and "no tea" at the same time? Does the game reset the progress on everything else you've done every time you complete an objective? Is your framerate acceptable?

"Consistency Bar": Does the world and the game feel like a continuous whole? If not, is there a compelling reason for it? "Psychonauts" pulled off discontinuity quite nicely, so there are times when it is acceptable to break this bar if it serves gameplay, but even in the midst of the discontinuity, there were still consistent elements to bridge the game together: the power and health icons, the base form of the censors, the luggage tags and luggage shapes, etc.

"Audio Bar": Does the word provide a compelling soundscape? Most of "Diablo II" had a very compelling soundscape...until you had a horde of those annoying little voodoo tiki dolls running around.

This is not an all-inclusive list. In fact, your project may have its own set of bars above and beyond this. If there's ever a question as to whether or not something meets the quality bar, sometimes it's helpful to step back and figure out which quality bar you're trying to meet first.

There may be times when an issue will face dueling bars. For example, you may find sound too low-fidelity in a section, but if you raise the audio fidelity, it causes framerates to drop to unacceptable levels.

Other times, you may find a bar dueling with itself. For example, you may find yourself torn between making a straight-forward solution to a puzzle so people won't get frustrated, or multiple less-obvious solutions so people will have a set of interesting choices.

So, what bars did I miss, besides the open bar? (Token joke for the marketing man who's been spamming the comments...)

February 25, 2006

[Testing] ZBB/ZBR

Well, this had better be my last post of the night. I've got to be at work in about 10 hours...

Back at Microsoft, we had six major milestones at the end of a project: code complete, go/no-go, content complete, ZBR, release candidates and gold master. Code complete is roughly equivalent to Alpha in most other companies, and Content complete is roughly equivalent to Beta.

ZBR stood for "Zero Bug Release," and it meant that there was no active bug in the database older than a short period of time (depending on the project, it ranged from 24 to 96 hours). It was intended to mean that not only had all older bugs have been handled (either fixed or triaged out of consideration), but that the bugs were also being fixed essentially in real-time as they were found.

After ZBR, there was always a brief period before release candidates started for "stabilization purposes." In other words, tons of additional bugs were usually found after ZBR had been hit, and the extra time was necessary to whittle those down to a release level. This bubble of additional bugs got to the point where we were nicknaming it the "Zero Bug Bounce" or ZBB.

So why is there a ZBB? Surely those bugs existed before ZBR. Most of them did. Some of the bugs come about as a result of the speedy bug fixes leading up to ZBR. A lot are just a result of the team being "used" to the way the program runs, but when ZBR hits, everyone goes into "last chance to find bugs" mode. It doesn't matter what it is, you want it found, reported, properly triaged and hopefully fixed.

So you down some extra Mountain Dew, stare at the monitor for a few hours, invariably end up entering some duplicates of some issues that were entered back around Milestone 2, and finally say you've found all you can. They get triaged or fixed, and then the Release Candidates come forth...

In other words, the ZBB doesn't come about as part of an inadequacy in the testing of your product, but instead as a result of the rush that comes from seeing the end in sight. ZBB is test's second wind, the last ounce of strength expended at the end of a marathon needed to reach the finish line.

[Edit: Fixed multiple typos and grammar errors. Why the Hell to I post at 12:30am?]

[Personal] The Vent Before The Build-Up

I'm honestly afraid of what my workweek readers are going to see when they check their RSS feeds on Monday. "What the Hell? Did Michael have a meltdown? He hardly posts at all in the last three months, and in one day, he posts from here to eternity?"

No, not melting down, just venting my pent-up energy so I can mentally prepare myself for beta on "SiN: Episodes."

Emotions always run at a breaking point during the final days of a product. People have been pouring their hearts into this game for a long time...for some, since the first game was released back in 1998.

These emotions will vent. There's no way around it. I try to vent here. I started this blog as an outlet. It's transformed over time to being a bit more than that, but it's still my outlet. I dump my emotions here so that when I'm sitting down, evaluating a problem, I have fewer mental distractions keeping me from a solution or a decision.

So far, it's been working. Since I've started this blog, my emotional state has been more balanced, and I've been able to go back over my own blog and see how my own views have changed and evolved over the years. I still see myself as a hotheaded asshole, but I don't hold onto as much anger and resentment as I used to.

Perhaps that's why people first started writing journals...the written word is a great way to solidify your emotions and feelings into a tangible form that you can leave behind. I've tried writing a journal before, but I've always been more comfortable with a keyboard than a pen.

The pen may be mightier than a sword, but a keyboard is a veritable army.

[Gaming, Personal] Silent Hill Interview

I'm really looking forward to the upcoming film adaptation of "Silent Hill." An interview with the director and composer of the film was posted on 1Up on Thursday, and I finally got a chance to read it today.

It's a great interview and it answered a lot of questions, but there was one line that rubbed me the wrong way for some reason...
We realized after two weeks in the writing process that Harry was actually motivated by feminine, almost maternal feelings. To be true to the character, it was very odd and difficult to write for him. He worked fine in the game, but for a real actor, it was too strange. It's not that he's effeminate, but he's acting like a woman. So if we wanted to keep the character, we would have to change other aspects of him'but it seemed like a mockery to keep a guy called Harry Mason and change everything about his character.
Harry didn't get a lot of extraneous character development in the original "Silent Hill," but he came across as a single parent. Some think he was acting as a mother...I think of him as acting as a concerned parent. I've heard it said that a father grows your head, while a mother grows your heart. While that's a bit behind the times, a single parent has to fulfill both roles.

So I've been trying to figure out why that quote rubbed me the wrong way. I know that when I play video games, I tend to prefer to play games that have female avatars. The reason? I'm much more protective of a female avatar than I am of a male avatar, and so I feel worse when something happens to that avatar.

However, the "Silent Hill" series is a bit different. I really enjoyed the first two games, tolerated the third and hated the fourth.

The first game had Harry searching for his missing daughter. The second game had James Sunderland searching for his wife...a woman who has been dead for some time. In both cases, the men were normal men searching for someone who really meant something to them.

The third game was a sequel to the first game (like "Quake IV" is a sequel to "Quake II"), and while all of the mechanics were there, Heather wasn't really searching for anything. She was just embedded in this universe because of her father's association with the first game. While I was protective of Heather, I didn't connect with her plight.

The fourth game was just too experimental. The "hero," Henry Townsend, had no real reason to be in Silent Hill. It was difficult to sympathize with a man who had a peephole into his neighbor's bedroom. Plus, the HUD broke immersion for me.

The "Silent Hill" series, at least for me, is about searching for what you have lost and redeeming yourself in the process. I pray that message comes across in the film.

[Testing] If You Could Do One Thing...

I received a very odd E-mail today from a producer at a company that shall not be named asking me a very odd question: If I could only do one thing to improve the quality of a product, without the ability to change anything else on a project, what would it be? He then started rattling off development methodologies, like Scrum, XP, Pair Programming, etc.,

Well, my response was pretty simple. I'd want at least some QA from day one, preferably from an experienced, technically adept tester.

Admittedly, that has a fairly hefty set of assumptions that go along with it. That's assuming that a bug threshold has been included in the milestone definitions. That's assuming that major severity bugs are being addressed during the development cycle and not just delayed to the end. That's assuming that QA is actually kept informed as to the design decisions that have been made.

The earlier that QA is brought on, the cheaper that QA is going to be in the long run, assuming that the problems are found and fixed close to when the flaw becomes apparent. If QA finds a major problem in the design phases, perfect. It's cheap to change paper. If QA find a major problem in the prototype phases, excellent. Code is still relatively cheap to swap out, and it could end up saving time at the end of the project. The later a problem is found, the more expensive it is to fix it.

One tester from day one can be worth ten testers at alpha.

[Testing] A Group of your Peers...

If you are now or ever have been a video game tester, there's now a virtual place you can go to hang out with your peers.

PlayThrough.net is a new site dedicated to video game quality assurance. If you have anything to share, or have any questions about game QA, go ahead and join in the discussion.

The site is small and just starting, but I figure if we make a visit or post between builds, we can help it grow.

Oh, and a bug. If you enter www. before the address, it doesn't work. While the ideal is to drop extraneous characters, users and browsers will both add the www. without a second thought.

[Politics] Public v. Private Face Part #2

The public face of Utah tries to show a respect for science. In fact, both Brigham Young University and the University of Utah have internationally respected science departments.

The private face: Evolution, meh, who needs it.

When 55% of Utah residents surveyed believe that evolution is questionable, does it really surprise us that these guys can't tell a pixel from a penis or a polygon from a firing gun?

[Politics] A Decent Start For A Ban List

Since the current censorcrats seem to think that games are so bad for children, I figured I'd give them a list of games that they can start with.

"Cowboys & Indians." How dare we allow our children to play a game that glamourizes the expansionist attitudes of our forefathers and the thoughtless genocide of many nations of native residents?

"Chess." A game that signifies the unprovoked assault of the Christian Crusaders against the Moors, thereby triggering many centuries of Islamic/Christian hatred? Whose idea of fun is that?

"Dress-Up." Nothing quite like attempting to optimize your outfit in an effort to attract a mate that screams "repression of women" in this enlightened, feminist age.

"Sorry." A game that encourages knocking down others and then making a faux apology? Hardly appropriate for modern, polite society.

"Monopoly." A game designed to teach people how to crowd others out of a market and eventually drive other hard-working players into bankruptcy and homelessness? Obscene.

"Clue." A game where not only can one of the players play a cold-blooded murderer, but he must hide his identity until found out rather than do the Christian thing and confess? Heinous.

"Backyard Croquet." A win-at-all-costs tournament of violence towards inanimate objects with mallets.

"Diplomacy." A game where the only way to win is to strategically lie. Is that a lesson you really want your children to learn?

"Baseball." Remember, kids, the only way to win is to do illegal steroids.

"Trivial Pursuit." The very nature of the game discriminates against the less-educated.

Now it's time for me to don my fireproof jacket.

[Politics] What I Want

A recent comment on this blog rightly called me on the table for a fairly insensitive and inaccurate remark on my side, but also brought into question what I really want for legislation in regards to gaming. It's pretty simple, really. I want games to be considered at the same level as other forms of entertainment.

Games, like the vast majority of entertainment, exist for the purpose of briefly escaping reality. Like a "Choose Your Own Adventure" book, the vast majority of games let gamers tell their own story through what they decide to do. However, because of advances in technology, we are able to create rulesets that allow a near-infinite number of choices for the player to take on.

Now, are there games that aren't appropriate for children? Yes. And just like movies and to a more limited extent music, we have a rating system in place to indicate what is not appropriate for children. While the ESRB rating system may be funded by the video game industry, just like the MPAA is funded by the motion picture industry, the people who create the ratings are everyday people. Hell, the two rating systems are near equivalents.

I can pick up a novel by Stephen King and within the span of 1,000 pages, read a tale of dismemberment, murder of children and adults, and pre-teen sexual relations. Of course, the first time I read it, I had gotten it off of the shelves at the school library.

I can go to the movie theater and watch massive explosions, simulated sexual intercourse, exploding heads, and more. Parents who wouldn't buy their kids "Doom" saw no problems taking their kids to the theater to see it.

I may be an outsider from a lot of communities. I didn't belong in Utah any more than I belong in Texas, or New York, or Japan or anywhere. But it doesn't take an outsider to see the hypocrisy here.

You want violence in media gone? Fine. You want sexuality in media gone? Fine. Go ahead and try to ban it, but it better be an all-or-nothing deal. After all, it's all okay if it can keep parents from having to do any actual "parenting."

February 24, 2006

[Gaming] Gib

Okay, I'm about to show the Dallas game community how much of an outsider I truly am.

I got into a twenty-minute discussion with Tom Mustaine today about the pronunciation of the word "gib." He pronounces it "jib," as in "giblets." I pronounce it "gib" with a hard "G", like it would rhyme with "glib."

Now, I'm already not allowed to say "I'm sorry" at the office. I have to say "Fuck You" instead. Today, he jokingly said that I wasn't allowed to pronounce "gib" like that anymore.

I told him, "Fuck you, I'll say 'gibs' how I want." (I'm still employed.)

Personally, I really don't think it matters how it's pronounced. "Gib" or "jib," it's still a frag.

[Politics] The Private Face vs. The Public Face

Today, I am glad that I am no longer a Utahn.

Many times while I lived in Utah, I had the wonderful misfortune to see the public face of Utah and the private face of Utah fight it out.

[Edit: Normally, I don't edit my posts, but after sleeping on it, I decided that the portion of my post that I had here was not only incorrect, but very discriminatory. I've removed that portion of my post as it not only has nothing to do with the topic at hand, but I fear that it leaving it would drive an additional wedge inbetween two communities that are already battling. Edit #2: Although based off of new information, I probably wasn't that far off...]

Today, the public face of Utah decided that as far as it was concerned, violent video games were the equivalent of porn. (See the text of HB257 here.)

Utah, a state so repressed that a tight, small bikini could be considered nudity per the existing text of Section 76-10-1201, has come up with a set of criteria for video games that almost any major action film would definitely hit, but is using that list for determining whether or not a game is porn.

The pertinent passage is fairly straightforward, but I'm going to bold the key word.
41 (b) "Harmful to minors" means that quality of any description or representation, in
42 whatsoever form, of inappropriate violence.
43 (5) "Inappropriate violence" means any description or representation, in any form, of
44 violence when it:
45 (a) is patently offensive to prevailing standards in the adult community as a whole with
46 respect to what is suitable material for minors;
47 (b) taken as a whole, does not have serious literary, artistic, political, or scientific value
48 for minors;
49 (c) is glamorized or gratuitous;
50 (d) is graphic violence used to shock or stimulate;
51 (e) is graphic violence that is not contextually relevant to the material;
52 (f) is so pervasive that it serves as the thread holding the plot of the material together;
53 (g) trivializes the serious nature of realistic violence;
54 (h) does not demonstrate the consequences or effects of realistic violence;
55 (i) uses brutal weapons designed to inflict the maximum amount of pain and damage;
56 (j) endorses or glorifies torture or excessive weaponry; or
57 (k) depicts lead characters who resort to violence freely.
63 [...](7) "Material":
64 (a) means anything printed or written or any picture, drawing, photograph, motion
65 picture, video, video game, or pictorial representation, or any statue or other figure, or any
66 recording or transcription, or any mechanical, chemical, or electrical reproduction, or anything
67 which is or may be used as a means of communication[.]

So, figure out what the deal is yet? The first hit is on line 56 up there. That "or" means that if anything in part five applies, it's considered "harmful for minors." Well, that rules out most video games. Most lead characters resort to some form of violence freely. Hell, Mario resorts to violence against animals on a regular basis. (Those poor turtles...) Heck, I consider football to be a fairly violent sport, with all the violent full-body tackles, facemasking, etc. May as well ban Madden while we're at it.

And while the public face of Utah is trying to show the world that it is a safe place for children, the private face of Utah is trying to capitalize on the very phenomenon they are trying to equate with porn. Avalanche Software, a division of Buena Vista Software (the entertainment software division of Disney), which was the main development house behind "25 To Life" is about ten blocks away from Temple Square. Take Two Interactive, the software publisher behind Rockstar Games and the "Grand Theft Auto" series, has a development house fifteen minutes from downtown Salt Lake City in the International Center. Singletrac Software was in the Greater Salt Lake area, and they're responsible for one of the most violent vehicular combat series in the history of video games.

Of course, their little backdoor move with the "or" also could potentially ban such classics as James Cameron's "Aliens" and pretty much the entire oeuvre of the current governor of California.

So, to the bishops in the Utah State Senate to whom this abberation of law has been passed for final passage, I only have one thing to say. D&C 121:37-39. Good day.

[Ritual] Sin: Episodes


That is all.

February 22, 2006

[Blogger] Vanishing Posts and Comments?

I've had some posts and comments mysteriously vanish from my posts over the last few weeks. I'm preparing to migrate to a new blogging system for this domain soon, but I won't do it until I get permalinks fixed. So in the meantime, please accept my apologies and if your comment gets deleted, go ahead and repost it.

Unless it's spam, I don't delete any comments.

[Development] The Dark Side Of Transparency

I like transparency. I like it when people can talk to me and I can tell them what I'm working on. I like it when I can share what I'm working on with people before it even comes out. I've participated in beta programs for versions of Windows dating back to the original Windows 98, development tool betas, game betas (obviously), hell, I've done it all.

As a result of my experiences, I have no problem whatsoever saying that probably 80% of what I've encountered as "beta" shouldn't really use that word. Calling them "alpha" would be generous. If there were characters farther to the left in the Greek alphabet, you might get close. Some were so far from beta, the Phoenecian alphabet might be considered more appropriate. In other words, I understand going into a beta what I'm getting myself into. I don't generally put beta software on production machines. I have backups of any mission-critical data. In other words, I practice safe computing.

However, there are some people who just don't get it. Chances are, people like this will never get it, and unfortunately, these guys are the dark side of transparency. I'm talking about kneejerk reactionaries. Let's look at a recent comment on "Blue's News" regarding the Quake 4 v1.1 BETA patch.

This patch is crap you cant play your recently saved games thats a load of bulshit plus its only a beta dont even instal this patch till the real thing comes out.

First off, id warns players that if they install the beta patch, their recent saved games won't work. They flat out tell it to you. He gets indignant about it. There may be valid technical reasons for this, and thus id is informing people ahead of time to stave off any major issues. Transparent, but the less-informed will jump to conclusions.

Second, he knows it's a beta! He flat out says that it is "only a beta" in his own James Joyce stream-of-consciousness style. Of course, he knows that it is a beta because id called it a beta in BIG CAPITAL LETTERS multiple times in the press release.

Kneejerk reactionaries can poison a community and can in severe cases lead to products that are weaker than they could potentially be because the people who are managing the community place too much emphasis on what they say. It's even harder to handle a reactionary like this because the more information you give him, the more ammunition you give him to throw back at you.

While transparency is better than obscurity, there are times when the reactionaries make me long for the days when developers didn't say anything until the product was released from their ivory towers...

February 14, 2006

[Gaming] Why I Can't Fault GTA

In game design, one of the holy grails is something called "emergent gameplay." Emergent gameplay is gameplay that wasn't designed, but instead emerged from the interaction of the various rules.

The "Grand Theft Auto" series is being held responsible for what can only be called a complete and utter excess of emergent gameplay.

"GTA" is back in the news after the Sex-Workers Outreach Project called on consumers to boycott the game because players get points for killing hookers. Now, I'm not going to address the fallacy that SWOP is operating under, but I am going to show how a few simple rules operating together can generate multiple and sometimes unexpected results. We'll start with the sandbox nature of the "GTA" games, and look at some rules that Rockstar could have integrated into their game.

Rule 1: NPC's have professions.

Rule 2: An NPC will have in their possession items related to that profession. (For example, a police officer will have a gun, a shopkeeper will have money, etc.)

Rule 3: Players can purchase items and services from NPC's. Doing so transfers funds from the player to the NPC in question.

Rule 4: NPC's can also purchase items and services from other NPC's. Doing so transfers funds from one NPC to another NPC.

Rule 5: The service that a player can purchase from a prostitute is a health refill.

Rule 6: Players can kill any NPC.

Rule 7: Killing NPC's raises a player's Wanted level.

Rule 8: NPC's with weapons will use them against a player that they see kill an NPC.

Rule 9: Killing an NPC causes that NPC to drop any items that they have on them.

So, let's see how what SWOP is complaining about came about. Prostitution is an NPC profession. (Rule #1) Prostitutes offer a service, so the only items that will be on them are funds. (Rule #2) Players will, through the course of the game, run low on health, most likely because of (Rule #8). If a prostitute is handy, a player can hire their services for a fill-up. (Rule #5) This transfers some funds from the player to the prostitute. (Rule #3) Finally, some players found that after using the services of the prostitute, you could kill the prostitute and get your money back. (Rule #6)

While the end result is not desirable by any stretch of the imagination, it's the end result of that chain of rules.

Likewise, if NPC's are constantly going into a restaurant and purchasing food from a clerk (Rule #4), that NPC would have more money at the end of the day than they would at the beginning of the day should (Rule #6) be invoked.

Of course, "GTA" isn't the only game to have emergent gameplay attached to it. "Quake" featured "rocket jumping," which was the result of two rules interacting: rockets created blast forces, and players were affected by those blast forces. Playing a game of "Monopoly" will often result in some heated sidebar discussions trying to swap properties for properties, etc. "Chess" has literally millions of potential game combinations, even though it only has a small set of pieces and potential movements for those pieces. Hell, even "Tic-Tac-Toe" has behaviors that emerge as a result of that most simple of rulesets.

We can never completely forecast what players are going to do with the rulesets we create. All we can do is make the rules. The player is the one ultimately responsible for deciding how he wants to play by those rules.

[Testing] Profiling Monotony

If there's anything more monotonous than having to do millisecond-level profiling and analysis by hand, I have yet to find it...
One small chunk of a 12-page spreadsheet filled with profiling data...

February 12, 2006

[Interviews] Handcuff Questions

I really hate interview questions like this.

Interview questions like this are commonly called "handcuff questions." By taking away a commonly expected ability, they expect the interviewee to really stretch themselves to come up with a solution.

However, there are really two types of questions like this. First, you've got the standard restriction types. Do things without using STL, with a limited memory footprint, using zero allocations, not allowing pointers, etc.

Then, you've got questions like the one linked to, where the most basic of basic language features are removed from access.

Here's a good comparison. The first type of question is like asking a carpenter to hand-chisel detail work on an end-table using only a small chisel and sandpaper. The second type of question is like asking the carpenter to hand-chisel detail work on an end-table using only a toothpick found on the floor of a urinal at a strip club and a "sanitary napkin."

There are places where handcuff questions are valuable exercises. The lower-level the coder is going to be working, the more appropriate they are, although on occasion, they can still cross the line into the realm of absurdity. ("Write a memory allocator in 256 instructions or less without using the jmp instruction.")

The main problem with a handcuff question is that most of the time, they aren't there to test the skills of the employee. They're there so that the interviewer can show off. "I'm able to pick the locks of my handcuff using only the wrapper from a stick of gum...can you do it?"

Trick questions like this can be handy in interviews, but before you spring one on an unsuspecting interviewee, make sure you know why you're going to spring it.

[Blog] Step One...

For those of you who visit rather than subscribe, don't mind the background. This is a simple step towards a unified experience between the blog and my home page.

This theme was the closest pre-made one to what I wanted, so I'm taking this one and modifying it until it turns into what I want.

However, you may not see any severe changes until "SiN: Episodes" goes gold. Just warning you ahead of time.

[Personal] Steps in the Right Direction

Well, it's taken four years, but as of February 20, my total debt (including my mortgage and unsecured debt) will finally be back below my annual income.

A lot of the choices I've made in my life, I've made because I didn't like being in a situation where my debt could crush me.

Every day, I see people who are crushed under their own debt. People who own large homes, large vehicles, state-of-the-art home theater systems, etc., but are constantly going to payday loan stores or pawn shops in an effort to make it from check to check. People who are a single check away from the street because of their choices.

To be honest, I've made some choices that could put me in a similar situation. Taking a 50% pay cut for 15 months hurt quite a bit. To make up for that time, I took a short-term debt consolidation loan last year so that I could reduce my debt more quickly, but I have to watch my spending much more closely as a result.

My overall goal is still to be done with my unsecured debt by the end of the year, and as long as nothing happens to me, that will be gone. Hopefully, my mortgage will be gone in April. Once I'm back to debt free, then I can focus on getting the house I want and the lifestyle I want...and I won't have to worry about being able to pay for it.

[Politics] Executive Consistency

Well, you have to say one thing about this administration. They shoot first and ask questions later.

February 11, 2006

Marketing & Testing :: Oil & Water? Yes and No...

Most people in testing have an inherent distrust of people in marketing. The job of testing is to find problems and report them to improve the product. The job of marketing is to hide problems and show the product in the best possible light.

Most testers dislike being pulled off of their testing duties to handle spurious marketing duties like creating screenshots and demonstration videos, and marketing tends to dislike having their feet held to the fire when QA shows that one or more of their promises will go unfulfilled.

In short, marketing and testing are destined to hate each other. However, if approached correctly, a testing department can pull a Scoble and really enhance the public's appreciation of a product. How is this possible? Simple. The two speak to two different markets. The marketing guys talk to the guys who believe marketing. The testers speak to the guys who don't.

It's like why you send a technician and a salesman on a sales call to meet with a manager and a tech. The salesman is there to close the sale. The technician is there to convince the other tech that it's a good idea.

So, how can you use QA to help with marketing? Follow these simple steps to success.

1. Make sure you have a winner. If your QA staff doesn't believe in the product, don't even bother using them for marketing. Signs that your QA staff may think they're working on a stinker: significantly higher than average sick days taken, repeated requests to transfer to different projects, claw marks on the sides of cubicles, multiple test leads in the span of a year quitting rather than continue to work on the project, etc.

2. Wait until alpha/code complete. This does two things. First, it gives your QA staff a chance to find out what's "cool" in the product. Second, it helps reduce the likelihood that a feature a QA guy is going to rave about is going to get cut.

3. Let them post about things that have been released publicly. You may not realize it, but your QA staff is most likely already regular visitors to message boards/forums/newsgroups/blogs that have spoken about your product. QA tends to use these resources to find out user concerns, get motivation for use cases and test cases, and for a bit of an ego boost to know that people are interested in what they are working on. Just ask them to limit their comments to positive comments about features that they like. Most testers browse these resources while they wait for builds to prop or for automated tests to run, so the time is already there. Why not harness it?

For an example, while I'm really excited about the dynamic difficulty system built into "SiN: Episodes," I'm more excited that the environments are believable. When I'm walking around the world, everything just seems to belong, and it's been a long time since I've played a first-person shooter like that.

4. Don't panic and don't overreact. On occasion, a bit too much information may get let out. Maybe it's about a feature that is related to a feature made public. Maybe it's something that hasn't been announced yet. In cases like that, don't panic. However, do speak with the tester who released the information and remind them that it isn't public yet.

For example, I recently posted about a feature that I thought was public. I saw one of my testers grab footage of the feature, saw the footage in the CES video, so I thought it was public knowledge. Turned out that I missed that the video cut away just prior to the footage that showed the feature I posted about. It was caught by our marketing man, pointed out to me, and I won't repeat that mistake again.

However, unless the leak is something extremely major, don't overreact. Overreacting will have two consequences. First, it's going to potentially cost you the services of a great tester. Second, it's going to reduce the likelihood that your test staff will continue to participate in a program like this.

5. Don't ask your testers to lie, "stretch the truth," etc. As I've said before, the most important characteristic of a tester is integrity. If you ask a tester to lie for you, one of two things will happen.

a) The tester will decline.
b) The tester will agree, but get caught.

The moment that one of your QA guys get caught in a lie in public, the game is over. Everything else that your QA guys have posted will be considered suspect.

The key for marketing is to "stay on message." The key for QA is to "tell the truth." When the two coincide, magic can happen.

February 10, 2006

[Disclaimer] The Standard Stuff

Anything published on this blog is my opinion.

It is not necessarily the opinion of my wife, her pets, my current, past or future employers, members of the game development community, other people in quality assurance, other human beings, other single or multi-celled organisms, certain mineral deposits, Donald Trump's toupee and other things that should never see the light of day, or air.

I say certain mineral deposits because I'm fairly certain that a couple of uranium ore deposits agree with me more often than not.

[Notice] Blog Template Changes Coming

This Sunday, the template I use for this blog is going to be undergoing some major changes. Just warning you ahead of time. For those of you (about 4,000) who visit this page, you may see some marked load-time improvements. For those of you who use the ATOM feed (about 250), you shouldn't notice much change at all.

[Testing] Stress

No, not stress testing, testing stress.

Stress is an unavoidable part of quality assurance if you're doing QA right. You're responsible for the end quality of the product, but you don't have any of the means to effect change beyond your bugs. Being responsible for something you really have no control over is always stress-inducing, but when that describes the entirety of your job, the stress can be overwhelming at times.

Every tester has different ways of handling the stresses involved in testing...some healthy, some not.

When I first started testing, the exhiliration of being in the games industry masked the stress enough that I didn't notice it. Around year two, whenever the stress got too much, I'd constantly mutter, "I'm gonna quit, I'm gonna quit, f*ck this job, etc." under my breath. By year three, that had involved into a biting sense of humor, with some dangerously sharp jokes in my arsenal. Year four, relaxing baths. Year five, the amount of stress finally outpaced my ability to handle it.

Of course, that was back at Microsoft. The studio I was in didn't seem to acknowledge that work/life balance is a key component in any job.

I'm in my seventh year in quality assurance now. I do my best to limit my overtime to reduce the amount of stress that I'm under. My office is filled with items that soothe my spirits. (I doubt they'd help anyone else, but they help me.) I spend a lot of time walking and listening to music to wash away the stress I've got.

Some days, like yesterday, the stresses of my job and life combined get to me, and I find myself reverting to some of my older techniques to try to further decompress. On other days, work goes so swimmingly that it reduces my stress for me. Regardless, stress management is one of the hardest parts of being in quality assurance (and the games industry as a whole), and everyone needs to handle their stress differently.

If you find that stress is getting the better of you, or if you exhibit multiple symptoms of stress, try to handle it as quickly as possible before nasty physical side effects sideline you.

Talk to your manager, talk to a psychologist, talk to you wife, talk to some stranger sitting next to you on the bus or train, blog about it to the world. The important thing is to talk it out, because stress can only damage you for as long as you keep it inside.

February 9, 2006

[Humor] Typical Conversation

Just to give you an idea about the typical conversation I have with my wife, here's one from tonight.

She's on the couch playing Solitaire on her laptop. I'm watching Chuck Norris read the top Chuck Norris facts on MSN Video.

The silence is deafening, so I tell her, "Oh, yeah, Sunday is Charles Darwin's birthday. If he were alive, he'd be 197."

She says, "Yeah?"

I say, "Yeah. Of course, if he were alive, people would be pointing at him while he walked down the street and screaming, 'AAAARRGH! WALKING ZOMBIE! AAAARRGH!'"

I'm glad I found someone who could tolerate my sense of humor.

[Testing] QA and Integrity

This week, someone asked me what I thought the most important characteristic of a tester was. The choice of words made me think.

I mean, I'm always asked what skills are important for testers, so that answer just rolls off the tongue: attention to detail, excellent memory, grasp of the English language.

So I started thinking about what characteristics I look for in testers. "Slightly sadomasochistic" nearly came out, but it wouldn't make sense to anyone who hasn't been in QA. I finally answered, "Honesty and Integrity."

It may sound odd, but in the end, that's really all that QA has to fall back on. Anything that damages a tester's integrity damages his effectiveness in a QA department. If I don't trust a tester to test his area completely, I'll assign backup testers to that area and as a result, something else won't be tested. If developers don't trust a tester, bugs from that tester will get less attention, and real bugs will slip out.

Most people consider the source of the information in addition to the information itself when deciding what to do. For example, I was provided information recently that said that Florida attorney Jack Thompson led a secret double-life as a transvestite hooker named "Flora." However, I doubt the accuracy of this information because I don't trust the person who provided it. If I trusted the person, who knows? Maybe I'd be trying to set up Marv Albert and Jack. They'd make a lovely couple...

When a person damages their integrity too much, eventually nobody will listen to them. In the tech industry, this is referred to as "flipping the Bozo bit."

Unfortunately for testers, the "Bozo bit" is usually the kill-switch for their careers. Yet another reason why testers have an average shelf life of 5 months in this industry...

February 7, 2006

[Politics] The Reason Behind "The Worst Game"

GamePolitics linked to one of my posts this morning, and I wanted to explain my motivations behind doing that post.

First off, I wanted to demonstrate how something that the vast majority of Americans see with little to no ill-will could be shown as essentially a force of evil by using carefully selected data points and taking those data points out of context.

Second, I felt that as game developers, we have been on the defensive for too long. We're in the middle of a culture war. We're holding a mirror up to society, and society is attacking the mirror like a bird that doesn't recognize its own reflection. If we are to win this battle, we need to go on the offensive.

While the general consensus in the gaming community is that if we wait for the gamers of yesterday to turn into the decision-makers of tomorrow that the problem will go away, our opposition is out there every day making ill-informed and poorly thought out arguments that on the surface sound logical, even though the arguments have more holes in them than a sieve.

So, I thought what better way to go on the offensive than to start out exactly like our opposition and attack one of their sacred cows?

February 6, 2006

[Politics] The Worst Game

I want to talk about one of the most violent games out there right now, and what our government is doing about it. See if you can guess what game it is before the end of the article, and before visiting any of the links.

Fans of this game tend to follow bizarre rituals and wear odd costumes in an attempt to feel closer to the game. However, this behavior seems to be considered socially acceptable.

Over 20% of the people behind this game have been accused of committing a crime. It is unknown what percentage of those actually have criminal records.

Two years ago, West Coast fans of this game rioted. At least 80 people were arrested in a single evening as a result of their behavior.

Each year, almost 186,000 children aged 5-14 required treatment in the emergency room because they were emulating what they saw in the game.

Recent Congressional hearings led to nothing but rave reviews for this game, however. This is undoubtedly because of the large amount of tax revenue that these companies bring to the table.

Three of the companies associated with this game are valued at over $1 billion.

In fact, in spite of the spate of anti-social behavior and injurious acts associated with this game, local and state governments are falling over themselves trying to give the companies behind this and similar games exactly what they want, even seizing private property for them in some instances.

Guess what game I'm talking about.

February 5, 2006

[WoW] Open Guild Invite

This should be my final World of Warcraft post here.

World of Warcraft has devoured my soul. I was fully intent on getting my Doom 3 mod, Moonbase Assault, to alpha this weekend, and instead of coding, I spent almost every waking moment playing WoW. When my realm went down for maintenance, I went and watched this week's episode of Mythbusters, and then came back and played for a bit.

So, if you want to play with me, I'm on the Kael'Thas server. My character's name is Nekomenchi, and I'm a general in Clan Forsaken.

Come and play, but check your soul at the door.

[Comics] Sluggy Freelance and Stuff

Bun-Bun is back. Let the mayhem begin. That is all I have to say about that.

I'm almost done updating the Comics Page on my web site, RomSteady.net. Hopefully, that will be done by Wednesday and up.

February 4, 2006

Risks You Shouldn't Take

Game development is all about risk. Risk too little, and you come across as a "clone" or "uninspired." Risk too much, and you come across as "unclassifiable" or "unlearnable."

There are lots of areas in game development where you can take risks, but there is one area that you shouldn't take any risks whatsoever, and that's your main menu. You can have the most amazing game ever, but if your customer can't get to it, you're screwed regardless.

I bring this up because I'm about to slam a game that I love dearly, Psychonauts. For those of you who haven't played it (and given the sales figures, it's probably most of you), the game starts with the standard console splash-screen with a brain in the background with "Psychonauts" plastered on the side and the text at the bottom reading "Press START To Begin." So far, so good.

The player presses START, and there's Razputin (who you can't see because of the color scheme used for the parallax background) standing atop the same brain from the splash screen. At this point, the player is expected to know that Raz is under his control, and is expected to find the doors on the rear of the brain, navigate to the correct door, and press the A button.

I'm a hardcore gamer, and I was able to figure it out in no time. I tried introducing it to one of my neighbors down here. He spent five minutes trying to figure out what to do.

Five minutes...and he didn't even get past the main menu.

Once I got him past the main menu, he loved the game. The HUD elements are gradually introduced, the control scheme works well, everything else works wonderfully...

...but that main menu ensured he will never purchase a copy of the game.

February 2, 2006

Console Hardware Methodology

Recently, I've been trying to figure out the different design approaches used by the three major console manufacturers to see if I could figure out what led each team to make the decisions that they made. I think I finally have a decent idea about it, and it also explains the goals of each first-party developer as well.

Microsoft's Xbox and Xbox 360 are hardware designed by software engineers for software engineers. Both are based off of familiar processors and hardware, have little in the way of limitations as far as what you can do with each piece of hardware (each core has full access to the full memory range in the 360, etc.), and their design has been very evolutionary.

The first Xbox was the console equivalent of Windows 3.1, in that it worked well enough to be a success, but had some severe limitations. So, they added in Xbox Live, which essentially added the equivalent of WinSock and Win32s. Xbox 360 is the equivalent leap from Win3.1/Win32s to Windows 95. A lot of the headaches developers had with the original Xbox (digitally signing saved games, polling Xbox Live, etc.) are just automatically handled for them by the Xbox 360.

Sony's PlayStation 2 and PlayStation 3 are hardware designed by hardware engineers for software engineers. In other words, a severe amount of power, but you have to jump through hoops to get to it. A good analogy would be DOS and a super-powered version of Glide. Each core is very powerful, but the smaller cores only have access to 256Kb of memory each, so the primary core's going to be spending a lot of time DMA'ing memory to/from each core's RAM and scheduling threads. In other words, the hardware guys thought about thread contention issues, etc., and decided to handle that problem in hardware instead of software.

Sony's software engineers look at the hardware, and then an edict from their business people that says that they can't be called a video game system for tax reasons, so they have to find a way to make it be a "computer entertainment system" instead. They quickly say, "You know what? We'll give you basic functionality. Anything else you want, write it yourself." (Hence no online strategy for PS2...)

Nintendo's hardware has been hardware designed by a game designer for a specific subset of games. Basically, the equivalent of a Capcom CPS-style arcade cabinet. Miyamoto-sama comes down from on high and says, "I wish to make a game involving swinging about a wand. Give me hardware to make this vision a reality," and since everything Miyamoto touches turns to gold, Nintendo tasks their design Oompa-Loompa's to create hardware for his vision.

These philosophical differences between the companies also show in how they handle their first-party development houses.

Microsoft aims to treat their first-party studios as third-party studios in an effort to recover additional funds. After all, each sale of a first-party title recovers as much funds as a sale of two third-party titles as far as making up the loss on the console.

Sony aims to create essentially visually-impressive demos with their first-party studios. They want to show off the capabilities of their hardware, so they invest a lot of money making games that they hope will garner critical acclaim but often will not sell a significant amount of units.

Nintendo aims for their first-party developers to support the cost of their hardware. While they'd like third-party developers to write for their console, they know that as long as they provide their internal development staff with the hardware that they want, they'll continue to make money. The moment one of their internal developers stops making them money (Virtual Boy, anyone?), they throw them to the wolves.

Anyway, it's thoughts like this that keep me up at night.