Coding Horror

programming and human factors

How to Get Rich Programming

I originally discovered the fiendishly addictive Tower Defense as a multiplayer game modification for Warcraft III. It's a cooperative game mode where you, and a few other players, are presented with a simple maze. A group of monsters appear at the entrance and trudge methodically toward the exit. Your goal is to destroy the monsters before they reach the exit by constructing attack towers along the borders of the maze. As you kill monsters, you gain cash, which you use to purchase more powerful attack towers and upgrades for your existing towers. The monsters keep increasing in power each wave, but if you're clever, you might be able to survive all the waves and reach the end.

I can't explain exactly what makes Tower Defense so addictive, but man, is it ever. Perhaps it's the collaborative gameplay, along with the "just one more time" element of different tower arrangements and greater income to build ever more powerful towers. Remember, this is a game mode not created by Blizzard, but invented by multiplayer game modders using the tools provided with Warcraft III. It was completely unique-- I had never played anything like it. After about six months, I completely stopped playing traditional multiplayer games of Warcraft III in favor of user modifications like Tower Defense. As a hat tip to the community, Blizzard included their take on tower defense as a hidden mission in the Frozen Throne expansion.

I suppose it was inevitable that this new, addictive Tower Defense game mode would jump from the select audience of gamers with gaming-class PCs to simpler Flash implementations everyone can enjoy. The low-intensity, puzzle-like gameplay of Tower Defense translates well to the broad audience of casual gamers. And the most popular version, by far, is Desktop Tower Defense.

Desktop Tower Defense

Warning: before clicking on that link, allow me to reiterate: tower defense is addictive! Don't blame me if you lose an hour or more of productivity. But if you, like me, just have to make it through all 50 levels (or 100 levels in challenge mode), I refer you to this collection of Desktop Tower Defense strategies. And a word of advice: upgrade a few towers to the maximum; don't spread your upgrades across a fleet of towers.

You'd be surprised how much money you can make by creating a flash game and giving it away for free on the internet. The Tower Defense game mode is a business opportunity for an enterprising programmer. According to a recent interview, Paul Preese, the author of Desktop Tower Defense, is making around $8,000 per month.

So here's a couple ways to a create successful game online:

  1. Find an investor who's crazy enough to give you millions of dollars
  2. Put it on a distribution network and hope you get enough customers willing to buy it as a download
  3. Make a Flash mini-game, let people play it for free, and watch the ad revenue pour in when the site gets 20 million pageviews a month.

That's the option Paul Preece took with his phenomenally popular Desktop Tower Defense, and though he has no professional experience with game development, the Visual Basic programmer is now making, by his estimate, high four figures monthly for his ferociously viral little game.

DTD's main revenue source is AdSense, but with its avalanche of popularity, advertisers have approached Preece directly, leading to "Affiliate deals, sponsorship, custom versions for other companies etc. The last two are in the pipeline but I thought I'd add them in at a low level."

Preece's main expense is running the server. "Hosting fees are negligible," he says, "at $130 per month. But I am getting very close to the 1200GB bandwidth allocation!" That plus "the continuous supply of late night Red Bull" comprise the bulk of Desktop's budget.

So minus the time he spent programming, and his nominal hosting fees, Paul Preese is clearing almost $100,000 "salary" per year with Desktop Tower Defense. And he did it all on his own: he wrote the game, placed it on a public web server, hooked up AdSense, and then submitted it to a few social bookmark sites. No selling his soul to a publisher, no middlemen, just pure income, controlled directly by him.

What's truly exciting about this is how the internet has created economic opportunity for a single programmer working alone. You might not get rich, exactly, but $100k/year is an impressive salary in most areas of the United States. Roller Coaster Tycoon was the last traditionally published game created by a single programmer working alone. The author, Chris Sawyer, cleared $30 million for all the various version of the game released since 1999, according to financial documents released by the publisher. And just to put things in perspective, the publisher cleared $180 million. That's the "selling your soul" part.

Granted, $4 million per year is a heck of a lot more than $100,000 per year. But the odds of you and I getting a publishing deal-- or writing a game in assembly language-- are pretty slim. Paul's success, on the other hand, is something that any programmer, with sufficient motivation and a little bit of luck, could potentially duplicate.

Written by Jeff Atwood

Indoor enthusiast. Co-founder of Stack Exchange and Discourse. Disclaimer: I have no idea what I'm talking about. Find me here: http://twitter.com/codinghorror