Double Buffered

A Programmer’s View of Game Design, Development, and Culture

Archive for the ‘Uncategorized’ Category

Heavy Rain: Thank You For Supporting Interactive Drama

Posted by Ben Zeigler on April 19, 2010

I started playing Heavy Rain at around 7pm on a Saturday a few weeks ago, and finished it at 1am Monday morning. The thing was damn compelling, though it’s certainly heavily flawed. The walking controls suck, a few of the voice actors were pretty painful (looking at you Lauren and Sean), and the aesthetic was uniformly European and foreign to the purported setting of quasi-Philadelphia. Which apparently has two non-white people total, unlike real world Philadelphia which is a majority minority city.

Why did Heavy Rain work for me? The key scenes for me came late in the game where I was being told, both by the game mechanics themselves and a driving character in the plot, to do things that my player character would never do. I only had a few seconds to make a decision, and damn if I didn’t start sweating a bit. I knew I wouldn’t be able to redo the decision if it turned out poorly, because the game makes it just difficult enough to restore old saves. In every thriller I’ve seen and games I’ve ever played the hero would have gone one way, but I was going to try the other, unexplored path.

That particular decision ended up being very satisfying, as I was able to solve a puzzle using some subtle clues, and I avoided a fairly horrible fate. The simple existence of those decisions, and several others, are why Heavy Rain succeeds as an extremely inventive form of truly interactive drama. Sure, it’s just a choose your own adventure book, but at least in my play through it was a very consistent, well thought out, and challenging one. It also has the best implementation I’ve seen so far of quick time events, as the analog nature of the inputs really helps bring across subtle details and draw you into the character’s motivations.

Heavy Rain really reminded me of why I disliked Uncharted 2 so much. Uncharted 2 put tons of effort into recreating the film experience (even doing full performance capturing) in real time, but what was the point? At no point were you able to influence the important actions of your characters. Uncharted 2 is two only loosely connected halves: a game and a movie. Frankly I’ve played better games and seen better movies. Heavy Rain on the other hand, really is the full merging of Game and Movie, because your choices are strongly informed by the narrative, and likewise dramatically influence it in return.

Posted in Game Design, Uncategorized | Leave a Comment »

DotA Allstars: Great Game, Horrible Players

Posted by Ben Zeigler on November 23, 2008

I’ve been playing a lot of Defense of the Ancients: Allstars (DotA) lately. It’s a Warcraft 3 mod, and is testament to the strength of the mod tools there, as two entirely new genres (Tower Defense is the other one) have spawned from Warcraft 3 mods. For those who haven’t played it, the best way to describe it is as a massively accelerated MMO. You control one hereo from top down, and you level him up to level 25 and purchase a variety of equipment. There are two sides of heroes, and each side also gets a constant stream of NPC Creeps that head towards the opposing base. The goal is to destroy the opposing base, so success depends on a combination of dealing with Creeps and dealign with other players.

It’s quite an interesting game. Because you have to deal with both other players AND the other side’s creeps, there are a lot of choices for character development. There is also a massive number of unique heroes, 93 as of right now. You may be thinking that it’s nearly impossible to balance that many heroes, and you’d be right, but almost every hero is interesting and fun to play. When you have two even sides, and everyone is working together on a team, it’s an absolutely exhilarating hour or so of gameplay. DotA at it’s best is some of the most fun I’ve had playing games.

The problem is that when you play online, this essentially never happens. I’ve never been as frustrated and disappointed with gamers as when I try to play DotA online with random people. First, in about 90% of games someone will drop out of the game before it’s over. About half of the time it’s due to lag/network issues, and about half of the time it’s someone ragequitting. The people who DON’T leave the game spend most of their time telling you in specific detail why you suck and should end your life. This is from teammates, not the other team. Oh, and 25% of the time, someone joins the game with the explicit purpose of throwing the game and making the opposing team win. Playing DotA online is a total crapshoot in terms of fun and emotional trauma.

So why is the DotA player base more bitter, angry, and mean towards each other than almost anywhere else? I think it comes down to DotA having the perfect storm of of problems, that all build on each other:

  1. Once someone leaves a DotA game, there is no way for anyone to rejoin. This is a limitation of the WC3 engine.
  2. Games last from 45 minutes to 1:30, which is a long time when people can’t rejoin
  3. There’s no penalty for leaving. Because DotA is a custom game, there’s no ranking that can be decreased when people leave, and no way to see how often they leave.
  4. It’s heavily team-based. The only way to do really well at DotA is to interact with your teammates, and a bad player can bring the team down.
  5. There’s no skill-based match making, so teams often consist of a random set of skills. This would normally not necessarily be a problem.
  6. Success is somewhat cumulative. There is a fair amount of self-balancing built into it, but if you start out doing well it can be difficult to recover.
  7. Players think that success is way more cumulative then it actually is. I’ve been in games where one team has recovered from being far behind. Despite this, as soon as it looks like they’re not explicitly winning the game, they will immediately quit.
  8. The item-upgrade system is fairly complicated. It is possible to make some bad choices in buying items, as it depends a lot on which character you have. As a consequence there are bitter wars over what the “best build” is, despite the system being complicated enough that there are many valid builds.
  9. As a consequence, if anyone on a team does anything that isn’t absolutely 100% perfect (according to what build that player thinks is right), most players will instantly mock them for it, almost always in as nasty a way as possible.
  10. As most people don’t like being called an idiot repeatedly, it’s very hard to learn anything, and new players will end up quitting or just ignoring the good advice of the small number of actually helpful people. Very quickly, everyone on a team hates everyone else on their team.

When you combine these, 95% of DotA games on the internet are painful, demeaning, and a waste of time. Perhaps Demigod or League of Legends can take the DotA concept and make it a fun, compelling online experience, but until then I strongly recommend that you only play DotA with friends. The fact that I keep trying to play it online by myself, while getting burned every time, says something about myself I think…

Posted in Game Culture, Game Design, Uncategorized | Tagged: , , , , , | 4 Comments »

Can EVE Evolve?

Posted by Ben Zeigler on October 5, 2008

Massively has an article about EVE Online’s server architecture and their plans for the future. The article is a great overview, and matches with notes I took from a GDC ’07 presentation CCP gave. I’m frankly impressed with CCP’s ability to get a max concurrent of 40k, but I really don’t think there’s much room left for improvement. Eve’s population is growing just slowly enough that the can keep up with it, but the fact that they’ve started putting in zone limits shows that even they realize this. Why does the EVE model work, and why can’t it go much farther?

First of all, they obviously have some solid programmers. Getting 40k concurrent on one database server is impressive, ESPECIALLY one based on SQL. My understanding is that they have some hardcore SQL programmers who write a lot of logic in higly optimized stored procedures. But, they still needed to buy a military-grade static ram hard drive to keep up, and I know they’ve been getting help from IBM and other companies to get performance as high as possible. So, database performance is stretched near breaking, but isn’t actually the current problem.

The problem is the performance on their application servers, or SOL servers. These are the ones that handle combat and all of the player interaction, and these have always been incredibly lagged. But, how are they able to get a few thousand people in a zone in the first place, without resorting to the client-side heavy method used by WoW (WoW does almost everything client side, which is why hacked servers are possible)? The answer is that it’s heavily optimized for automation. For instance, ship movement is not synced every frame, but is instead sent down only when players actually change parameters. In normal movement, the client solves complicated differential equations to predict the location, which works perfectly when you’re mining.

When does this model break down? It breaks down in the most complicated, hardest to optimize and yet most important part of the game: combat. During combat players are constantly changing movement and using powers, which kills all of their optimizations. I’m sure they’ve done work since launch, but interaction between players has always been deemphasized. From the GDC talk, I learned that the original version of combat in EVE was entirely deterministic, and it took a LOT of complaining from designers to make combat fun at all. So, the entire EVE architecture is designed to optimize highly parallel, noninteractive processes in the vein of a supercomputer. So how are they proposing they fix the performance problems with combat, which is the least parallel computing activity I know of?

As mentioned in the article, they want to fix this by… adding in a bunch of supercomputer features. The main thing they’re working on now is to set up Infiniband network connects to make it easier to swap processes between physical machines. I guess the idea is to split up the over-taxed zones between several physical machines, but this is going to be fiendishly complicated. My understanding is that large fleet battles include a large variety of connections between players, so splitting these up accross machines, even with a fast net connect, means that anything involving connections between players in different physical machines is going to be slow. They’re also going to have to rewrite a large chunk of their code.

Paralellizing multiplayer combat accross different processes and physical machines is an insanely complicated task, and I frankly don’t have much confidence that CCP will actually be able to do it effectively. I could be proven wrong, we’ll see if EVE is still having horrible combat performance problems in a year.

Posted in Game Development, Uncategorized | Tagged: , , , , | 6 Comments »

Why Subscription-Based MMOs Make Sense

Posted by Ben Zeigler on August 24, 2008

For the year or so, there’s always been discussion about how the charge-per-month scheme for MMOs is “broken” or “on the way out” or “dead“. For some reason, the consensus is that free-to-play or microtransaction-based schemes are far superior to subscription-based models (despite the success of WoW, City of Heroes, and many other games). There are two basic rationales for this position: The failure of subscription-based MMOs, and the success of alternative funding models in certain markets. Both of these need to be discussed before being used as “proof”.

So, why do high-budget western-focused subscription-based MMOs fail? People in the industry pretend this is mysterious, but it basically breaks down into two causes: mismatch of development cost to market target, and bad execution. For an example of the first one, you should look no farther than Vanguard. It was always a mystery to me why ANYONE thought that a game targeted at “people who thought Everquest was too easy” could ever be profitable. A similar mistake right now is to go for the market of “people who play World of Warcraft” with no other specifier. If you just go after the generic players of WoW, without having an idea of who those people are, you’re going to fail because of WoW’s market position. The other way to fail is clearly illustrated by Age of Conan. Age of Conan is focused on a valid market (based on the initial success), but the lack of depth and technical inadequacy is probably going to eventually hurt it. Even so, it will probably be a profitable game. It’s not really that hard to make money with a subscription game, but it IS hard to make money with a crappy subscription game.

Now, if the subscription model is so great, why doesn’t it work well in South Korea or other markets? I think it comes down to culture and different ideas of community. I’ve always felt that paying a subscription to an MMO is very much like paying dues to be a member of a club. The concept of country clubs, school clubs, and other private clubs are very common in the United States (and other UK-derived cultures), and MMOs feel the same to me. When you pay a montly fee, you feel more like you’re part of a community. The message boards of any active (or heck, inactive) mmo will illustrate this perfectly. These people feel very strongly they are part of a community, and that’s a huge part of why they come back every month and play. Also, the number of people who stop playing an MMO and don’t unsubscribe probably has something to do with the fact that they don’t want to leave the community, even though they don’t actively play. When it comes to free-to-play games, I feel a much weaker sense of community and commitment, and it’s more of just a “thing you do” instead of part of “who you are”. In general, Americans (and more often men) like to belong to explicitly defined social communities with strong rules (like fraternities or fraternal orders), and MMOs with a subscription fee are a natural extension of that.

My theory is that this is different in South Korea or other cultures. This is complete conjecture, but my general understanding of Korean MMO playing is that it’s more of an extension of existing communities, then a tool for creating a new community. Most players play together in the more-social PC Bangs, as opposed to alone and at home. Also, they may not be as used to paying monthly fees for club membership (no idea here, anyone have first hand experience?), so paying a monthly fee would have no social meaning, and would just be viewed as an expensive business transaction, and free-to-play or pay-for-use make a lot more sense than pay-for-month.

So, when does using a subscription model make sense for an MMO? It makes sense when you’re targeting a market segment that prefers discrete communities that are gated by a fee (ie, most Americans). Other business models make sense when targeting other players (more casual players, extensions of existing communities, non-western cultures), but when targeting what would be called the “western MMO audience”, you’re not going to find a model that works as well as subscription. Dungeon Runners is a good example of why free-to-play doesn’t work, because it appears that western players of Diablo games have no interest in microtransactions, but instead prefer to play Diablo 2 for free.

If you want a very clear comparison between subscription and other models for MMOs in the western market, look no farther than the NCSoft Quarterly Report. What do you think made NCSoft more money? 137,000 subscribers for City of Heroes/Villains, or 5.4 million users for Guild Wars? It turns out CoH made them $5.5 million this quarter, while Guild Wars made them $4.9 million. To make as much money with the Guild Wars model as with the City of Heroes model, you have to have more than 50x as many users, which means 50x the marketing, 50x the distribution costs, and 50x the support. This is not the way to make money in the Western market.

Posted in Game Development, MMO Design, Uncategorized | Tagged: , , , | 17 Comments »

Steam and Expansion Packs

Posted by Ben Zeigler on April 24, 2008

As I’ve mentioned before, I love the ease of use and community features of Steam. Valve and the publishers they get on there actually seem to WANT me to buy games from them, unlike brick and mortar publishers and other (non-Stardock) game download services. I just ran into a great example of that.

I’ve noticed lately that several of my Steam friends have been playing Civilization 4: Beyond the Sword. I picked up Civilization 4 a few years ago, and enjoyed it. I’d never purchased the Beyond the Sword expansion pack though, which I hear is quite good. I was on the edge between repurchasing the game via steam (because I can’t stand physical CDs), or just forgetting about it, when I noticed the note on the Beyond the Sword steam page: “Civilization IV: Beyond the Sword requires Sid Meier’s Civilization IV to play and will work with boxed retail versions as well as the Steam version.” Sure, that’s technically possible, but it seems so pro-consumer that I was just confused. Would it actually work to install the steam version over top my 2 year old copy protected and out of data copy of Civ 4?

Well, I installed Civ4, and then tried to buy the expansion pack (it failed before I installed Civ 4 which makes sense). It detected my copy, and let me buy the expansion pack. I am now installing a Steamified $20 expansion pack that also makes it so Civ4 doesn’t need the CD in the drive any more. I’ll uninstall my old copy of Civ 4, and tada, I have Civilization 4 and Beyond the Sword for Steam. I’m continually surprised when software actually works in the way I would want it to, but Steam does this enough that I’m in danger of starting to trust it…

Posted in Uncategorized | Tagged: , , , | 1 Comment »