The very first job I got in the game industry was a 2 month contract at a small 20 or so person company in San Francisco. This company was hired by a major publisher to remake something in the ballpark of 8 arcade classics for the Palm OS and Windows CE. I had no idea how much a game programmer should make at the time so only asked for $16 an hour, prepared to fight not to go lower. The owner replied something to the effect of “Wow that’s really cheap, I’ll give you $20!” Oops. As it later turns out the guy sitting next to me with no degree was getting $60 an hour + $20 an hour for the recruiter. Double, oops. Anyway, the job was nice because the owner agreed to let me telecommute once classes started the next week, so I didn’t mind so much.
I started on a Tuesday… with nothing to do. Past the initial 20 minute briefing I and 5 other programmers just sat there until late Thursday. It wasn’t that we didn’t theoretically have anything to do – they just didn’t get around assigning the games to the 6 programmers yet. 18 hours lost * 6 programmers * 50 bucks an hour on average = $5,400 lost by a company so small just weeks before they moved out of an apartment complex. Worse, it wasn’t like it was a complex process assigning games to programmers either. No thought was even given to the process until our 10 minute meeting late Thursday, at which point arbitrary assignments were made. I wind up with a job to remake Robotron. Fortunately, they give me a design document and the original source to Robotron during the meeting, which I look at when I come in on Friday.
Fresh and eager to make my name in the industry, I come in on Friday and get to work. I look at the design document… or what I was told was a design document. Actually, it was a stack of PR sheets of bullet points. I look at the source code… It was a corrupted file with some recovered assembly for a machine no longer in use. I put that aside and go to work… or actually I try to go to work. But it’s time for a meeting. Then lunch, more meetings, waiting a few hours for the producer to give me useless documents, then installed software on the computers they bought, etc. At the end of the day I get 20 minutes of work done by downloading Mame and writing down some notes about Robotron. The day was a loss, the meetings were an utter waste of everyone’s time. It was just a way for the producer to feel important by having a bunch of people sit around listening to him talk about unrelated subjects.
Friday night I get home and start my REAL work day. I download the Robotron emulator, play for a while, and write up a design doc for my framework. Over the weekend I program the framework – to some extent I have a running game for the first level. I email a request for artwork and wait for a response.
Tuesday morning I get a call from the producer. “Hello Kevin, where are you?” Apparently, no one told the producer I’d be working at home. We argue about it. He thinks it’s not possible for a programmer to telecommute because face to face communication is necessary to get anything done. I tell him I’m not spending 3 hours a day on the road through San Francisco traffic when I can work perfectly well from home without disrupting my college schedule. I add that the owner already agreed I could telecommute, I couldn’t come in and go to college at the same time, and that was final.
I continue to work hard over the first week and achieve the first milestone, due in one month, in about 20 hours of work.
It’s time to integrate the real art. I sent yet another email to the producer for art (my last email was ignored). One week later he sends me a 20×20 bmp for ONE of the monsters. On top of that, the BMP has errors: the filename is wrong, it’s cropped wrong, and the palette order is wrong. I fix it myself.
This goes on over the two month project:
I email the producer a list of assets I need to achieve the milestone they give me.
The producer doesn’t bother reading the whole email and I get one asset a week later.
Another week goes by and I get an email from the producer asking why the other two assets are not in the game. I reply that they are, you just can’t see them because I don’t have the art I repeatedly asked for and was repeatedly ignored on. In one case I asked him for the same art 4 times in a row and didn’t get it. So when he emailed me wondering what’s up I cut and paste all 4 email requests along with the dates I sent them. If I were him I’d apologize and feel rather stupid about it, but somehow I don’t think he did.
On top of that, I wind up doing the artist’s jobs for them. The art that I do get invariably has errors – wrong palette order, wrong filename, wrong sizes, shifting tile centers, etc. The level design specifications I get are ambiguous and incomplete.
Some significant milestones:
Three weeks:
I come in and look around at the other programmer’s computers. What did they accomplish? Nothing! They are still working on frameworks, the same thing I accomplished the first weekend.
Four weeks:
I come in again and find out who the artist is supplying me the art. I was hoping I could explain things to him about what I need, since the producer obviously wasn’t cutting it. I look at the artist’s computer and HE ALREADY HAS ALL THE ART! I the artist had been creating original art for the game which is why it would take a week to get me a 20×20 bitmap. Nope, all the art was already there courtesy of the publisher in a giant BMP. All the artist had been doing was cutting and pasting out individual images and fucking up every possible step that could have gone wrong in the process. WTF? At that point I tell the producer “Look, just give me that BMP and I’ll make the images myself. I will have the game 100% done by the end of the week.” He didn’t agree to send me the BMP.
Five weeks:
They start getting late about sending me checks. I found out later this is because the producer wasn’t sending the checks on time. Of course I call every day for two weeks asking when the check would be sent, and was told every day “Today”. I eventually have to take the 3 hour drive there to get it in person.
Seven weeks (out of an eight week project):
Sounds still aren’t ready. I send three emails to the producer and the lead programmer that my contract ends in one week, so I either need the sounds or an interface to the sound wrapper so I can implement that before I stop working.
Eight weeks:
My emails are ignored. No sounds, no interface, my contract duration is over. My final email thanks them for the job, asks when my last check will finally arrive, and I tell the lead programmer where my sound interface is so he can add the sounds himself.
Nine weeks:
Out of the blue I get an email from the producer asking why the sounds weren’t done.
As it turns out, for this particular producer:
– He insisted on being the go-between between myself and the artist, rather than just let me get the stuff myself even if it means the project will take 4X longer.
– He can’t understand more than one topic per email. If I include more than one topic per email, all other topics get ignored. It took me a while to realize this but the end-result is certain milestones were late because he didn’t address issues I needed to proceed.
– The producer can’t understand even vaguely technical issues, such as a wrong palette order in the images. Rather than admit it, he ignores the emails no matter how many times I tell him. As a result, I had to spend a significant part of my time fixing silly art issues.
– The producer never did any actual work that I could determine.
– Because (in part) of the producer forcing everyone else to work at the office and be subjected to meetings, etc. everyone else took two months to get done what I got done in two weeks. I worked a total of 150 hours. Everyone else 320. My game was done in two weeks of work and six weeks of waiting for art. Some other people weren’t done in those two months, when I came in for the last time.