It Never Ends

2007, October 20th 11:10 AM

So, remember how I indicated it was only a matter of time before I completely broke something?

There's a few people who are signing up to be notified about one thing or another. That's cool, because that's why I put those systems in, and I'm glad people are using them.

It occured to me, perhaps a bit late, that I should check to see how spammy those emails are considered. So I signed myself up on my gmail account and bam, straight into the spam folder.

Looking over the email carefully told me that it had failed gmail's SPF check. That has nothing to do with suntan and everything to do with spam prevention – it's a way for domains to specify where emails from that domain should be sent from. If mail473.gmail.com sends a mail from bob@gmail.com it's probably legit, but if some random IP in Russia sends an email from viagra@gmail.com it's probably not. SPF is a way of listing what servers can send mail from a domain. It's a good idea, and I completely forgot about it.

So, ten minutes of research and fiddling later, and I have a working SPF system set up. I try it again and . . .

. . . right into the spam folder. Fuck.

But at least this time it's listed as having a valid SPF check.

So I improve the email text also, and it still goes into the spam folder. I set it up so the Replyto address is the same as the From address, I set it up so that there's only one domain mentioned anywhere in the email . . .

. . . Oh well. I don't know how to convince gmail that I'm not spamming it. I guess, check your spam folder if you're subscribing to anything.

Edit: I posted this, then checked my Livejournal. It had two "comments" links, and one of them said that this entry had negative one comments. That's fixed now, I think. Bear with me. The launch will be a bit rocky. I swear I tested that before, really I did.

It's not the design, it's the details.

2007, October 19th 4:47 PM

It's honestly amazing how many little fiddly things show up when you start trying to do reasonable PR.

See, first off, I've submitted my game to the IGF – the Independent Games Festival. For those who don't yet know, it's called Devastation Net, and it's designed for a lot of players to blow each other up using tanks, played on a projector. It's nowhere near finished (it has no single-player capabilities, for example), but it's fun and is making huge progress.

However, this brings up a few more issues. The IGF requires a website (and, honestly, even if it didn't require one, I'd provide one.) In theory, people might visit this website from links. And that's cool. Visitors are good. Traffic is good. But this all means I need to finally unearth my company website and make it vaguely palatable. And that means, once I have that up, that I can't just let it rest. I have to post once in a while, otherwise it dies and there goes all the goodwill I've gathered.

And that means I need to make my dev journal functional, and I need to make sure the site and link structure stay sane so I can start accumulating pagerank and Google love, and hopefully draw more readers – which means a lot of fiddly server issues, like making sure that https://www.mandible.net and http://mandible.net not only both work but one actually redirects to the other so I can keep consistent single URLs. And it involves setting up some kind of 404 tracking so I can pin down future issues that might occur, and planning properly so I don't end up needing a new URL structure and wasting all the search-engine-fu I've built up, and blah blah blah oh god the pain.

In some ways having worked at Google helps in that I know what sort of things to watch out for ("someone help, all my google pagerank went away overnight! I mean all I did was move a few pages around and change the entire directory structure of my site, and also I installed a new content manager and completely changed all the content and the look, and I changed domains too and the old one is down because the server's crashed, but Google should somehow know that this happened and give me the same pagerank!") but it also makes things tougher because I really don't have any excuses if I fuck it up.

Oh well. Here goes. Let's see how many days it takes before I irrevocably break someone's links.

So. Hi. I'm Zorba. I'm starting a game studio named Mandible Games. I'm making a game called Devastation Net, which I'll be posting more about in the future. It's a pretty huge experiment, but it's what I want to do – so, here we are. Hope you enjoy reading.

Sometimes I feel like I spend all my time grumbling about badly-designed games. The reason for this is the unfortunately inevitable unavoidable Sturgeon's Law: 90% of anything is crap. And it's true. 90% of all games are crap, just like 90% of all movies are crap or 90% of all books are crap.

That's not to say all games are crap, of course. There are always gems, and there are companies which are absolutely brilliant at putting out consistent gems.

The two companies that impress me the most, that consistently release high-quality and polished products, are Blizzard and Valve. It's worth comparing them, because their design styles are very, very different.

Valve is one of the more interesting game companies out right now. They're possibly the youngest of the known-by-name game studio behemoths, as they date back merely to 1998. They also had a truly astonishing start, releasing Half-Life as their very first game to incredible reviews. From 2002 to 2005 they were involved in a complex legal battle over publishing, which they won, and much of Valve's games are now distributed over the Steam Network – an online distribution system, designed, written, and run by Valve, with over 200 games now available (the vast majority of which were not developed by Valve).

Blizzard is one of, if not the, most well-known game company in the world. It dates back as far as 1991, and its first hit (and its fifth release) was Warcraft. Blizzard, along with the ill-fated Westwood, is credited with essentially inventing the realtime strategy genre. Warcraft was turned into a franchise thanks to the rapid release of Warcraft II. Within a few years Blizzard had released Diablo and Starcraft, spawning another pair of successful franchises. Today they are undoubtably known best for World of Warcraft, the MMORPG with the most subscribers by a huge margin (an estimated factor of four over the second-largest, and approximately the same subscriber count as the entire rest of the MMORPG market added together.)

It's worth noting that Valve is actually the same age as Blizzard's youngest franchise, Starcraft – and is two years younger, if you count Starcraft as a Warcraft spinoff. Every single game released by Blizzard since 1998 has been a sequel, expansion pack, or spinoff. While Valve is best known and most concerned with their Half-Life series, they now also produce the Counter-Strike and Team Fortress serieses, as well as the standalone Day of Defeat. While all of these started as Half-Life mods, none of them are related to Half-Life in any way beyond the engine.

Blizzard succeeds for two major, extremely important reasons. Their games are carefully balanced, and they polish more than any other studio on the planet. While no modern games are bugfree on the day of release, Blizzard succeeds far better than any others do – their games are invariably smooth-running, functional, and fun, even version 1.0. World of Warcraft's original launch was probably the rockiest launch Blizzard has had in a decade, and despite being Blizzard's first MMORPG, with astronomically more success than Blizzard had ever expected, it was still the smoothest MMORPG launch in history up to that date. Think about what that says – despite abnormal stressful circumstances, they still did better than anyone else ever had.

On top of that, World of Warcraft is simply a well-built game. The interface, while not perfect, certainly takes long strides towards that state. Quests are easy to find, combat is simple to understand, leveling is not too difficult but also not too easy, both mistakes that other games have made. Blizzard has been very careful to ensure that there's always something for you to do – it learned many lessons with Diablo and Diablo II, which could be considered single-player MMORPGs, and those lessons have been well-applied. No matter where you are in the game, there's always one more quest, one more equipment upgrade, and for the majority of players there's also one more level.

Valve is a grittier company in some ways. They are often not as polished as Blizzard – while they're making great strides, they've had extremely rocky game launches. Half-Life 2, in many ways their flagship game, had quite a few curious bugs on release – to say nothing of the total repeated collapse of Steam under the load, making Half-Life 2 impossible to play and antagonizing a large number of gamers. (While World of Warcraft had similar issues, it's worth noting that WoW is actually an online game, while Half-Life 2 largely isn't. Despite this, Half-Life 2 required that Steam be running.) Their gameplay tends to be somewhat esoteric – it's quite possible in Half-Life games to get "stuck" and have to consult a walkthrough.

Valve does make truly beautiful games. They don't always push the bounds of technology too far, but their games always compare to the state-of-the-art favorably, at the very least. They are always pushing the bounds of what AI can achieve and pushing the bounds of plot and character development in video games. And those are bounds that aren't easy to push – they're stealing pages from movies, stealing pages from improvisation and theatre, and still ending up writing a good chunk of the book themselves. They're probably making the single biggest, most resource-intensive push towards Games As Interactive Fiction in the entire gaming world at the moment.

Most of what I've said here, with both companies, could be applied in reverse to the other company. Blizzard's games are always intuitive. Valve's games are not as polished. Blizzard does not make state-of-the-art beautiful games. Valve sometimes has interface issues. These are simple things.

But the most important, biggest difference, is that Blizzard fundamentally does not innovate. World of Warcraft does not have a single major original gameplay concept in it. Everything has been done before, often many times. Warcraft III has some mildly original gimmicks, but fundamentally Warcraft III is a clear successor to Warcraft II which is a clear successor to Warcraft I which, itself, is pretty much a direct knockoff of Dune 2, with obviously a lot of scenery changed. Blizzard polishes, and Blizzard balances, but if you go to the forefront of modern game research you won't find Blizzard anywhere near it.

(I want to make very clear that this is not an insult to Blizzard. Blizzard makes extremely, extremely good games. Saying that Blizzard does not innovate is a comment on the same level as saying that the Wii is, in terms of sheer performance and graphics quality, a rather anemic console. It's true, but it doesn't mean it's ineffective – it just means they've chosen a different development tactic.)

Meanwhile, Valve . . . well, Valve has just released Portal.

Portal is a curious, curious beast. It originated as a student project named Narbacular Drop (screenshot). You played as a princess who has been captured by a demon and placed within a sentient dungeon, who has the power to make connecting portals open on his walls. The dungeon joins forces with you to defeat the demon and escape.

I don't know the exact details on this, but I've heard that Narbacular Drop was demoed at an event that Gabe Newell attended. Gabe Newell is the co-founder and director of Valve. Apparently, he hired the Narbacular Drop team on the spot, and set them to work on a game titled simply Portal.

Portal is, needless to say, slightly more polished (screenshot). It is also probably one of the most novel and fun games in quite some time. Its gameplay, while absolutely headache-inducing (and motion-sickness-inducing), is extremely fun, and the plot development is nothing short of extraordinary for a game with such a minimal amount of character interaction. On top of that, it feels like more than just a portal puzzle game – many people are already declaring it one of the most satisfying game endings in years, and I'm one of them. The end of the game practically screams "we did this because it was awesome" – they were certainly under no requirement to, and nobody ever would have faulted them for providing a less perfect ending (or, in fact, even realized one was missing.) And yet, they went to the not-insignificant trouble to provide it. (I'm being intentionally vague in order to avoid giving away spoilers. Suffice to say, if you enjoy games, play this one.)

It's also worth mentioning that Portal – this bizarre half-sequel to a student game project – is not only placed in the Half-Life 2 universe, but is integrated with it to an extent where it seems it will have a lasting impact on that universe. This isn't just a standalone tech demo, this is being sold as a complete, albeit short, game – and a truly strange one.

And this is the other fundamental difference beween Blizzard and Valve. Blizzard polishes. Blizzard shines, and buffs, and makes sure every single surface is as smooth and friendly as humanly possible.

Valve sharpens. And then it goes back and draws graffiti.

I've been thinking deeply about ways to classify game studios (there's another entry on this in the future, I imagine) and one of the basic classifications I like is rather simple. "Are the people at this company writing games they want to play?"

I don't honestly know if Blizzard is. They make very good games, but they make lowest-common-denominator games. There are many, many people there, and it would not surprise me if many of them find WoW quite dull. Valve, though? I have absolutely no doubt that everyone on the Portal team was excited about finishing the game. The entire game absolutely exudes dedication and care, in a very different sense from World of Warcraft.

They're both great companies. They both make great games. And Blizzard gets more sales, and makes a truly frightening amount of profit. But I have to say, as someone who wants to see the newest and greatest in game design and concept, I'm always far more interested in whatever Valve is working on.

On good, evil, and reputation

2007, October 7th 7:33 PM

For some reason Fable and KOTOR's reputation systems keep coming up among my group of friends. I personally think those were an interesting try, but ultimately unsuccessful. The problem I have with them is that they come really close, but every once in a while the good/evil system kind of . . . breaks down.

The best example I have is with the beginning of Fable. My friend was playing at the time. There's a wife who tells you to go find her husband. If you find him then come back to tell her where he is, she'll give you a coin. Yay. So you go find him, and he's making out with another girl. He says if you don't tell anyone, he'll give you a coin.

Now, first off, the game is making the assumption that the husband is the bad guy. Second, the game is making the assumption that the husband doesn't deserve his privacy, because he's being the bad guy. I'd argue with both of those (or, at least, argue with it being an obvious assumption), but that's a moral position.

The big issue is that the game assumes your actions are motivated by the results for the participants, and not for cold hard cash. Well, my friend wanted the cash. So he promised he wouldn't tell the wife, and got a coin, and then promptly went and ratted the guy out, and got another coin. Amusingly, grabbing the first coin caused him to become more evil, but the second caused him to become more good – despite the fact that he was playing "I don't care who I hurt, I just want cashola".

The developer can't solve this problem. The only possible "solution" is to quiz the player, at every step, on why they're doing the thing that they're currently doing. And, as entertaining as the idea is, that's not really a solution.

The best fix to this is convenient, because it's actually practical, more realistic, and more interesting. Reputation shouldn't be a global number. It's not a single axis, where priests love you on one side and Hitler loves you on the other. Reputation is a personal thing and a group thing, but not a global thing. Luckily computers are now powerful enough that we can manage this without much trouble at all.

What should have happened is surprisingly simple. Let's assume, for the sake of argument, that the husband is a jerk and that the wife is really in the right. You promise the wife that you'll help her out, and she thinks slightly more of you. You promise the husband that you'll keep his secret, and he thinks a lot more of you. Now you go back and rat him out, the wife thinks a lot more of you (I presume you don't mention "oh yeah I took his money first), but once he finds out – well, the husband hates you.

Now add in communication. The husband probably talks to his friends. He might mention "that kid who ratted me out, after taking my money!" Now they won't like you as much. Now, the husband's friends are probably a bunch of lowlifes, since like attracts like. So now you've got all the scum disliking you. No problem here, right?

The wife is thankful that you helped out. She'll probably mention that to her friends. So now her friends like you a bit (and, incidentally, like the husband quite a lot less – we may as well be thorough here). No problem here either.

But when the two groups meet up and compare notes, if they in fact ever do, they might realize that, okay, so you did tell the truth – but you're also not to be trusted. And neither of them are going to appreciate that – the wife's side, or the husband's side. There's the proper penalty, and it's simply not a single axis.

This isn't even particularly hard to orchestrate. You can simulate it pretty easily by sending "knowledge packets" between characters. Husband knows "kid cannot be trusted", and that knowledge has a chance of duplicating itself every time someone with it interacts with someone else. Wife knows "kid helped me out", and that also has a chance of duplicating on each interaction. Give both of those infopackets some effect on how people think of you ("cannot be trusted" might actually be a good thing in some circles!) and then add in some broad strokes of who-talks-to-who – which can be very simple and vague, to the point of "people in this village tend to talk to each other and people tend to talk to their spouses" and still be effective – and you've got a system where things like that actually can hurt you later on.

Throw in a few ways to assemble text and you're golden. Player talks to NPC, asks for favor, NPC checks its databases and sees it doesn't like player. Why not? Randomly pick one of its reasons, weighted based on importance. "Well, I'd like to help you out, but I heard about {what you did to Jeffrey off in Smalltown} . . . and I just don't think I can trust you, can I?"

And remember, "kid can't be trusted" might endear you to some certain groups. You might have honorable thieves, sure, but it's entirely possible you could have dishonorable thieves too, who slap you on the back and buy you a drink if you tell the story of How I Got Two Coins Instead Of Just One (right before spiking your drink and stealing your wallet.) You can code this into them without too much trouble – just set it up so that "this person is low on trustworthiness to me" is a good thing. I imagine you'd have several major axes of opinion – "trustworthiness", "helpfulness", "power" – and certain people could easily react differently to each axis. In fact there's probably a fascinating research paper to figure out what major axes people actually think of each other on – in real life, the phrase "he's a nice guy, but he's just not very bright" shows up quite often, and that's just a simple example.

Is that cool? I think it's cool. And it neatly avoids trying to divide every action into "good" and "evil" – your actions will be important, not based on the nature of the action, but based on how the characters around you regard that action.