Thursday, June 23, 2011
Our First Game Is Out For the iPad. Hooray!
Last week, Avadon: The Black Fortress HD for the iPad went live in the iTunes App Store. The reaction to it so far has left us stunned. Literally. Like, jaws dropped, walking around in a daze.
The genesis of the iPad version was a few months ago, when I said, "Hmmm. I have a few weeks free on my schedule. I think I'll port Avadon to the iPad. That'll be good for a laugh!" I've long known that there was a demand on the device for old school gaming, free of ads, in-game purchases, cute animals, zombies, and farming.
But, it turns out, the demand was far greater than I'd ever guessed. My fan mail since the release has been very instructive. Gamers weren't just disappointed by the lack of deeper games on the device. They were downright irked.
But that is the Magic Power of the Indie developer. Find an underserved market and serve it.
Writing and releasing my first device for iOS has been very instructive. In case anyone is interested, here's a few comments on Spiderweb Software's first game for portables.
Learning To Code For a New Platform.
Apple has done an amazing job of making developing for iPhones and iPads accessible. The sets of commands to program the device (i.e. the API, called Cocoa) are very clear and not too trying to learn. The development environment, XCode, is free. There are several good, free game engines for the devices. (I used a heavily modified version of the open source engine iPTK.)
There are also excellent books available on the topic. I leaned most heavily on Beginning iPhone 4 Development. I found iPad Application Development For Dummies to be unusually poor for a Dummies book, but its chapter on Provisioning (a tricky, vital, and neglected topic) is easily worth the cost of the book.
A Decent Port. But Just Decent.
Avadon originally came out for Windows and Mac. I was really determined not to half-ass the port to the iPad. I put a lot of thought into how to best adapt an old school, Western-style RPG to a touch screen. It's not something people have spent a lot of time doing. I think I came up with good answers to a lot of the questions, and the game overall plays really well.
However, there are a number of places where the UI could be better. This isn't because I was lazy or wanted to dump shoddy work on the market, but simply because this was my first iOS application. So have mercy. Our next game for the iPad (out, let's say, next April) will be better. It'll take some doing to modify the engine, but it'll get done.
Avadon HD is also a fairly demanding app. All of those icons eat up RAM, and the first generation iPad doesn't have a lot. It's playable, but it will be pokey from time to time. It runs great on the iPad 2, but I don't take a lot of satisfaction in that. The inconsistent performance on the iPad 1 is, simply, a failing on my part.
The Apple Approval Process.
Took a week to get my app approved. No rejections. No hassles. No complaints.
The Eternal Pain of Pricing.
It hasn't all been love and group hugs. Some of my fans have been seriously furious that we sell Avadon for Mac and Windows for $25 and the iPad version is $10. Like, "I will never be your customer again. Die in a fire." furious. I don't normally explain my decisions about pricing, but this merits a few words.
The same game is almost always priced differently on different devices. If you look at the prices charged for, say, Peggle, Plants vs. Zombies, or Angry Birds on different platforms, you'll find a huge variety. Angry Birds on the iPhone? One dollar. On the Macintosh? Five dollars. That's a five times difference!
There are a variety of reasons, all of them out of my control, for why I feel it is appropriate to charge less for the iPad version:
1. It has fewer features, due to the limitations of the device. Most notably, it is stuck at 1024x768 resolution and there are no keyboard shortcuts.
2. Since it is being sold by Apple, it is subject to the rules of their system. Most notably, there is DRM, and we can't give refunds through iTunes. Games bought directly from Spiderweb have no DRM and a Money Back Guarantee.
3. When you buy Mac/PC Avadon from us, you get a registration key that can be used to unlock an unlimited number of copies, over both Mac and Windows. A registration over iTunes isn't quite so liberal.
4. There is no ability to mod the game. This matters to more people than you might think.
But the main reason Avadon HD is $10 is, to be honest, that is the only possible price. Any more expensive, and it will cost way too much for an app. Any cheaper, and we're charging too little for what is still an old school niche product with a limited audience. If you try to look at it from our perspective, I think you will see that we didn't have a lot of options here.
One More Disappointment.
We are going to release all of our new games on the iPad. No question.
However, we currently have no plans to write games for the iPhone. After long thought, I came to realize that we just can't figure out how to write the sort of in-depth games we like to do on that screen size. Again, this is a failing on our part. I'm sure some intrepid developer will find a way to make it work. (Hear that, young Indies? That is the siren song of a market for you, all wrapped up with a big, red bow.)
Also, since most Android devices don't have a screen big enough to support our games, we are very unsure how soon we'll be supporting that platform. We are in wait-and-see mode.
Thank You.
And finally, many thanks to everyone who reads this who has supported our games. At the end of the day, I'm just a guy in a basement trying to earn a living and feed the kids. I am grateful for every sale. Plus, they make it possible for me to write more games. Lord knows, by this point, I'm too old and cranky to learn how to do real work.
Soon, we will release the first screenshots and information for Avernum: Escape From the Pit. For Windows and Macintosh. And the iPad!
Thursday, June 16, 2011
The Ultimate Fix Your Broken Game Checklist.
(This is the third of three articles about providing tech support as a small business. The previous chapters are here and here.)
I get two sorts of requests for tech support for my games. First, there's the familiar problems, the things that are my fault or that I know how to fix. I love these. I tell the victims how to get out from under their burden, they get on with their lives (dazed that an actual human read and processed their request for help), and everyone is happy.
And then there are the gremlins. The weird problems. The sorts of issues that are reported by exactly one person out of many thousands. Problems whose cause and fix are a total mystery. These are, alas, most of the problems reported to me. Most of these problems will be caused by incompatible software, hard drive corruptions, wonky graphics cards, or free-floating evil spirit manifestations. Sadly, as the hardware industry seeks out ways to cut corners and make computers ever cheaper, these sorts of afflictions only grow more common.
(Of course, some people say that every problem with a game, ever, is the result of the programmer's sloppiness and error. As if video cards never break and Windows is a flawless piece of software. These people want you to spend limitless time chasing bugs that don't exist. For a sample of this line of thinking, read the comments for my last post. While I acknowledge that some problems end up my fault, wasting energy trying to fix problems you didn't cause and can't fix is a Bad Thing.)
When I get one of these weird problems, I send out a standard list of troubleshooting steps. I have spent years assembling and perfecting it, and it honestly fixes the vast majority of problems. If you are a small developer, I invite you to steal and adapt it. If you are suffering from misbehaving software, I suggest trying these steps. At the risk of sounding slightly arrogant, if everyone would just drop everything, listen to what I have to say, and follow it without question, the world would be a much better place.
Spiderweb Software Tech Support Checklist
1. Restart your machine and try the game again. Run the game when no other applications are running. A lot of glitches and crashes are one-time things and don't happen again.
1. Restart your machine and try the game again. Run the game when no other applications are running. A lot of glitches and crashes are one-time things and don't happen again.
When someone runs one of my games, it is far from the only moving part in their system. There is the OS. The drivers. The many background processes. The other programs that are running. Any one of these programs might have a bug that messes up sections of memory. (Not to mention the fact that RAM can be corrupted on its own.) The longer a computer runs without a reboot, the more likely that things might get messed up. Then the system goes down and comes back up, and everything is nice and clean again.
Most problems only happen once, due to weird and unreproducible effects, and never happen again. If you get a crash, don't immediately freak out. Take a deep breath, reboot your machine, and try again.
2. Sometimes, game files can become corrupted. Try uninstalling, redownloading and reinstalling the game. This fixes a surprising number of odd problems.
The key step. Any program can become corrupted while being downloaded, installed, or just existing on the hard drive. This step is a surefire way to fix any such flaws. I am constantly amazed by how often I can fix a catastrophic, recurring problem by simply telling the user to uninstall and reinstall. No other mucking about with settings, saved games, or whatever.
This step also has the bonus of making sure the user has the newest version of the software.
One warning note. This step has three parts. Uninstall. Download clean copy. Reinstall. Be sure the user doesn't skip a step, or the beneficial effects are lost. For example, if you install without uninstalling first, the installer might leave the existing (corrupted) files alone instead of copying over them.
3. (Windows Users) Your video card driver files might be out of date or damaged. Get the latest versions of video card drivers and reinstall them. Even if you are currently running the newest version, the files or settings might be corrupted or damaged. Reinstalling might fix the problem.
I always hate telling users to install new drivers, for two reasons. First, they often think that I'm just doing it to blow them off. After all, this is what ALL developers tell them to do. Second, unlike the previous steps, identifying your video card, finding the manufacturer's web site, locating the newest driver, downloading it, and installing it requires a reasonable amount of technical skill. Odds are, your grandmother won't be able to figure out how to reinstall drivers.
And yet, I tell people to do it for one reason. It works. Weird, glitchy graphics? This is probably the answer. If new drivers don't do it, a flaw in the actual video card is probably the answer.
Lately, many of my users running 64-bit Windows 7 have had tons of problems that were solved completely by getting the new drivers. Several of them swore up and down that they were using the newest drivers. They weren't.
I strongly believe that the ugly situation with video cards and drivers is one of the key reasons for the huge shift in gaming from PCs to consoles. It's really not good.
4. (Windows users.) If random crashes happen during gameplay, try turning the sound off. If this helps, reinstall your sound card drivers too.
We're getting to the bottom of the barrel now, and this step isn't near as necessary as it used to be. As sound engines have improved, most of my weird crashes from sound card/engine issues faded away.
However, it does eliminate one more set of drivers to work with, and not using sound reduces the amount of memory the game needs. Every once in a while, this fixes a problem.
5. (Windows users.) Sometimes, reinstalling DirectX solves unexplained crashes.
And it does. Very, very rarely. It happens, but seldom enough that I'm considering removing this step from the list. Also, all of our newest games use OpenGL.
And That's It
If it's a problem or crash nobody has reported before and the user goes through these steps (or claims to have done so) and the issue isn't fixed, I give a refund. I'm out of answers.
I do hang onto the e-mails, though, in case other people pop up with the same problem later on. Sometimes a working program gets bushwhacked by another, poorly-written program. For example, on the Mac side, there was once a version of Quicken Scheduler that caused games to stop being able to see the keyboard. When I got the second report of keyboard failures, I sprung into action. Having the earlier report around helped a lot in figuring out the problem.
Steps I Don't Suggest
There are two steps for fixing mysterious problems that I almost never suggest. I feel that they are very extreme, involving too much work (and perhaps expense) to be worth it just to play my little game.
1. Reinstall the Operating System
This is the nuclear bomb, the way to purge your system of all manner of corrupted files. It's also a huge pain in the neck. I generally only suggest this if the user mentions he or she is seeing a lot of nasty problems while using a number of different applications.
2. Get a New Video Card
Video cards break. Seriously. It's happened to me. Sometimes they fail and you need to get a new one. However, I only recommend looking into this if the user mentions having similar problems over a wide range of games and swears up and down that fresh, up-to-date drivers are installed.
In Summary
Tech support is necessary, time-consuming, and aggravating. It tests my patience more than anything else I do. And yet, doing it well will, in the long run, make your customers love you and earn you money.
Be as patient and kind as you can possibly manage. Only fight battles when you have a chance of winning. Consider, with humility, that a problem might be caused by a bug. Also remember that, very often, it won't be your fault. Respect how shoddy and cheap and poorly maintained computers frequently are. And, always, try to treat your customers they way you would want to be treated.
You will always be amazed at how messed up things can get. Good luck.
Wednesday, June 8, 2011
Everything Breaks, All the Time.
(This is the second of a three part series about the black art of doing tech support. The first part is here.)
Anyone who ever has to do tech support (or who is trying to get a broken program to function) must first internalize one key, vastly important fact:
You can take a flawlessly written program, install it on a new, factory-fresh, basically functional computer, run it, and find that it doesn't work.
When you understand why this is, tech support, giving and receiving, becomes ever so much easier.
Computers Are Mechanical Devices
Computers are so close to magic that it is easy to forget that they are machines. Incredibly, brain-breakingly complex machines, that record and recover millions of bits of information a second (in RAM or on your hard drive), etching down those details in the magnetic fields of microscopically small bits of matter. So much is done, so quickly, on such a small scale that quantum mechanics becomes relevant, that I'm amazed any computer ever manages to work at all, ever.
When data is recorded on the hard drive, errors can happen. There are guards in place (called checksums, for what it's worth) to help keep the errors under control, but there are still many, many ways that incomplete and incorrect chunks of data can be recorded. The longer you operate your computer, the more errors there will be.
Most of the time, when these errors occur, you never find out. They happen in bits of the operating system or in programs that you don't use or the error introduced is so minor you just ignore it. But sometimes the error happens in a graphics driver, or your saved game, or the bit of my RPG that determines whether your characters get experience or not, and suddenly there is a problem.
So What Does This Mean?
It means that even the best-written program will have a ton of problems out in the field that aren't the developer's fault. Problems that need to be fixed by rebooting the computer and relaunching the program (to fix any error in memory) or by reinstalling whatever part of the software (the game, the drivers, the operating system) that have become broken.
If the problem is in the game, your characters might stop doing damage, or you might lose the ability to enter new places, or the game just might start crashing like crazy. Corrupted file in the display drivers? The graphics might be drawn funny, or the screen might always be black, or the game just might start crashing like crazy. Corrupted file in the operating system? The game might stop being able to save, or the settings file (that contains the registration) might disappear, or the game just might start crashing like crazy.
I'm not just blowing smoke to distract from my own errors. These problems happen all the time.
Of course, when users report these problems, they will pretty much always assume that it is your fault and you are an idiot. I have gotten multitudes of bug reports along the lines of, "Whenever I try to start a new game, the program crashes. This is a terrible bug and you should fix it right away!" When I get these messages, what I want to respond (but don't) is, "If my game had a problem this serious, don't you think I would drop everything this instant to fix it? You think I want to sell games that are never usable by anyone? What turnip truck do you think I just rolled off of?"
That's what I don't say. What I do is send them my standard list of tech support steps, and, 99% of the time, problem solved.
My Rule For When I Start To Hunt For a Bug
It's a simple one.
I never even consider that a problem someone reports is a bug in my code until two people report the exact same problem.
Sometimes, if the report is vague enough, I wait for three people. It can be maddening to get reports of catastrophic problems and not act on them, but it's worse to waste your limited, precious time hunting for gremlins.
We Live In a World Of Frustrations
I know that, every time I release a new game, thousands of people will get the demo, run it, and it won't work because of the reasons outlined above. They delete the game, write me off as a bonehead, and never send me teh moneyz. This is hugely frustrating. Nobody wants to be thought an idiot, and everyone wants the aforementioned moneyz. It's sad, but it's part of the business of writing games for computers.
It's even worse when they then go online and write about what a bonehead you are. Recently, a site called Platform Nation reviewed our newest game, Avadon. The reviewer got stuck with a horrible glitch that teleported his character into nothingness. He proceeds to excoriate me for writing such a terribly buggy game. Please believe me when I say that nobody, and I mean nobody, besides the reviewer has ever reported this problem. Don't believe me? Our support and Avadon forums have never had a mention of it. But the reviewer still called the game "wrong or broken" and "unforgivable " and gave it 1/10.
(Interestingly, the review has disappeared from the main site, and the only remaining copy is on their forums. I can therefore neglect expressing any other opinions about the reviewer's level of professionalism.)
Of course, if this sort of horrible game-breaking behavior was a bug, I would do everything I could to fix it. But that's not how things work.
Game Development Isn't For Wimps
Many people will get a game that breaks, and most of them will simply disappear and never try your product again. But some of them, happily, will come to you for help. When they do, you should smile, take a deep breath, and do what you can to make them happy. When the problem is a weird one I've never heard of, I will first send them my magic troubleshooting checklist that solves all problems. I'll post that next week, and everything will be better for everyone forever and always.
Wednesday, June 1, 2011
Seven Tips For Giving Good Tech Support.
When you try to start a business selling indie games (or any software product, really), writing and releasing the game is only half the battle. You then have to market and support it. Marketing is difficult, but there are lots of good resources to advise you on how to do it. Providing tech support to confused users is a much more arcane task, and I know of few resources to teach the hapless young developer how to do it well.
As a small developer, you have to provide timely, personal tech support. The ability to do so is one of your best Magic Powers as a small developer. Large companies are horrible at providing support, and people are used to that. As a result, a single personal e-mail to someone having a problem with your product can make you a fan for life.
But at the same time, as a small developer, you have very little time to spare for support. Time spent getting the game working for one person is time not spent making a new game for everyone. You will need to develop a sense of when the time lost helping a person is not worth it, either because you won't be able to solve their problem or because they will not able to implement the fix you provide.
It's Not a Simple Job
Supporting a game is hard. You will get complaints from people with the most amazing jury-rigged computers: motley assemblies of shoddy parts, duct tape, components bought at the cheapest possible price, and video cards found at the bottom of boxes of cereal. Machines that should, if there was any justice in the world, evaporate into a cloud of flame and self-disgust the moment they are turned on.
And while dealing with the infinite configurations of computers in the world is challenging, dealing with their owners can be worse. No matter how perversely disobedient a machine can be, humans are more difficult. People will report problems to you in only the vaguest possible terms, have no idea how their computers work, or outright lie to you about what they have been doing.
If you want to stay in business, you have no choice but to support your game. So here, based on my experience, is some advice and observations from someone running a small company who needs to do tech support.
Tip 1 - Be Patient
Dealing with other humans is frustrating, but you have to do it. You want, whenever possible, for them to go away satisfied. Be prepared, especially when dealing with a customer on the phone, to take a deep breath, count to three, and be as friendly and professional as possible. I know. You want to get back to working on your game. Time is short, and this person doesn't even know whether he's using Windows or Mac. Do your best to talk him through it. Remember, you can make a fan for life.
Tip 2 - Don't Be a Pushover
Some people will want you to teach them on the phone every detail about how their computer works. Some people are desperately lonely and want someone to talk to. Some people will have a machine so old or messed up that your game will never work. Politely and firmly cut these people off.
Remember: It's only worth the time to do tech support if you have the chance to, in a reasonable amount of time, fix a problem and make a loyal customer. If you realize that, at the end of the road, you aren't going to end with a happy person and a working product, end the conversation as quickly and pleasantly as possible.
Tip 3 - Be Ready To Ask Questions
The people who use your product are not generally tech experts, nor should they have to be. They will have no idea what information they need to provide to help you troubleshoot their problem. If I had a dime for every time an eight-year old (or a sixty-year old) sent me a bug report saying only, "The game crashed. What should I do?" then I would have, well, a lot of dimes.
Prepare a list of information people need to provide to help you solve their problem. Windows, Mac, or Linux? What version of the operating system? What brand of computer? Exactly what went wrong? Was it the installer that went funny or the game itself? Did rebooting the machine help? When you get a tech support request that doesn't give you enough information to have a clue what's going on, one option is to send the list of questions.
Generally, when you do this, one of three things will happen. One: They'll answer the questions, and you'll have enough info to start to help them. Two: They will resolve the problem on their own. Yay! Three: They will be unable to answer them and you'll never hear from them again. This is unfortunate, but, honestly, if the user isn't technically apt enough to answer a handful of basic questions, they will likely be unable to enact any fixes you suggest.
Happily, the list of questions is not something I send out very often. I deal with most problems by sending out my list of generic things to do to solve any problem. This takes care of the vast majority of issues, and I will share my list with you in detail in an upcoming post.
Tip 4 - Computers Are Delicate Mechanical Devices
I'm going to go into this in much more detail in the next installment, but this point is so very important that I have to bring it up now. Computers are incredibly complicated and delicate machines. Sometimes they go wrong. Sometimes files get corrupted. Sometimes RAM gets corrupted. Even a flawlessly bug-free program running on a perfectly maintained computer can break.
A huge chunk of your support will just involve having people reboot their machines and reinstall their programs (and drivers). This will fix 90% of reported problems, if you can get the user to do it ...
Tip 5 - The Users Will Lie To You
I blame this one on the horrible state of tech support in the industry in general. Much of tech support involves giving bad or time-consuming advice in the hope that the user will just go away. When I am asked for help, the person asking is generally angry, frustrated, and full of mistrust. This leads, alas, to lots of e-mail conversations like this one:
User: "I have this problem." (That I know is fixed in the newest version of my game.)
Me: "OK. Uninstall your copy, download the newest version, and install it."
User: "I did that. The problem is still there."
Me: "I see. Now what you need to do is uninstall your copy, download the newest version, and install it."
User: "OK. Done. I still have the problem."
Me: "Unfortunate. Now, please, I beg of you, in the name of God and all that is holy, uninstall your copy, download the newest version, and install it."
User: "I did that. It fixed the problem."
Me: "I can taste colors."
To hear users tell it, their computers are flawlessly-maintained, their drivers are all up-to-date, and every program in the world works but yours. They aren't necessarily intentionally lying. They might just not know that, say, newer drivers have come out. Just don't take anything you are told as gospel, especially if you know they're wrong.
Tip 6 - Know When To Give Up
There are some problems that I just give up on. If the machine is too old or too underpowered. If the problem is with the mouse cursor not moving right. (I get this sometimes, and, beyond suggesting trying a different mouse, I really don't know what to say here.) If the keyboard starts to not be recognized. (This happens sometimes too, and it's an OS/Program Incompatibility problem that I can't really handle.) If the graphics aren't working and the drivers for their freaky, off-brand video card aren't being updated anymore.
It sucks, but sometimes all you can do is apologize and offer a refund. The point of tech support is to fix the problem. If you have no capability to fix the problem, all you can do is give their money back and hope for their business in a future life. If you treat people fairly, when they get a new computer, they may very well come back to try again.
Tip 7 - Have a Standard List of Troubleshooting Steps
Once you have helped people long enough, you will come up with a list of steps that fix the bulk of their problems. Once you have this list and someone says they have a weird problem that definitely isn't a bug, you can send this list and most of the time that's enough to close the ticket. The items on the list will vary depending on the game and the platform. In a future post, I'll share Spiderweb's list. You might find it helpful.
That's a rough guide and a good start. In the next post, I will go off on a philosophical treatise about the nature of computers as physical machines. Then I will reveal my standard tech support checklist. Say tuned!
Friday, May 13, 2011
The Final Answer For What To Do To Prevent Piracy
(For some reason, Blogger deleted this post. I have recreated it. Sorry for any comments that were lost.)
This article is my decisive statement on how developers should deal with pirates. It includes humorous anecdotes about how dumb I have been in the past. And, believe me, I've been pretty dumb.
I am very confident about what I have to say on the subject. I have used these guidelines for protecting our newest game, Avadon: The Black Fortress. So I'm not just putting my money where my mouth is, I'm putting all my money. If I'm wrong, my kids don't eat. So I hope I'm right.
One of the most common questions fledgling developers ask me is how they should protect their games from pirates. My answer is, generally, "The minimum amount you can get away with." That is because I have learned never to forget the following guideline ...
I really, truly believe this rule. Here are two examples of times when I have forgotten it, and the grim consequences.
Trying To Protect My Hint Books
From the very beginning, I have sold hint books for my games. People like them, and they are easy money. When I started, in 1994, there was no convenient format like pdf for online file delivery, so I had to print and mail actual books. This cost lots of money and boxes of hint books took up tons of space in my house.
Then pdf files happened and people started to request that I send the book in electronic form instead of making them wait a week for the post office to do whatever it does. I refused this reasonable request for two reasons. First, I was afraid people would buy the pdf version and send it to their friends. Second, I didn't know how to create a download link for the file that couldn't then be e-mailed around to everyone in the world. So I kept spending money and precious storage space for the booklets, inconveniencing my paying customers as I did so.
Finally, three years ago, I got fed up with it. I made hint books available as downloadable pdf files. (People who want a printed version can get one for an extra two bucks, but they almost never do.)
But how did I secure the download link so it couldn't be shared? Here's the brilliant part. Ready? I just put it in with all of our other files. Anyone can download it. Anyone who knows how to use ftp can find it. When people order the hint book, I send them the download link, but they could have found the file for themselves if they looked around.
But here's the thing. Anyone who wants to pirate pretty much any PC game can do so easily. That means all of my orders are from honest, nice people. So why waste our time figuring out how to hide the hint book from them? They will pay for it because they know selling things is how I stay in business and make more games for them!
Here's the punch line. Want to know how switching to undefended pdf files affected sales of hint books? It didn't. The sales rate was practically unchanged. Know what that means? All those years humping around boxes of hint books, all those thousands of dollars sent to printers, all those slaughtered trees, all wasted. All because I was scared of people pirating my lousy hint book.
But there is a more gruesome example of my foolishness.
The Worst Registration System Ever Devised By the Hand of Man
In 1994, electronic distribution of demos was very much in its infancy. My plan was to release a demo with a small fraction of the game. Then, when the correct key was entered into the game, it would unlock and everything would be playable. A sound plan. The problem was the implementation.
At first, I thought I'd just generate a key when someone ordered and send it to them. But then I thought, hey, I don't want people to pirate my game. If I just send them a key, they can make it public or send it to all their friends. So here is my brilliant idea. I will ... will ...
God. It hurts to even think about it.
Here's what I did. When you ran the game, it generated a random code, a 4 or 5 digit number. When you ordered, you had to provide that number. I would use it to generate a key specific to your copy of the game. I'd send you that key, you'd enter it, and the whole game would be unlocked.
So what does this mean? First, when you tried to order a game, you had to have this number with you. Did you realize you needed it? Probably not. So you'd be at our online store trying to give us money, only to have to leave to dig up some stupid number. Want a tip for running an online business? When a customer is at your web page, credit card out and in hand, do not give them a reason to leave!
The system was confusing, and this wasn't helped by the fact that we were the only ones ever to use it. Oh, if only we could have back the countless hours spent explaining the system to confused parents. Countless more hours making new registration keys for people who switched computers or had to reinstall their OS. The weird system made us look unprofessional at best, deranged at worst. And, as a special bonus, it did exactly zero to stop people from pirating our game. Name a way to crack our registration system, and people did it a hundred times.
We stuck by this system for fifteen years. Might as well have just made a big pile of money and set it on fire. At least we would have gotten the warmth.
A year ago, I finally got fed up. New system. When you order our newest game, Avadon: The Black Fortress, we send you a serial code. Enter it, and you're up and running. Buy the game for the Mac and want to play it on Windows too? Enter the same key. Want to register your copy again ten years from now? Use the same key.
And the result of switching to a slightly less secure, infinitely easier to use system? Sales of Avadon are the highest of any game we've put out in years.
Just Do the Minimum
You need some way to force people to pay. Not because they are evil or dishonest, but because they procrastinate. Registration is a pain. They'd rather be spending their time playing your game! If you don't do anything at all to make them pay, they'll just forget.
But tread lightly. Once you have any barrier in place at all, you'll get your payment from all the honest people, the people who know that, if nobody pays, you won't make more awesome games for them. Anything beyond that will inconvenience your paying customers and do little to nothing to prevent piracy.
It took a long time for me to learn this. Too long. And, whenever I start to forget, I look at the monolith of boxes of old hint books gathering dust in my garage. If you're an Indie developer, be nice to people. In the end, the ability to be nice is one of the best weapons you have.
This article is my decisive statement on how developers should deal with pirates. It includes humorous anecdotes about how dumb I have been in the past. And, believe me, I've been pretty dumb.
I am very confident about what I have to say on the subject. I have used these guidelines for protecting our newest game, Avadon: The Black Fortress. So I'm not just putting my money where my mouth is, I'm putting all my money. If I'm wrong, my kids don't eat. So I hope I'm right.
One of the most common questions fledgling developers ask me is how they should protect their games from pirates. My answer is, generally, "The minimum amount you can get away with." That is because I have learned never to forget the following guideline ...
Whenever you find yourself starting a sentence with, "I don't want people to pirate my game, so I am going to ..." you are very close to making a big mistake.
I really, truly believe this rule. Here are two examples of times when I have forgotten it, and the grim consequences.
Trying To Protect My Hint Books
From the very beginning, I have sold hint books for my games. People like them, and they are easy money. When I started, in 1994, there was no convenient format like pdf for online file delivery, so I had to print and mail actual books. This cost lots of money and boxes of hint books took up tons of space in my house.
Then pdf files happened and people started to request that I send the book in electronic form instead of making them wait a week for the post office to do whatever it does. I refused this reasonable request for two reasons. First, I was afraid people would buy the pdf version and send it to their friends. Second, I didn't know how to create a download link for the file that couldn't then be e-mailed around to everyone in the world. So I kept spending money and precious storage space for the booklets, inconveniencing my paying customers as I did so.
Finally, three years ago, I got fed up with it. I made hint books available as downloadable pdf files. (People who want a printed version can get one for an extra two bucks, but they almost never do.)
But how did I secure the download link so it couldn't be shared? Here's the brilliant part. Ready? I just put it in with all of our other files. Anyone can download it. Anyone who knows how to use ftp can find it. When people order the hint book, I send them the download link, but they could have found the file for themselves if they looked around.
But here's the thing. Anyone who wants to pirate pretty much any PC game can do so easily. That means all of my orders are from honest, nice people. So why waste our time figuring out how to hide the hint book from them? They will pay for it because they know selling things is how I stay in business and make more games for them!
Here's the punch line. Want to know how switching to undefended pdf files affected sales of hint books? It didn't. The sales rate was practically unchanged. Know what that means? All those years humping around boxes of hint books, all those thousands of dollars sent to printers, all those slaughtered trees, all wasted. All because I was scared of people pirating my lousy hint book.
But there is a more gruesome example of my foolishness.
The Worst Registration System Ever Devised By the Hand of Man
In 1994, electronic distribution of demos was very much in its infancy. My plan was to release a demo with a small fraction of the game. Then, when the correct key was entered into the game, it would unlock and everything would be playable. A sound plan. The problem was the implementation.
At first, I thought I'd just generate a key when someone ordered and send it to them. But then I thought, hey, I don't want people to pirate my game. If I just send them a key, they can make it public or send it to all their friends. So here is my brilliant idea. I will ... will ...
God. It hurts to even think about it.
Here's what I did. When you ran the game, it generated a random code, a 4 or 5 digit number. When you ordered, you had to provide that number. I would use it to generate a key specific to your copy of the game. I'd send you that key, you'd enter it, and the whole game would be unlocked.
So what does this mean? First, when you tried to order a game, you had to have this number with you. Did you realize you needed it? Probably not. So you'd be at our online store trying to give us money, only to have to leave to dig up some stupid number. Want a tip for running an online business? When a customer is at your web page, credit card out and in hand, do not give them a reason to leave!
The system was confusing, and this wasn't helped by the fact that we were the only ones ever to use it. Oh, if only we could have back the countless hours spent explaining the system to confused parents. Countless more hours making new registration keys for people who switched computers or had to reinstall their OS. The weird system made us look unprofessional at best, deranged at worst. And, as a special bonus, it did exactly zero to stop people from pirating our game. Name a way to crack our registration system, and people did it a hundred times.
We stuck by this system for fifteen years. Might as well have just made a big pile of money and set it on fire. At least we would have gotten the warmth.
A year ago, I finally got fed up. New system. When you order our newest game, Avadon: The Black Fortress, we send you a serial code. Enter it, and you're up and running. Buy the game for the Mac and want to play it on Windows too? Enter the same key. Want to register your copy again ten years from now? Use the same key.
And the result of switching to a slightly less secure, infinitely easier to use system? Sales of Avadon are the highest of any game we've put out in years.
Just Do the Minimum
You need some way to force people to pay. Not because they are evil or dishonest, but because they procrastinate. Registration is a pain. They'd rather be spending their time playing your game! If you don't do anything at all to make them pay, they'll just forget.
But tread lightly. Once you have any barrier in place at all, you'll get your payment from all the honest people, the people who know that, if nobody pays, you won't make more awesome games for them. Anything beyond that will inconvenience your paying customers and do little to nothing to prevent piracy.
It took a long time for me to learn this. Too long. And, whenever I start to forget, I look at the monolith of boxes of old hint books gathering dust in my garage. If you're an Indie developer, be nice to people. In the end, the ability to be nice is one of the best weapons you have.
Friday, May 6, 2011
On Making Lots of People Angry
The other day, after Avadon: The Black Fortress came out, a certain community of hardcore fantasy RPG fans jumped on it with universal loathing.
I thought that I had a lot of good points to be made about the perils and opportunities of listening to feedback from fans (or ex-fans), so I wrote a blog post about it. This had the entirely predictable effect of infuriating the previously mentioned community.
Now, in the light of day, I feel kind of bad about it. I think what I wrote was fairly mild and I do still stand by every word of it. However, I think I kicked a group of my fellow gamers when they were down, and, being a lifelong gamer myself, I regret that. I've been reading their posts and chatting with them and I think I understand where they're coming from a lot better now.
I am only bringing this up because this blog is mainly about indie gaming, and I think this a great opportunity to make a huge point in that area.
Here's Your Audience, Wrapped Up In a Bow
Fledgling developers write me all the time asking for advice on what sort of game to write. What I tell them is that they should look for an underserved niche and serve it. This is the Great Magic Power of Indie developers.
Here, as I see it, is the story of RPG Codex. These people love, love, love old-school hardcore RPGs. The sort that used to be common on the ground and have faded away. They were forsaken by Sir-Tech, and Origin, and SSI, and Bioware, and now me. There was a thing that they loved, and it is gone, and they are angry about it. The anger might manifest itself in unappealing ways, but it's real. Nobody likes losing what they love.
You want to do what I do? You want to make a living writing RPGs? You have skillz? Go there. Talk to them. Pick past the ranting, find the reasonable things they are after, and write that game. Do it well, and you can make money.
And One Final Word For RPG Codex
I am still a gamer at heart. The gritty, hardcore elements in Avadon are later in the game. I put them there to not scare off more casual gamers. Teh casualz need to be eased into that sort of thing.
Were you my fan, but the Avadon demo turned you off? Well, here's a challenge. We have a one year no questions asked money-back guarantee. Buy the game. Give it a few hours on Hard or Torment difficulty. (I suggest until the boss fight with Zhossa Mindtaker.)
Still disappointed? Then I don't want your money. You get it back. My lips to God's ear.
I thought that I had a lot of good points to be made about the perils and opportunities of listening to feedback from fans (or ex-fans), so I wrote a blog post about it. This had the entirely predictable effect of infuriating the previously mentioned community.
Now, in the light of day, I feel kind of bad about it. I think what I wrote was fairly mild and I do still stand by every word of it. However, I think I kicked a group of my fellow gamers when they were down, and, being a lifelong gamer myself, I regret that. I've been reading their posts and chatting with them and I think I understand where they're coming from a lot better now.
I am only bringing this up because this blog is mainly about indie gaming, and I think this a great opportunity to make a huge point in that area.
Here's Your Audience, Wrapped Up In a Bow
Fledgling developers write me all the time asking for advice on what sort of game to write. What I tell them is that they should look for an underserved niche and serve it. This is the Great Magic Power of Indie developers.
Here, as I see it, is the story of RPG Codex. These people love, love, love old-school hardcore RPGs. The sort that used to be common on the ground and have faded away. They were forsaken by Sir-Tech, and Origin, and SSI, and Bioware, and now me. There was a thing that they loved, and it is gone, and they are angry about it. The anger might manifest itself in unappealing ways, but it's real. Nobody likes losing what they love.
You want to do what I do? You want to make a living writing RPGs? You have skillz? Go there. Talk to them. Pick past the ranting, find the reasonable things they are after, and write that game. Do it well, and you can make money.
And One Final Word For RPG Codex
I am still a gamer at heart. The gritty, hardcore elements in Avadon are later in the game. I put them there to not scare off more casual gamers. Teh casualz need to be eased into that sort of thing.
Were you my fan, but the Avadon demo turned you off? Well, here's a challenge. We have a one year no questions asked money-back guarantee. Buy the game. Give it a few hours on Hard or Torment difficulty. (I suggest until the boss fight with Zhossa Mindtaker.)
Still disappointed? Then I don't want your money. You get it back. My lips to God's ear.
Wednesday, May 4, 2011
Avadon Out For Windows, Responding To Critics.
We finally released Avadon: The Black Fortress for Windows. So far, it is functional and selling very well. I am really heartened to the reaction to the game. It is doing way better than I thought it would, and it's doing me a world of good to know that a game I put so much heart into doesn't appear to suck.
Because my morale is so high, I am going to do something I almost never do. I am going to go to a forum full of people who hate my games, my writing, and the mere fact that I still draw oxygen on this planet. Namely, the Avadon thread on RPG Codex.
RPG Codex is an interesting place. It is inhabited by people who like role-playing games, but love hating them. It's full of anger and enough raw bigotry that I would never advertise there. But, if you want to keep your self-esteem under control and read bad things about a game you wrote, go there. Just don't ever let those people get into your head.
So, if you are interested in what it's like to write a game and get feedback from the vast madness of the internet, take a look at these threads (mildly NSFW). Here are some comments from the thread, and my responses to them.
"I love Vogel's games but damn the demo is so boring..."
"The demo area is small and extremely crappy"
Demos are always boring. Tutorials are always dull. There are two ways of doing a demo. One - Put the player in a training wheels dungeon and teach him or her enough to play the real game. Two - Set up a really big, flashy set piece to start the game, and have the player wander through it doing nothing.
They both have their points. I've done both. But tutorials are always work. That is life.
By the way, while my demos are smaller than they used to be, they are still some of the longest demos out there. My demos used to be longer than some other full games, but, to be brutally honest, that's just bad business.
"Anyway, party members not dying but being just unconscious and resurrected after combat ends. DECLINE"
When you're designing an RPG, there are lots of toggles you have to flip. Will people recover from their wounds over time or do they have to go back to town? Will the party jump between towns/dungeons or will the whole outdoors be explorable? Will items be automatically identified? Do you have to keep track of ammo for your bows? Each answer to these questions has its good as bad points. There are no right or wrong answers. You just pick what works best for the design.
There are people who will, for religious issues, say they will never ever buy your game if you make one of these choices or the other. Ignore them and do what is best for what you're trying to do.
Oh, and there are some people who will respond to things about your work by posting an angry smily or some other image meme. Ignore these people. If they had anything valuable to say, they would use words, like people, instead of jpgs.
"I do loathe the worldmap. A single large continent shaped like a rough circle does not an interesting map make. Dunno why it bothers me the way it does but it does. "
Oh. Come. On.
There is an important lesson here for indie developers. When you make a game with a small team, you have millions of decisions to make and little time in which to make them. There isn't time to second guess everything. For a lot of stuff, you have to make the call and move on.
When people nitpick, you can't take it to heart. You have to forgive yourself. People will always nitpick. To borrow a phrase from my favorite SF story ever, the dogs bark, but the caravan moves on.
"Got bored with the demo as soon as I was sent to the beginner dungeon to fight rats and spiders. What a lousy piece of shit game."
You are right. I'm sure those two minutes of gameplay were crushingly disappointing!
"It seems like he put in a lot of effort to attract the casual crowd. The "casual" difficulty mode for people who are "new to fantasy RPGs"?"
A lot of complaints that the early game, especially on Normal difficulty, is too easy. When someone says that the default difficulty should be harder, what I hear is, "You should make a pile of money in your backyard and set it on fire."
I make the default difficulty easy enough that 90% of players can get through it. If this doesn't give you a challenge, play on a harder difficulty level. That is why it is there!
Sheesh.
"Yep, Jeff fucked this one up a bit - although not as bad as some people put it. Give him some credit, go to TPB and help yourself."
By TPB, the poster means The Pirate Bay. In other words, he's saying to go pirate it. I honestly think that most of these complaints are not sincere. They're just pretending the game is bad to justify their pirating it (and playing the whole thing three times). Another good reason to be very careful about whose feedback you accept.
"I am seriously disappointed. Shittiest Spiderweb game so far. By a lightyear. Will definitely not register the demo."
"Hope that it'll flop commercially"
"Started the game right now and I'm lacking words to describe my disappointment."
"Jeff Vogel went full retard"
"I wonder if Spiderweb is going to survive it..."
I think we'll be just fine.
As I said, the game is doing great. A lot of people are playing my bland, dull, derivative demo and saying, "Hey! Want more of that!" This is the biggest lesson for small developers. People who post on forums are a tiny, tiny portion of your audience. Read them occasionally. Pick through them for the rare tidbit of good feedback. But otherwise keep a respectful distance.
And, to those who have registered, thank you so much! I love flattery, but, in the end, there is no compliment better than a credit card number. That people are actually giving me their real, hard-earned money is incredibly flattering, and I thank you for making it possible for me to write Avadon 2.
Edit: I've closed comments. I think everyone who wanted to say something has had a fair chance. Thank you for the bits of interesting feedback. I will be doing more blogging on some of the issues raised. If you have more reasons why I am not cool anymore, you will have a chance to share them then.
Subscribe to:
Posts (Atom)


