Smiley Blast


A simple game where you shoot at smiley faces that bounce around on the screen.

Left click to fire your weapon, right click to change your weapon.
It has high scores and a menu! whoa.

The whole purpose of putting this project here is to document my own journey through programming. I started working on this when I was 16, working out of a Learning Python book (A paper book! How oldschool!), the pygame documentation (which I understood pretty poorly), and raw enthusiasm. That high you get from making a game (a game! That I made!) for the first time is pretty great, and while this project is really pretty bad by most quality metrics, the process of making this project is very important to my process of learning programming as a person. I figure, maybe if you're learning programming and stumble upon this page, you might be soothed by just how shitty this game is, given how far my programming career has progressed since this was the height of my abilities.

Screenshots

The main menu The machine gun weapon The chain explosion weapon the plague weapon The devil smiley The high scores menu

Technical

It's written in python, and it uses pygame (whose site has a much less aesthetically painful theme these days) to make the graphics and sound happen.

Given the game's age, it will come as no surprise that I haven't updated it to modern versions of python. If you run it from source, you'll need to install python 2 (last tested on python 2.5 and 2.6), and a very old version of pygame (last tested on version 1.7). If you run it on windows from the exe, you won't need to worry about that.

Downloads

Version 0.7
Source (.tar.gz)
Windows (.zip)

v0.7 is the first and only version.

Legal

The license is Lesser GPL.

I did much of the art myself (the smileys, the titles), but some of it (the explosion, the bullet holes) I straight up got off of google images. I do think they're free for use, but truth be told, I didn't check. You'll notice, mere moments after beginning play, that the soundtrack is...less than legal. I'm just banking on obscurity for avoiding the consequences of that.