Back to the Index nether
bad mac code
On this page you can download various Macintosh games and other software I have written. Be warned than they are mostly development versions at present, and although I've made them as reliable and bug free as possible, you may encounter problems when running them. You use these programs at your own risk. That said, all the programs on this page are stable enough that I am happy to run them on my computer!

Please read the documents supplied in the archives for instructions, known problems and copyright information.



Phoenix Final r206

Yoink 1.0.0 d6

Rescue 1.0.0 d9

Super Phoenix 1.0.0 d12

Animation Test 1.0.0 d1

Alpha Picture REALbasic Plugin 1.0.3

Download (13.9MB)

Phoenix Final r206

Screenshot of Phoenix Final

A powerful force of leviathan warships is spreading out across the galaxy, destroying every inhabited planet they encounter. With the aid of your specialised fighter bomber squadron, you must intercept the leviathan battle groups and strike at their weak points before they can reach your world.

It won't be easy. The leviathans are heavily armoured and studded with hull defences, and their escort fleet and fighter squadrons will be sure to give you a hard time.

Phoenix Final is loosely based on the frenetic gameplay of Super Phoenix, but extends it into full 3D space combat. It is currently under development, but a preview version can be downloaded above.

I am using Unity to make this game, a sophisticated and flexible visual game development environment. I thoroughly recommend it for Mac developers who are looking for an easier way to make complex games!

Phoenix Final requires a G4, G5 or Intel Mac with a reasonably modern graphics card such as an ATI Radeon 9600 or equivalent. Older graphics cards will work, but may be too slow. Also, the GMA950 found in MacBooks and Intel Mac minis is unable to play the game at a reasonable speed at present. Mac OS X 10.3.9 or newer is required.

There is no Windows version at this point in time.


These screenshots are a bit out of date. I will replace them eventually!

Source Code

The C# source code (157KB) for Phoenix Final is available for use under the zLib License. Please read the license carefully and credit me if you use my code. The Unity project and other resources are not included.

Download (568KB)

Yoink 1.0.0 d6

Screenshot of Yoink

Leap tall buildings! Crush stupid robots beneath your feet! Wield your extra-terrestrial powers in the defence of humanity and send those alien invaders back from whence they came! Do all these things (apart from the last one at the moment) in my new game, Yoink!

This new version adds score and health bonuses, dropped by the enemy when you defeat them. No more running away to heal yourself - you've got to get in amongst the action to keep yourself in good condition!

If you have any suggestions or bug reports, please contact me in the usual way.

Yoink will run on any G3 or G4 with at least Mac OS 9 or Mac OS X 10.1 and a fast graphics card that can accelerate OpenGL. Under Mac OS 9, CarbonLib 1.5 is required.

uDevGames 2003: Yoink is a winner!

Yoink was my entry in the uDevGames 2003 contest. uDevGames is an annual event held by the iDevGames Mac game development website.

Yoink won in two categories, coming first in originality and fifth in graphics. Yoink also came sixth in gameplay and was judged to be the sixth best game overall. Needless to say I am very happy with the results! Many thanks to everyone who voted for Yoink, and congratulations to all the other winners!

Although the contest is over, many of the games are still available from this thread in the forum. If you haven't already tried them all, take a look - there were some excellent games this year.

Source Code

The Yoink source code (1530KB) is available for use under the zLib License. Please read the license carefully and credit me if you use my code.

The source code archive is only useful to programmers - if you only want to play the game, you don't need it!

Yoink is written in C++ using MetroWerks CodeWarrior 8 and will probably require some modifications before it will work with another compiler. The most important technologies used in Yoink are OpenGL, Carbon CFM, DrawSprocket, InputSprocket (under Mac OS 9), Sound Manager, Core Foundation, STL and TinyXML.

If you have any comments about my source code (especially if you can see ways to make it better!), or if you're making something interesting with it, please let me know.


Rescue 1.0.0 d9

Screenshot of Rescue

The arrival of an armada of vast battleships suggests that the resident aliens want their asteroid belt back, so it's your job to evacuate your fellow miners from the rocks before they get blasted into atoms. Your only weapon: a tiny tugship loaded with a variety of mining tools. You'd better hurry if you want to survive....

This version, as presented in the uDevGames 2004 contest, has some semblance of actual gameplay: you can fly around to locate populated asteroids and evacuate the miners, then progress to the next level. There is also a time limit beyond the first level, so keep moving!

Rescue is known to work on Mac OS X 10.2 or better. Mac OS 9 is not supported (although it may be in the future as this game is intended to be portable). Let me know if it happens to work on earlier versions of Mac OS X! A good graphics card is essential for this game: an ATI Radeon or equivalent NVidia card is the bare minimum.

Instructions and an editable preferences file are included in the archive - please read them carefully!

As ever, all feedback, bug reports and so on are appreciated! You can also monitor my progress in my developer's blog at uDevGames, and there is a discussion thread in the iDevGames forum.

uDevGames 2004: Rescue wins in three categories!

Rescue was a winning entry in the uDevGames 2004 contest. With the aid of my team mates Brian and Mikko, Rescue came second in the Audio and Story categories and third in graphics. Thanks to everyone who voted highly for us!

Source Code

The Rescue source code is available for use under the zLib License. Please read the license carefully and credit me if you use my code.

The source code archive is only useful to programmers - if you only want to play the game, you don't need it!

There are two versions:

Version 1.0.0d10 for MetroWerks Codewarrior 8.3 (5.0MB)

Version 1.0.0d11 for Xcode (3.8MB)

Rescue was originally written in C++ using MetroWerks CodeWarrior 8.3, but I have put together an Xcode project to make it accessible to more developers.

Rescue uses OpenGL, SDL, SDL_image, SDL_mixer, WildMagic, STL and TinyXML, among other things. All required libraries and instructions for building the game are included in the archive.

Download (644KB)
Preliminary Documentation

Super Phoenix 1.0.0 d12

Screenshot of Super Phoenix

This is a preview release of my space shooter game, Super Phoenix. It's very stable and quite playable at this stage, although the difficulty level's pretty high.

Documentation is included within the archive. You can also take a look at my preliminary HTML documentation here, although it's not really finished and it refers more closely to a much earlier version.

This new release adds collisions with buildings, ground turrets and bombing, as well as improving the graphics and sound.

I plan to add a proper game structure next, including a galactic map and a variety of different levels.

As Super Phoenix is still under development, I'm keen to receive feedback, especially regarding bugs, performance on different Mac configurations and graphics cards. I'm also open to suggestions for improving the gameplay. You can contact me here.

Super Phoenix will run on any G3 or G4 with at least Mac OS 9 or Mac OS X 10.1 and a fast graphics card that can accelerate OpenGL. Under Mac OS 9, CarbonLib 1.5 is required.

Download (384KB)

Animation Test 1.0.0 d1

Screenshot of Animation Test

An experimental program that shows a running girl in 3D. Source code is included, but it's some of my earliest Mac stuff, so it's pretty bad!

Quickdraw 3D is used to render the graphics, so you'll need to pick up the latest version from Apple (get it with the OpenGL installer). Please read the notes in the archive before running the program! You'll also need a recent version of InputSprocket.

WARNING: This program is only a test piece, and has very limited error testing. It should be OK, but be aware that it might crash in some circumstances.

Since I released this program I noticed that it runs far, far too fast on recent Macs. It also looks wrong on some ATI cards. I have an updated version almost ready, but I need to tidy it up a little before I release it.

Animation Test is not Carbonised and must be run under either Mac OS 9 or earlier or in the Classic environment under Mac OS X.

Download (121Kb)

AlphaPicture REALbasic Plugin 1.0.3

This plugin enables REALbasic to utilise the alpha channel or transparency information of an image file. Normally you're obliged to have a separate mask file to describe an image's transparency, but with this plugin you can derive both the image and its mask from a single file.

The plugin supports any format which QuickTime can load (including TIFF, GIF, PNG, PICT, Targa and Photoshop). Instructions, a testbed application and full source code are included.

I wrote the plugin for REALbasic 5.2.4 and newer, but older versions might also work - please let me know if this is the case. At the moment, only Carbon builds are supported.

Version 1.0.3 can load GIFs twice as fast as before, and memory consumption has been almost halved. See the release notes in the Read Me file for more information.