Smileys Be Gone!

Keywords: computer game, 2d graphics, arcade, pyweek
September 2006
teaser image



Smileys are taking over the world, and you are mankind's only hope! You must make them disappear, and to assist you in this noble goal, you are provided various tools and powers: most importantly, you can place springs on the sidewalks that will catapult these vicious smileys off into some direction. Another important power at your disposal is the ability to control traffic lights, thus causing more mayhem. You must battle these smileys in level after level, making them disappear in specific ways before you can proceed to the next. Go forth now, and help save the planet!

To run the game, simply type:


That's it! Instructions for the game itself can be found in the main game menu (click on the Help menu item).


Smileys Be Gone! depends only on core python libraries and pygame. No external libraries should be necessary. It was tested on both Windows and Linux, using version 2.4.2 of Python and version 1.7.1 of Pygame.

This game was written in a week for the PyWeek game contest, in which teams compete to write the most fun game within a week. Contests are held a few times a year, and at the beginning of the week, a "theme" is announced that all teams must adhere to. There are few restrictions, except that games must be written in python using the PyGame framework. This was the submission by me and my good friend Rob (during his one-week vacation in-between jobs!), back when I had only just learned python.


  • Large variety of environment elements, including cars, trains, smileys, etc.
  • Manipulatable behavior of elements, including attracting/repelling smiling, catapulting them, changing traffic patterns by clicking on traffic lights, calling for the train to appear, etc.
  • 15 different levels
  • Ability to play any level without having completed it
  • Level builder provided to make your own levels
  • 15 great music tracks, from 8bitPeoples
  • Ability to listen to your own music by simply copying or symlinking it into the music directory
  • 3 different difficulty levels


Smileys Be Gone! source code

Smileys Be Gone! source code:

The full source code and all assets (including music) for Smileys Be Gone! This version will run on linux systems, and perhaps mac as well (not tested).
Smileys Be Gone! windows binaries

Smileys Be Gone! windows binaries:

Binaries for windows, as well as the full source code and all assets (including music) for Smileys Be Gone! This version should run on windows systems.


Title screen, with totally ironic use of Comic Sans

Title screen, with totally ironic use of Comic Sans:

The scourge of the smileys is made brutally clear with an animation of the attacking horde.
Game Play 1

Game Play 1:

A peaceful (and symmetric city), being overrun by packs of wild smileys. On the right, current "mayhem" counts of how much damage you've caused.
Game Play 2

Game Play 2:

A tiny suburb, with trainlines above and below (notice two cars getting totalled on the bottom!).
Game Play 3

Game Play 3:

A more walkable city, with a small road-less walking area in between (totally suited to catapulting smileys into building sides). Notice car crashes on the right.
Game Play 4

Game Play 4:

A large city with a central trainline, perfect for all your smiley- and car-destroying needs!
Game Play 5

Game Play 5:

Trains galore!
Help Screen 1

Help Screen 1:

Main game screen elements explained. (Available in-game from the help menu.)
Help Screen 2

Help Screen 2:

Interface elements explained. (Available in-game from the help menu.)
Map Builder 1

Map Builder 1:

You can create your own maps (or modify existing ones) with the provided level builder. Levels are defined based on an overlapping grid system: white lines are possible roads, red lines are possible sidewalks, blue blocks are possible buildings, and orange lines are possible trains.
Generated Map 1

Generated Map 1:

The map generated from the mapbuilder image shown previously.
Map Builder 2

Map Builder 2:

A very different map being built in the map builder.
Generated Map 2

Generated Map 2:

The map generated from the 2nd map shown previously.