I <3 Steve McConnell*
Coding Horror
programming and human factors
by Jeff Atwood

August 30, 2006

Game Player, Game Programmer

Greg Costikyan's essay Welcome Comrade! is a call to arms for hobbyist game programmers:

Propaganda poster Back in the day, it took a couple of man days to create a Doom level. Creating a Doom III level took multiple man-weeks. Thus budgets spiral every upward; as late as 1992, a typical computer game had a budget of $200,000. Today, 10 million dollars is your bare buy-in for a next generation title.

As budgets soar, publishers are increasingly conservative about what they will fund, because nobody wants to lose 10 million dollars. So they look for ways to reduce their risk. Today, they have become so risk-averse that anything other than a franchise title, a game based on a movie license, or a game that slots easily into a category they know how to sell is unthinkable.

Today, Myst, Civilization, or Sim City would never get funded.

We're condemned to more of the same-old same-old from now for all eternity--unless we figure out a way to break this iron grip--what Raph Koster calls "Moore's Wall."

We think it's possible-- by building for the game industry what the independent film and independent music movements do for their own industry. Creating a viable "independent games" movement, where people can experiment, at lower budgets and with less risk, on quirky, offbeat, innovative games-- and find an audience that prizes gameplay over glitz, innovation over graphical trickery, playfulness over polygons.

Greg's Manifesto Games website aims to make this a reality, by creating an audience and supporting hobbyist developers.

James Hague's Rise and Fall of the Hobbyist Game Programmer documents just how profoundly the world has changed for would-be game programmers in the last 30 years:

For a small percentage of enthusiasts, there's always been the calling to jump from just playing games to creating them. It's crazy, of course, because the rush of playing a great game doesn't carry over to spending twenty straight hours in the basement trying to figure out why a level initialization routine fails ten percent of the time. But those that persisted, they drove the industry in its early days.

I remember reading about Mark Turmell-- and others whose names I've forgotten-- who were somehow inspired to design their own games, and then sit down and figure out exactly how to turn them into something their friends could actually come over and play. Those were fantastic feats that started the chatter about computer games becoming a new art form. One person, one vision, and six months later a finished product that was snapped up by a publisher--pure creation. A new alternative for would-be novelists.

The dream is still alive in these days of 32-bit processors and 3D accelerators, but over the years the reality behind it has quietly slipped away and few have stopped to notice.

In 1981, personal computers were in the thick of their 8-bit heyday. Not only are we talking about an 8-bit 6502--a processor with one primary register and no multiply instruction--running at less than 2 megahertz, but it was still acceptable, though just barely, to write games in BASIC. Now don't get me wrong, BASIC was the downtrodden interpreted language that it still is, but it shipped with every Apple II and Atari 800, and was the obvious choice for budding programmers.

Perhaps this is another reason why the Visual Studio Express IDE should ship with Vista. Or maybe doing it as-is with the .NET 2.0 command-line compiler and Notepad is more authentic. For more perspective on how the game programming world has changed since those early days, I can highly recommend James Hague's essential 1997 e-book Halcyon Days: Interviews with Classic Computer and Video Game Programmers.

Perhaps it's a little easier to imagine transitioning from gamer to programmer in the world of mobile devices. Lightworks games is doing just that-- two guys pursuing their dream by building a game company from the ground up on the PocketPC. They started with Cavemen, a charming little Lemmings clone.

There's also Microsoft's intriguing XNA Game Studio, which is now available in beta. It's a way for hobbyist developers to write non-commercial games that run on the Xbox 360. There have been rumblings about the best of these non-commercial games eventually making their way to the Xbox Live marketplace-- which could potentially convert those hobbyist game programmers into small business owners. It's an exciting prospect, given the huge installed base of most consoles, and the ease of getting everything running on a standard console platform.

Is the dream of jumping from game player to game programmer still alive? It's certainly how I got my start in programming.

Posted by Jeff Atwood    View blog reactions
« Thread Priorities are Evil
Computer Languages aren't Human Languages »
Comments

Alright Jeff, let's leave this corporate shill work behind and start a game company. ;)

Haacked on August 31, 2006 2:38 PM

Check out Dark Basic Pro, and several other programs (Blitz3D, etc.. I don't know them all)

This is the way to go, a way to demo ideas using easy to use coding and lots of pre-made content, eliminating 65% of the grunt-work.

I'm not saying you can make a premium, AAA title with less work, but you can get your idea up and running, with a little bit of an audience, and maybe sell somebody with a working crude copy of your dream game.

Lame Brain on August 31, 2006 3:07 PM

I messed about with Dark Basic a bit, but I found it easier just to use a language I knew, C++. Coding little games in Delphi is exactly how I got into coding as well. Little Space War! clones and the like. I even got my art teacher to accept a couple as assignments :)

deadscott on August 31, 2006 3:17 PM

Experimental Gameplay - http://www.experimentalgameplay.com - is shaping up to be something like the independant game development farmground you're talking about. These games are way too simplistic, but I could see either this or something similar that allowed people to post a demo, grow a fanbase, and get funded to build out the full game.

In the meantime, though, my 5 year old sure likes these games, and the 2 year old loves to watch...

Jon Galloway on August 31, 2006 3:19 PM

I don't think an article on "indy game development" can pass by without mentioning Valve's Steam. While the article talks about the lengths needed to go to now to program a game, Valve have made it alot easier to get published. While the process is slightly different, they have published several "indy" games, only encouraging more risky but innovative games.
I've always found it sad that the latest poly-pushing 3D shooters mean it's alot harder for young people to get into programming. Generaly, when youre young, you want to program games. But who's happy with a crappy side-scroller when you really want the next Doom3? I know it's a blanket statement, but it applies alot of the time.
Certainly the best way to prototype a game is to use an existing engine (be it a modified existing game engine or building one quickly with something like Blitz3D).

[ICR] on August 31, 2006 5:14 PM

Didn't *everyone* involved in programming who once had an 8-bit home computer get into it because they wanted to write games?

Daniel on August 31, 2006 5:15 PM

yes, daniel, then we realized that while everyone else was trying to get into that 2-billion-dollar industry, the 200-billion-dollar industry of EVERYTHING-ELSE-COMPUTERS-DO-IN-SOCIETY came along with salaries twice as high and could promise i'd be able to go home at 5pm on Friday.

Anonymous on August 31, 2006 8:18 PM

Daniel: Everyone *our age* did, pretty much.

[Atari 8-bits rule!]

Atario on August 31, 2006 11:38 PM

The games industry is horrible. There are too many people, especially comp sci majors, who want to go into it and they're willing to take cuts in pay to get in where as they could be making more at other companies. I know of people that are perfectly fine programmers who interview with game companies and since they haven't worked in the game industry before, are offered insanely low offers where as offers from non-game companies pay well, have better working enviorments and work less hours.

Paul Mendoza on September 1, 2006 12:12 AM

I always wanted to make games but (much like music) the more I've learned about the industry the less I have wanted to make a career of it. Also, the indie-gaming community (or the parts of it I've had dealings with) is strong and full of helpful, interesting and very competent people.

Of course, the higher availability of the tools will make for more posts on all the games writing boards along the lines of "I got C# Xpress, how I make MMPORPG????? kthx."

Ben Moxon on September 1, 2006 1:47 AM

how many of us gamers dreamed that an ultimate job would also be a game tester...all day long just playing games and getting paid for it. Then you hear about the reality of it.
- extremely long hours
- no choice in whaty games you play
- you HAVE to play even the sucky games
- you can't play it complete it, you have to play level 1 10,000 times, then onto level 2
- pay is less then crap

so instead I would rather work as a business programmer, and dish out $70 for subscriptions and a random new game per month, and do what I enjoy, playing games.

Don't get me wrong programming a cutting edge game sounds great, but how many people have a truly unique idea for a game, rather then a combination of existing games modified to our own liking?

Brad on September 1, 2006 3:49 AM

If you liked the programmer interviews link here is a "Programmer's Diary" that Andrew Braybrook wrote for Zzap 64 when he created Paradroid.
http://www.zzap64.co.uk/zzap3/para_birth01.html

Darren on September 1, 2006 4:35 AM

Two of my favorite games to play are indy's.

Notrium - http://www.monkkonen.net/notrium.php

TubeTwist - http://www.tubetwist.com/

@John Galloway - Try TubeTwist. My 4 yr old can beat the first level (10 puzzles?), and loves trying the other levels. He is getting better at them. And my 2 yr old likes to watch him play. :)

Eric D. Burdo on September 1, 2006 6:02 AM

Just ask the guys at Penny Arcade about jumping from customers to authors.

I don't know how much funding Myst actually had to start. I seem recall it was very "apple" in its start.

Xepol on September 1, 2006 7:32 AM

http://elite.kaneva.com/ is another one of those sites that has software to do your own development work and allow syou to run your own MMO RPG/FPS

Brad on September 1, 2006 7:49 AM

I fell in line with some of the rest of you here, checking into to the gaming industry but finding low salaries, and very long hours. Worse yet, I found that most of the more lucrative gaming companies required that I had some previous game development experience. I never once came across a introductory position in which I'd take my knowledge gained from Comp Sci, and apply it to learning how to program on the job.

Therefore I found some business position that offered the salary, work-life balance, and intro program. Now, while those things are nice, it is still often hard to come to work knowing that my dream of having my name at the end credits of FFXV or something will not happen. Maybe someday in the future, when I get sick of all this AJAX business...

Matt on September 1, 2006 7:51 AM

One of the big things these days is the rise of game creation kits. One of the big ones is Garage Games (http://www.garagegames.com/) who do 2D and 3D engines. I'd say these will - in the future - provide a lot of help for would-be gamers.

Also id Software has always done a lot of a work for the scene by releasing the source to their engines: one of the big successes has been Nexuiz, a free, open-source multiplayer FPS. It's based on the "Dark Places" engine, a heavily tweaked version of the original Quake Engine with support for dynamic lighting and bump, gloss and offset mapping.

In fact, I'd go so far as to say that the major problem these days is not programming, but rather media creation: with better graphics and sound engines, there is huge pressure to create good-looking graphics and sounds, and that's not easy. In fact it takes a huge amount of work. Garage Games is helping out on that front by selling pre-made 3D content to help prototype your game, the idea being that a studio, having seen the prototype, would then fund the hiring of some qualified artists.

Realistically, it's content these days that is the next big step: someone needs to organise a repository for free content, and encourage people to contribute to it. The programming part has been largely solved.

Bryan Feeney on September 1, 2006 8:19 AM

For the record, it's indie, not "indy" unless your talking about a racing game.

I live in Eugene, OR, the home of Garage Games and I've met some of the guys there. I really think that they are trying as hard as they can to kick-start an indie game revolution. Art assets are an important part of games, but that has been made too big. Of all the next-gen console games out there 90% or more look great, but only about 10% are fun for more than 5 minutes. The fun factor is based on the gameplay, concepts, and lots of programming and tweaking of code. It's really up to the programmers to make games fun again.

steveth45 on September 1, 2006 9:05 AM

Hobbyist *game* programmers are no more, for the very reasons the referenced articles cite. But this void of talent, drive, and skill has been filled by hobbyist *mod* programmers.

There are plenty of wonderful mods that hang off the framework of game engines and yet explore totally new forms of gaming than the original game itself.

youngin on September 1, 2006 9:21 AM

I wanted to write games so bad when I was a kid.
I had an Atari ST and STOS Basic (a special games writing BASIC) -- http://en.wikipedia.org/wiki/STOS_BASIC_programming_language

I've tooled around with other stuff - C, C++, too.

Turns out, I can echo the same theme everyone else here is squawking: business software pays a lot more and you don't have to work 65+ hours a week. It's not as cool, but I can be cool on the weekends.

g

Garret Schweitzer on September 1, 2006 11:04 AM

youngin said: "Hobbyist *game* programmers are no more,"

Nah. They just moved. The people who would have been making ShareWare games for Apple II and DOS 15 years ago are now the people writing very good Flash-based and Web-based games, and probably reaching bigger audiences doing it.

Some of them are doing quite well, too.

Tim Lesher on September 1, 2006 2:28 PM

I wrote one of the largest mods for Team Fortress back in the Quake 1 days. One man, working nonstop by himself for three days, developed the original CustomTF. Of course, I spent hundreds of hours later adding stuff, but that was all it took originally.

ShakaUVM on September 3, 2006 2:44 AM

I am a hobbyist game programmer: that is, programming games is my hobby. Most of them are fairly trivial (such as ports of old C64 games) but they show that it is still fairly easy for any programmer to tinker with new genres of games, if he is willing to invest enough time and effort. And there exist Flash/Java game programmers that create "different" games regularly, as shown in the multitude of quirky little Flash game sites scattered around the Web.

Edlin on September 4, 2006 10:25 PM

I'm what I suppose you'd call a semi-pro game programmer. I have one commercial release (WordWars) that has earned me a modicrum of money, and I'm working on a browser-based RPG right now. It's hard work to make even a simple game, but harder still to get noticed for doing it. Heck of a lot of fun though. The trick is to make a game you want to play, not one you think will sell.

Brother Erryn on September 5, 2006 12:00 PM

Have you heard of PyWeek? It's a continuous competition whose participants whip up quick, creative games in Python.

Catherine Devlin on September 6, 2006 7:55 AM

many friends get me strange looks when I state that the main reason for me to jump on the mobile bandwagon was the lack of "ready" components. I had to write everything myself: my game engine, my 3D software renderer, my XML "toy" parsers. Without all that, where's the fun?
Or you became a detail maniac and start writing photo-realistic games or you're condemned to repeat yourself and others.

Going mobile you not only have the chance to try new control-styles (mostly motivated by devices form factors and limited input-devices) but also hack everything "the old way" to get speed.

There's also one last appealing factor: when dealing with mobile you have more chances to know what your game is going to be running on. Take my case: Im doing open source games for the Nokia 770. Other from the 770, only the Nokia N800 currently runs my games. Is like dealing with a Video Game console ;-)

Daniel Monteiro on September 27, 2007 7:28 PM

If it weren't for computer games growing up, I never would have been introduced into the programming world either, but now I'm here and I'm enjoying myself. Thanks, Atari/Nintendo/Sega/Sony/Microsoft!

Joe on October 31, 2008 6:48 AM

Ok lads rant time im 42 have played games from my first days of (pong)all the way thro to today there are many games worthy of note (lucas arts/halflife/quake early days and many many more/ but lately the games are really pissing me off.the last two weeks ive spent the best part of €250 on the likes of farcry2 fall out 3 cod5 (cod seires was a personal fave)turok the new 1/and a couple of others i cant even be arsed to remember.To be honest they are all shit i havent even finished 1 of them all the way through.My point being i have spent hours on certain older games trying to get past a tricky point because i wanted to see what was next but now all you get is eyecandy ie a wavey bush a sunset/shiny water ect ect.games have lost there fizz they are no longer an adventure they are just pretty i really think this is down to big companys wanting something shiney they can put on the tv to con young and old gamers into thinking ooooooow that looks good sadly it works.

stones on November 28, 2008 4:14 PM






(no HTML)


Verification (needed to reduce spam):


Content (c) 2009 Jeff Atwood. Logo image used with permission of the author. (c) 1993 Steven C. McConnell. All Rights Reserved.