Free Web Hosting Provider - Web Hosting - E-commerce - High Speed Internet - Free Web Page
Search the Web

Postmortem for Funny Faces

By Brian Sowers

 

Introduction

            Funny Faces is a simple puzzle game reminiscent of Tecmo Stackers or Tetris Attack.  Essentially, there is a large grid of different colored faces.  The player switches the positions of the faces around to make a match of four faces of the same color, and then more faces fall down.  A normal score can be increased via combinations, where a match leads to pieces falling down, creating another match, which can lead to another match, and so on without any user interference aside from the first match.  This technique is essential for getting a high score and completing one of the modes of play.  There are three modes of play:

  1. Time Attack – The player tries to get the highest score possible in a set amount of time.
  2. Standard – The player progresses through levels.  Each level has a score requirement that must be obtained in a given time before progressing to the next level.
  3. Rising Faces – Similar to Tetris Attack, a small number of faces fill the bottom of the grid.  However, as time progresses, the faces gradually move up and up.  The player’s objective is to keep the faces from reaching the top via making matches.  This game mode goes on and on forever.

 

What Went Right

  1. SDL – The Simple DirectMedia Layer (http://www.libsdl.org) was used for this project.  I don’t recommend SDL for most commercial applications, because I’ve definitely found some shortcomings; however, the library’s simplicity and usefulness helped me complete the programming in the time allotted to myself.  It is a great library, and I wholeheartedly recommend it – especially for the beginning game programmer.
  2. Time Restriction – I gave myself little more than a weekend to complete the game.  I told myself I was not going to allow any more time, and this was just a simple project (I have since retracted this for reasons I’ll explain later).  Because I gave myself so little time, I knew I had to work hard and long days.  I think I probably spent well over eight or ten hours a day doing nothing but programming, which is quite a lot for someone who currently is not making any money from programming.  Had I given myself more time, I’m nearly certain I would have slacked off a lot more.  In fact, I think in my three days of programming I accomplished more than nearly all of my other game projects that took significantly longer.
  3. People – The artist that drew most of the art for Funny Faces is an excellent man, and his art really made the project seem worth my time.  In fact, it was his art that clenched my decision to pitch the game to a publisher.  The musician was great too, although in reality the original music came from a past project he and I had worked on that never finished.  Luckily I think the music fit in well.  I really feel that although this game was a small project, it would not be half of what it is if I were the only one working on it (look at all the games I have worked on alone, and it is obvious that Funny Faces surpasses them by far).
  4. Surprises – The game was met with a few pleasant surprises.  First, when I got the artist’s art and plugged it into the game, the result was dumbfounding.  The game was literally transformed from mediocre to amazing.  Second, when I showed my younger sisters the game, I inadvertently made them addicts – I honestly did not think the game would be so well received by my small little audience.  Their love of the game made me even more devoted to it.

 

What Went Wrong

  1. Programming – Although I started out with good intentions, my code started turning into “hack” code.  Furthermore, my coding style is not the best.  I was very lucky that the only bugs I found were small.  I strongly urge any programmer to adopt a solid, consistent coding style that works for him/her.  Also, plan your code!  I did not do this – I simply started tossing in components.  Eventually the code started to look icky, and I was having trouble thinking of a decent way to implement new features.
  2. Time Restriction – Three days is not a lot, and the game was a little more complex than something I could do in three days.  When the end of the weekend came, I still had more things I wanted to/had to implement.  Sure, the game was playable and I could pass it off as a decent game to the public, but I wanted more.  Thus, I relieved myself of the time restriction.

 

What I Learned

  1. Set up a schedule with achievable yet ambitious goals; follow the schedule avidly and be very careful not to get distracted.
  2. SDL is good, but it has its problems.
  3. Plan! Plan! Plan!
  4. It is hard – nearly impossible - to build even a simple (and good) game alone, especially if you’re like me and have no artistic/musical talent whatsoever.
  5. Graphics and sound DO count.  Gameplay makes a great game and is absolutely necessary, but good graphics and sound make a good game better.
  6. Show people your game.  These people can give you insights and opinions you  may have not considered.  Furthermore, if they love your game, you get a really good feeling.
  7. Compile and test often.  I build my game probably every half an hour to an hour and test out any new features implemented.  Very often there are bugs, and therefore I can squash these bugs before they manifest into something larger.
  8. Puzzle games need a sense of urgency about them.  Why do people frantically move their pieces around in games like Tetris, Battle Balls, Tecmo Stackers, or Tetris Attack?  Because if they don’t, they’re going to lose fast!  Funny Faces lacked the sense of urgency at times, and thus players were not so inspired to play the game.  Probably the best mode in Funny Faces is the Rising Faces mode, because the player has to constantly worry about faces on all sides of the board and compensate for those faces.
  9. Try getting published.  You may not think your game is remarkable, but it may very well be able to make you some money.  Whenever you make a decent and relatively bug-free game (if you don’t make your living making games), send it to a small publisher like Xtreme Games or Dexterity.  They may not accept you (Dexterity didn’t accept Funny Faces).  If they don’t, simply move on and make a better game.  If they do, you’re now making money for something you enjoyed.  Also, don’t stop after one publisher rejects you.  As I said, Dexterity did not accept Funny Faces.  However,  Xtreme Games did.
  10. If you start with small games and work toward making better games, you will eventually make something really good.  A common mistake many newcomers – including me – make is to start with the next big game (which practically always fails).  Then I entered reality.  Most of my beginning finished games were mediocre, but I learned – just as anyone who sticks with game development can learn.  Now I have made something I can be proud of (I think), and I feel more confident about finishing more substantial projects.

 

Conclusion

            I really liked working on Funny Faces.  Luckily, the development cycle had more ups than downs.  The project gave me a break from my moderately large project that I’m working on (lookout for Vereor coming soon!), and it is one of my best games to date.  The game taught me a lot about the nature of puzzle games and how to make a good game.  Hopefully most of you will agree that Funny Faces is a quality game.