I was commissioned to create an interactive quiz game in flash. “Quitz Quiz” is a quiz game for an anti-smoking campaign. The project was supposed to last for 1 week, it was delayed to 2, and finally got the pay 3 weeks after that.
What Went Wrong
Asking Price. Inexperienced at this kind of business, I offered a cheap price tag. $200 for “just” another quiz game is a sweet deal, I thought. Quizzes are the type of games they teach you when you were starting programming and $200 is already pretty big in the third world – my monthly salary is approximately $300. It was during the development phase itself that I realized my mistake. They are paying me for my expertise, besides the client wasn’t just some college friend who can’t make their homework, it was a company with a budget and my asking price wouldn’t have meant anything to them. Asking cheap made me think cheap, it was as if there was this very low ceiling that didn’t force me to expand the game or at least made the art a little better.
Assets. Although I got the quiz list the night after I took the job, the rest of the game assets took a pretty long time considering the game is supposed to be finished in a week. My lack of a decent internet connection limited our exchange of communication to SMS. I was only able to check my email once per day (after work), so if ever there were questions that lack answers or a missing art asset, I would get the response the next day. This delayed the project and pushed it to a total of two weeks (including play testing and QA).
Being too greedy. After realizing how cheap my asking price was I decided to hard code the questions–instead of putting them on a separate editable XML file or something. I could have just embedded an XML file or something, but being the greedy programmer that I was, opted to create a separate Factory class containing all the questions in an array. My evil plan backfired, when during the play testing process, they discovered a lot of spelling errors and I had to go back to the code and examine each question one by one with my IDE- FlashDevelop- lacking a spell checker. If I wrote the questions on a text file, I could have just run it on WordPad or something or better yet sent them that file so they can edit the questions themselves.
What Went Right
Modularity. This was my first completely AS3 flash game, and I have to say, I was very impressed at how my project structure turned out. The assets were completely separate from the code. I’d use Flash CS3, or Photoshop, or Painter, or Audacity for the assets and just use the embed tag to link them with the code. This way, if ever I had a separate artist working on the same project, we can go our own ways without relying on each other.
Experience. The project forced me to treat the game I was developing as work. There was a deadline, a paycheck, and a real client (not the hey-I-need-help-here-I-give-you-money friend but a real business client) involved. It helped me evaluate my “business model” and also expose my weaknesses. From now on, I’ll specialize on game development as a freelancer (I’ll only consider web dev/design jobs when I’m really desperate). I also realized that I can only go so far as a visual artist (I need training or better yet, I need a partner artiste.)