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:
- Time
Attack – The player tries to get the highest score possible in a set
amount of time.
- 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.
- 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
- 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.
- 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.
- 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).
- 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
- 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.
- 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
- Set up
a schedule with achievable yet ambitious goals; follow the schedule avidly
and be very careful not to get distracted.
- SDL is
good, but it has its problems.
- Plan!
Plan! Plan!
- 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.
- Graphics
and sound DO count. Gameplay makes
a great game and is absolutely necessary, but good graphics and sound make
a good game better.
- 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.
- 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.
- 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.
- 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.
- 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.