Thursday, September 28, 2006

Source Code Extravaganza (+Extra)

Today is the day for a very special exclusive event: I'm going to provide the full source code to every game that I've talked about on this blog. That's Extinguish, Zi, Vertical, RRRRRPG, Zombie City 2, Zombie City 3, and Zombie City Tactics.

For those who wish to skip all my incoherent ranting and get to the files, you can download all seven of them in one dandy package right here:

7 Games Source Code

All games but one are coded in C++ (Zi is in Python), using OpenGL and SDL for graphics. If you're not the type to be interested in programming, skip to the end and there's a picture.

Okay, now to talk about each one in a little more (self-depreciating) detail (in roughly chronological order):

Zombie City II
This is the oldest program in the lot, and it shows. Biggest uncool thing here is the lack of a dedicated Display object. If you want to change the visual scheme of the game, then you have to go shuffling around in half a dozen different files. What a pain!
I'm rather fond of the AI code here, even if it is VERY closely tied to the original Zombie Infection Simulator's AI code. Also note: some of the map-drawing functions used here will also be used in all future Zombie City games!

Another old one, still no Display object. Pretty crude code overall - all special techniques (and virtually everything else) are hard-coded. Not much to talk about here.

Zombie City III
Same problems as the previous entries, but now with a ludicrously complex lighting algorithm! Hit detection is also handled horribly, too - every being checks its distance from every other being every frame. If (when) I make the next non-grid-based Zombie City, I'll definitely improve on this.

Ahh, the ill-fated NaViGaWriMo project. This only got to version 0.1, and it is very heavily based on the ZC3 code, and it crashes pretty frequently, but I am including it in here for posterity's sake.

This one is a little bit more elegantly coded than most of the above projects. Included is my very own hand-coded Sprite class, simple but it works. Also look within for alarmingly complex collision detection code!

This project is particularly unique in being the only one not coded in C++. It is, in fact, coded in Python, and coded pretty awkwardly at that. I was trying to cram Python into my C++-shaped programming mind, and this is the result. Works... mostly!

Zombie City Tactics
And this brings us to my latest creation. Coded decently well all around, no huge complaints. Zombie Lord code a tad buggy, and my implementation of the A* Algorithm is wince-worthy. Also packaged is ZCTEDIT, a simple program I used to create the 100 maps packaged with the game.

And that's that. All .zip files come with all .DLLs and data files required to compile and run the program. Recently, I've been listening to my CompSci professor rave about how great Scheme is, and it sounds pretty interesting. After this is all over, I may try to make a game in it.

Feel free to use this code to make your own games/mods/whatever, under two conditions: Credit me for my work, and send me a link to it so I can check it out.

On an almost-but-not-quite-entirely unrelated note, I recently recieved the first ever piece of Zombie City Survivors fanart, from artist Mike Yi! Check it out:

Ajax Turtledove: The Fanart

Lookin' good, Ajax!


Geca said...

Hi, can you disponibilize the source code of Phoenix 2X ? My email is


Anonymous said...

cell phones
mobile phone
cheap cell phones wholesale