Cards World

Cards World

This is a collection of card games. You can download it for Android from Google Market Place. There is also a desktop version downloadable from one of the links below. Note you will need to have Java installed to run it.

CardsWorld_1.exe: Installer for windows. Download this exe and run it to install the program. This is the same as above only zipped. This is a general version that should work on PC, Windows and MAC. To run it, unzip the archive, go to the command line, set you current directory to wherever you unzipped the contents to and then type java -jar cards.jar.

The following games are included:

Here are a few of screen shots of the Android version in action:

cardsworld_1 cardsworld_2 cardsworld_3

Snooky Snooks

Snooky Snooks

This is a free pool/snooker/9-ball game for Android. You can download it from here(link). For more information on playing the game, visit here.

Here are a few of screen shots of the game in action:

snap0 snap1 snap2 snap3

Mystical Music Maker

Mystical Music Maker

This is a program for creating songs. It works in a similar way to the old music tracker programs that used to be popular in the 90s. I think though I have improved on that idea a bit.

Like a tracker, you can group music sequence together into a block called a pattern. In trackers you are limited to pasting blocks one after the other, with this you can not only paste them in paralell you can also group patterns together to make new patterns in a sort of hierarchy. Also not only can you apply special effects like vibrato and pitch slides to notes, you can also apply them to patterns, so you can do things like slide up the pitch of an entire song.

The program also has a comprehensive instrument editor. You can load in your own sound samples to use, tune them up to the correct pitch and then add effects like vibrato and volume fade. You also have the ability to use different samples for different notes.

To install Mystical Music Maker, click on one of the links below. If you have problems make sure you have Java installed properly.

MysticalMusicMakerWindows_11.exe: Installer for windows. Download this exe and run it to install the program. Same as above only zipped Use this file to install the program on non-windows computers. Extract the contents of the zip file and then run the .jar file in the folder MysticalMusicMakerJava_11.

Here are a couple of screenshots of the program. The 1st one shows the pattern editor where you paste down notes. The 2nd shows an instrument being edited.

mmm 1 mmm 2


Plugins (Blender)


I have written a couple of plugins for blender. One allows you to create propellors and the other a wheel for a car or bike.You can download them from the links below.

To install either of these plugins, first of all extract the contents to your computer. Now Open Blender, go to File->User Preferences and click on the button at the bottom of the window that says Install From File. Select the file you just extracted.

Next you must activate the plug-in. Go to the add mesh section and make click on the tick box next to its name. Now to run it, go to object mode and select add->mesh->propellor or add->mesh->wheel. Following is more in depth information on each lugin

Wheel Plugin

This plug-in lets you create various types of wheels. You can make bicycle wheels with spokes and car wheels with hubs. Examples are shown below:


When you select add->mesh->wheel in blender object mode, you should find a gui appears in the tool panel. Going through the entries here in order, Firstly you will find Operator Presets, this lets you save your current settings for use later or load up previously stored settings. If you click on the button, you will get a list of your previously saved settings which you can then load. If you click on + you can save a preset whereas - will delete the just loaded preset.

Below this is a toggle for Mesh Update. If this is selected, then the mesh will be changed every time you alter one of its parameters. Otherwise it will be unchanged until you select it again.

Next is a drop down menu which lets you choose the part of the wheel to edit. You can choose Tire, Middle or Rim. Below is a brief description of the parameters in each section.


Name Description
Shape Can be elliptical or square.
Inner Radius Radius of inner tube
Outer Radius Radius of outer tube
Width How wide the wheel is
Tread Whether or not to create a tread for the wheel. If you choose flat the tire will be a featureless donut, otherwise it will have a tread made of rectangular blocks. In the case of a tire with blocks, the following parameters are available:
Name Description
Thickness How thick the tread is.
Detail How detailed the mesh is
Blocks How many blocks are used to make the tread. The first number is the number around and the second the number across the width
Size Size of each block. These numbers vary between 0 and 1. if 0 then the blocks will be tiny whereas 0.5 will take up half the space
Arrow Controls the pointing of the block. if zero then they will be square. Bigger numbers will make them look like chevrons.
Detail The two numbers here control how many faces are used to make the mesh


This is the central part of the wheel, made up of the spokes or hub. The first option lets you choose whether you want spokes or a hub. The values after this depend on which one you choose. If you choose Spokes, you get the following:

Name Description
Density How many spokes
Offsets if this is zero, then each spoke with go from the outer rim to the inner radially, otherwise it will be rotated round a bit depending on the value. The best way to understand this value is to play around with it and notice the changes in the mesh.
Inner Radius Radius of inner hub
Radius Radius of spoke wire
Separation How far from the center the spokes end up on the inner rim
Wire Detail How many faces to use for the wires cross-section
Curve Detail How smooth the curve is when the spokes bend round
Disc Detail How detailed the mesh for the inner hub is
Disc Width Width of inner hub
Axle Radius radius of cylinder making up axle
Axle Size How long the axle is

If you choose hub, the following parameters are available

Name Description
Detail How detailed the mesh is
Rings The hub is made up of a number of concentric rings. This values selects the number.
Radius The radius of each ring
Distance Height of each ring


The rim is the metal ring to which the tire is attached. The following parameters are available:

Name Description
Thickness How thick the metal is
Rim Radius Inner radius of rim

Propellor Plugin

This plug-in lets you create propellors in a few simple steps. You can make many different kinds of propellors, including aircraft propellors, marine screws and fans. See below for some examples.


When you run the plug-in, you should find a propellor at your cursor position. You can adjust it by tweaking the various values in the panel. The first value is the blade count which should be self explicit. Following this is a switch for mesh update. If this is off then you won't see the mesh change when you change the values. Normally you would want this on but if your machine is overloaded with too many faces you might want to turn it off. The next entry named Part lets you choose the part of the propellor you want to edit. There are 3 parts, the blade, connector or nose. Each part is described in detail below:

Blade Parameters

With the blade you can change its shape size and detail though the following values:

Name Description
Type Can be square or elliptical.
Sweep How far back the blade sweeps from its base to its tip (in degrees).
Radius Tip Radius of blade. Distance from center to tip
Radius Root Distance from axis to root of blade.
Width How wide the blade is
Taper You will only see this value for square blades. It controls the width of the blade tip. For square blades, the width will vary from the value above to this one linearly from the root to the tip of the blade.
Angle Start angle of attack of blade at root
Angle End Angle of attack of blade at tip. Angle varies linearly from root to tip
Chord How thick the cross-section of the blade is compared to its width.
Symmetry size of forward section of blade compared to read. If this is zero then the blade will be symmetrical whereas negative and positive value will make it bigger on one side compared to the other. The value can be in the range -1->+1.

Detail How many faces to use for the mesh.


The connector is what I call the arms connecting the blade to axis and the bit in the middle.

Name Description
Hole Inner Radius inner part of hole
Hole Outer Radius of outer part of hole.
Height Height of hole
Arm Length of arms connecting blades to middle
Detail How man faces to use for mesh.

Nose Parameters

Hopefully the picture below should explain what the different values mean:

Here is a table summarizing all the values:

Name Description
Radius Radius
Height Height cylindrical section of shaft
Nose Height rounded nose at top. If this is zero, the the shaft will just be a cylinder.
Detail Faces used for the mesh.



I have worked as a software developer since the late 80s. Here's a list of some of the projects I have worked on over the years.

Virtual Reef

This is a project at QUT (Queenland University Of Technology). It's a simulation of the great barrier reef run on an array of large touch panels. See a video of it here.

logo logo

Games Room

This is an emulator for old arcade games on XBox 360.

logo logo

Star Wars: The Clone Wars – Republic Heroes

A sort of 3D platformer for Xbox 360 and PS3

logo logo

Star Wars The Clone Wars: Lightsaber Duels

Light saber battles on Wii.

logo logo

Hellboy: The Science of Evil

Arcade brawler for PS3 and XBox 360.

logo logo

TT Super Bikes

A simulation of the classic Isle of Man bike race. We used a special laser van to measure the contours of the road so as to make the simulation as accurate as possible. We also painstakingly created all the buildings along the 40 mile course and used a super accurate physics model for the bikes care of Physics Dave.

logo logo

Music 3000

Music Creation application for PS2. You could make songs and also videos with this. It also included an exclusive version of Disco Hurts

logo logo

Pocket Music

Music Creation on Game Boy Color. Though the gameboy color could in theory only make beep noises, we managed to make a pretty decent music creation program on it. We also hacked the hardware to allow us to add vocals.

logo logo

Green Baize Groovers

This was a freeware version of Pool and Snooker that ran on windows. It also included a version of Pool on a hexagonal table which was later copied by a more commerical product.

logo logo

Mr Marbles

Unreleased 3D Marble puzzle game.


Futuristic rcaing game. When the original playstation came out, quite a few people had the idea of making a futuristic race game for it. We at Mindscape game up with CyberSpeed and Psygnosis made Wipeout. Sadly CyberSpeed was never the hit that Wipeout was.

logo logo

Out To Lunch

A platformer in which a French Chef chased some vegetables. Got excellent reviews from everyone except the French.

logo logo

Racing Maniacs

3D racing on Amiga. I wrote this in my spare time. Was quite a challenge getting a decent 3D performance out of a system with a 14 Mhz processor and a bit planes graphic system.

logo logo

JET Project

This was a scientific research project set up by the European Union to investigate Nuclear Fusion. I was working here in Fortran on a mainframe computer before the days when PCs had taken off. I even worked on the predecessor of html called ml.

logo logo



You can contact me through the following email address . You can also contact me via LinkedIn.