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.
CardsWorld_1.zip: This is the same as above only zipped.
CardsWorldGeneral_1.zip: 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:
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:
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.
MysticalMusicMakerWindows_11.zip: Same as above only zipped
MysticalMusicMakerJava_11.zip: 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.
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
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.
|Shape||Can be elliptical or square.|
|Inner Radius||Radius of inner tube|
|Outer Radius||Radius of outer tube|
|Width||How wide the wheel is|
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:
|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:
|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
|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:
|Thickness||How thick the metal is|
|Rim Radius||Inner radius of rim|
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:
With the blade you can change its shape size and detail though the following values:
|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.|
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.
|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.|
Hopefully the picture below should explain what the different values mean:
Here is a table summarizing all the values:
|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.
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.
This is an emulator for old arcade games on XBox 360.
A sort of 3D platformer for Xbox 360 and PS3
Light saber battles on Wii.
Arcade brawler for PS3 and XBox 360.
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.
Music Creation application for PS2. You could make songs and also videos with this. It also included an exclusive version of Disco Hurts
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.
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.
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.
A platformer in which a French Chef chased some vegetables. Got excellent reviews from everyone except the French.
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.
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.