Friday, February 26, 2010

Avernum 6 For Windows Released

We have finally released Avernum 6, the final game in the Avernum saga, for Windows. The game has been a huge success for us on the Mac end, and we're very happy to finally have it available for all of our customers. If you like huge, Indie role-playing games with a retro flair, you could do worse than to check it out.

Having worked on this storyline for fifteen years now, it feels weird to bring it to an end. And liberating, too. I am making a whole new game world, game engine, etc., and I hope to blog about the ins and outs of that process plenty in the next year.

Edit: By the way, prior experience with the Avernum games is completely unnecessary to enjoy Avernum 6. I figured out early on that sequels should always provide easy entry for new players. Especially when they have a number as high as 6 after the name.

Thursday, February 25, 2010

The Awful Anti-Pirate System That Will Probably Work

So, when I read that Assassin's Creed 2 for the PC would fight piracy by requiring a live internet connection all the time when you were playing, I thought it was a joke. Sort of a dry, post-modern satire of the whole idea of DRM. Then I learned that, if your internet connection broke while playing it, the game would freeze. What's more, if the connection didn't return soon enough, the game would quit and your progress would be unsaved. This convinced me that the whole thing was a joke.

Then I learned, as explicitly confirmed by Ubisoft representatives, no. Not a joke. Not at all.

Of course, this is pretty harsh medicine, and the many reasons this set-up is hostile have been ably discussed. What if you have an inconsistent internet connection? What if servers ever go down? (Due to malfunction, bankruptcy, or no longer wanting to pay to maintain them.)

Also, you don't hold onto your saved games anymore. They do. This part is really significant. That's why the game needs the net connection all the time. It's not just for their amusement. The constant contact is necessary because your game is saved on their machine. Not yours. They are claiming that this is for your convenience, because then you can get at your saved games from any computer anywhere, but nobody is fooled.

But, in all the writing and bitching on the topic, everyone seems to be missing the most significant detail of this new system. Everyone always assumes that all DRM will be broken immediately and pirated versions will appear instantly and anti-hacker measures never work. But this system (and I know saying this will immediately get me written off as an idiot, but bear with me) is the one that will finally do a good enough job of holding off pirates. It won't hold them off forever (I think) but it will hold them long enough for the game to get its sales.

Here's why ... This is how hacking usually works. A game (or word processor, or operating system) is programmed to, say, check in at launch with the home server to make sure it's a legal copy. The hacker goes through the code and looks for that line of software and disables it. Snip. And the program is cracked and ready to be sent to the Torrents. This is a bit of a simplification, but it gets at the heart of the thing. Most hacking require disabling a small chunk of the program, and that is not hard.

But Assassin's Creed 2 is different. Remember, all of the code for saving and loading games (a significant feature, I'm sure you would agree) is tied into logging into a distant server and sending data back and forth. This vital and complex bit of code has been written from the ground up to require having the saved games live on a machine far away, with said machine being programmed to accept, save, and return the game data. This is a far more difficult problem for a hacker to circumvent. What are the options?

1. Make your own, free saved game server and alter the application code to use it.

This means a lot of work and expense, both to duplicate Ubisoft's game saving code and to set up and maintain the servers. Won't happen.

2. Trick the Ubisoft servers into believing you have a legit copy, so that they will let you save your game.

OK, the hackers will probably eventually come up with a keygen program. This is tricky, because the software that generates the keys will be in Ubisoft's hands, far from prying eyes. But they could possible do it, given a bit of time. But if they ever figure out you have a fake or duplicate key (and I bet they have their ways), poof. Your account and saved games disappear. I don't think this will work.

3. Hack the game to not need to save games on a remote server.

This means a hacker has to figure out the saved game format, somehow jam into the application new code to write the saved data and new code to read it, TEST IT, and get it to work. Doable. But it will take time, and I bet you'd get some bugs in the process.

So this will be a tough nut to crack.

Remember what it takes to get DRM to work. It doesn't have to be uncrackable. Nothing is. All it has to do is delay the hackers long enough for the game to get a couple months worth of sales. And by turning a key part of their game into a MMO ("We, like WoW, control the saved game, not you."), they have come up with a clever and brutal way to do just that.

But this will make everyone hate them.

Perhaps. Make no mistake. Ubisoft will lose customers and earn much nerdrage over this. But they are engaged in a grand experiment. They are seeing if an adequately pirate-proof game can make money. Will keeping cracked copies off the Torrents for a month make extra sales? And enough extra sales to make writing PC games worthwhile? Because the current system, where 90% of the copies out there are pirated and only megahits that could turn a profit on that 10%, doesn't seem to be working.

But it's an amazingly harsh system. As much as I hope for someone to come up with an anti-hacker measure that can reliably hold off the thieves for a few months without ticking the entire planet off (so that I can start using it), well, I wouldn't buy a game with the system Ubisoft is using. I really sympathize with what they're trying to do, and I can't join in with the (almost) unanimous chorus of rage. But this doesn't feel like the answer.

People might buy more copies of Assassin's Creed 2, but this is the sort of measure that can sour people on PC gaming as a whole. And that hurts everyone. Including me.

Edit: Thanks everyone for the comments! A couple responses.

Yes, of course there are solutions for making your own authentication server. But for the DRM to work, all it has to do is 1. delay the cracking, and 2. make it difficult/unreliable for the bulk of non-super-technically-apt gamers. Making people set up their own servers (on their own machines or not) is enough of a barrier to entry to get the job done.

Remember, I didn't say it was uncrackable, only that it was difficult/slow enough to give a profitable first few months.

As for the game making local copies of the saved games. IF this turns out to be the case, and IF the game also has easily accessible features in place for loading those saves (as opposed to only caching them there and only being able to load from the distant server), then yes, it's a dumb and easily crackable system. But even if this is the case, that doesn't change the fact that the next game to use this system will be slow to crack for the reasons given above, and all of the factors and consequences given above still apply.

Edit 2: One quick question for the "Anything can be cracked right away." crowd. Where do I get my cracked copy of World of Warcraft that can play the real game (not some cobbled together emulation server) without paying. Answer: You can't.

Once you accept the need for a constant internet connection, the developer can just load more and more of the game logic onto the servers. Right now, they're just trying it with saved games. (And who knows what else? Do any of us really know what the game is using that constant internet connection for?) But they can put more and more of the game onto their end until cracking the game will involve rewriting the damn thing.

Oh, and by the way, people accept their game needing a constant internet connection all the time. WoW. CounterStrike. Team Fortress. So saying people won't accept it for single player games is a bit of a stretch. They'll get used to it soon enough.

Edit 3: Wow. Main page Slashdot. The Escapist. All the hate is making my face burn. I've written a follow-up article, but I'm posting a squib from it now because I want to address the most common and fallacious point, that any system can easily be cracked:

"You want your very-difficult-to-crack DRM system? Here it is! Take all the statistics and scripts for creatures and items and weapons and put them on the server. The game only downloads them when it needs them. This is ten thousand scripts and bits of data, and it will take a long time for a cracker to get the game to download them so he can isolate and read them all and put them in his fake server/cracked game. And God help you if he missed an item. Don't just wave your hands and go, "Oh, someone could break that easy." This. Would. Work.

(And I bet Assassin's Creed 2 has some of this and they just haven't told us yet. Remember, it has to be using that constant net connection for something.)"

Thursday, February 18, 2010

Three Tips For Getting Started In the Indie Gaming Biz

As of about now, I have been writing and selling my fantasy role-playing games for a living for fifteen years. By the standards of this business, this makes me older than the stones and the dirt. When I started out, there wasn't a world wide web and I made all my money on a powerhouse called AOL. Also, you kids get off my lawn!

I get a lot of e-mails asking for advice for getting started in the business of writing and selling software. (And also e-mails saying how much my games inspired people when they were 13, and how they then grew up and started their own software companies. Thanks for reminding me how very, very old I am.) At this point, I think I am too fossilized in my ways to give much meaningful advice. I mean, when I started, you went to the mall to buy shareware demos on floppy disks, for God's sake!

But I do know a lot of things that are valuable, and some of them aren't instantly obvious. Over the next few posts, I'd like to summarize a few of them. A lot of this advice is helpful to anyone trying to start their own business, software or otherwise. Though my focus will be, of course, on software. Especially games.

1. You Need a Good Idea

So you want to sell something. Well, I want you to imagine something first. Think about your wallet, and the money in it. Think about the times when you pull out that wallet and actually hand over your credit card or cash for something. I'm willing to bet it's for something you really need or really want. You don't just do it for anything. You like your money, and you want to keep it. Unless you're rich, you are probably at least a little careful about the money you spend.

Well, when you're running your business, your job is to pry the credit card out of peoples' wallets. Again and again. Systems like Microsoft Points make the process a bit more abstract, making it a little easier to get people to buy your stuff, but, in the end, you have to convince people to give you money. And people like their money.

This means (and yes, I know this seems obvious but it's amazing how often people forget it) that whatever you are selling has to be pretty darn special. It has to be a good idea, well executed, and not competing against a ton of free competitors. And let me tell you something. That's a hard thing to come up with these days.

Have an idea for a tower defense game? Well, is it better than the (free) Desktop Tower Defense? Really? I bet it isn't. Want to sell a shooter on XBox Indie Games? Well, is it better than (free) Aegis Wing or ($1) I MAED A GAM3 W1TH Z0MB1ES 1N IT!!!1? If not, you have a real problem, and you haven't even written a line of code.

How do I make a living doing what I do? I write huge, involved RPGs with funky enemies and intricate storylines. Is it a huge amount of finicky and irritating work to make games like that? Yes. Am I ever tempted to write less involved casual-type puzzle games? Hell yes. But I make something that is relatively rare and you can't easily obtain on Kongregate for free. Thus, not only are people interested in my work, but I can charge a good price for it. Selling something scarce has its points.

Look real hard at your idea. Hunt the web and figure out how cheap the games you'll be competing with are. When you are sure you want to write a game (or graphics editor or genealogy program or random number generator or whatever) that can get people to hand out their credit card numbers, only then may you proceed.

2. Professional Work Requires Professional Tools

Another question I get asked from time to time is, "How can I find a free program to do [make art/write programs/whatever]." And my answer is always, "You DON'T!"

I know. You don't have much money. You can't afford Photoshop or whatever. But starting a business isn't free, and you need the best tools for the job.

If you are doing image editing, you need Photoshop. It's the standard format. There are plenty of resources for it. It is made to do what you need and do it well. Some people will recommend using GIMP, the free software alternative. But every time I try it, it's so horrible that my skin starts peeling off in sheets. Somehow, you need to acquire the real deal.

(Bonus ProTip: When naming your product, don't give it a name like GIMP. Excel is a excellent name for a spreadsheet program. PervTech and SodomPro are not as good.)

Similarly, if you are writing programs for Windows, you want to get some form of Visual Studio. Microsoft makes the operating system. They want you to use Visual Studio. Don't fight them. Using an off-brand alternative might work, but it will cost you time, and time is your most limited resource. Happily, if you want to write Mac software, the best development environment, XCode, costs zero dollars.

These programs are expensive, which hurts. There are ways to shave off the cost. You can get an older version on eBay, or luck into one on craigslist or somewhere used software is sold. If you're a student, you can get established with a much cheaper student version. (Of course, as long as you can get your hands on a recent report card, you can buy an educational version whether you're a student or not, but this is ethically dicey and not to be recommended. Eventually, you want to own your tools for reals.)

There are places where you can cut corners. This is not one of them. Your job is hard enough. Get the best possible resources to help you do it.

3. Take Care Of Yourself.

This is something to which not enough attention is paid.

At PAX two years ago, I attended a panel on running a small Indie game company. A lot of unhelpful advice was given, but I think the part that irritated me the most though was when everyone bragged about how few hours of sleep they got establishing their business, and how this should be considered the norm.

Let me say something here, and I don't want to put too fine a point on it.

You need sleep to live.

When you are working on your project, using your spare hours, scraping up every scrap of time to try to put everything together and get it out the door, you must take care of yourself. Doing otherwise is bad for your work. Program for an hour when you're half-awake, and I guarantee you'll make a mistake which will cost you two hours of debugging. This is what the cool kids call a false economy.

You should force yourself to get an acceptable amount of sleep. And it doesn't stop there. You'll be ingesting tons of caffeine. That's a standard thing. But maybe try to occasionally eat food with nutrients. You'll think better. Also, as soon as you can, invest in a chair with proper back support. Sure, you're young and you don't have an old, hurting back. But how do you think young backs turn into old backs?

I know. I sound like your mother. But writing a profitable product is difficult enough without compounding all your problems by being all HARDCORE. All laws of physics and biology still apply.

There. That was a start, and I hope it's helpful. I'll have more soon.

Edit: About using professional tools, I should point out that the important thing here is quality, not cost. For example, Microsoft's XNA game system is not an expensive thing, but it's a professional quality tool (for certain sorts of games). The important thing is to find the tool that will enable you to best use your time, because time is the most valuable commodity.