The left-hand-side of Isomorphic 2-Cars is a simple remake of the phone game Two Cars. The right-hand-side is a 3D spaceship game which is mathematically isomorphic to Two Cars, meaning that if you play one, you're automatically playing the other.
This was originally written for the Zero-Hour Game Jam, and as such I've also released this prototype version which was written in approximately 40 seconds (UK time). The extra polish on the "real" version took it up to more like 90 minutes (again, not counting the hour that the clocks went back).
Gravity is a two-player, physics-based, deep-space shooter. Two enemy ships for some reason take turns blasting missiles at each other — but between them is a system of planets whose gravity bends the missiles' trajectories.
It uses the HTML5 Canvas element, and to be honest, most of the work was in making the explosions pretty.
A few puzzles I have set, designed, or otherwise had a hand in.
3doku is a 3D version of sudoku (or, if you are a mathematician, a 2D version of sudoku wrapped around a cube). Each of the six faces of the cube is a 4×4 grid, which must contain the numbers 1–16. The other groups are bands going around the cube: pick any square, and move either vertically or horizontally, folding around the edges of the cube as you go. Once you reach the square you started from, you should have covered 16 squares — which should of course contain the numbers 1–16.
3Doku is also available as an Android app.
In 2016, Paul and Katie got married, and it was the most strongly branded wedding I have ever seen — just look at their wedsite. Mark decided there had to be a block-matching game based on this branding, and Paul and Katie love the 2p pushing machines that take all your money at the seaside. And it was for a wedding, so obviously it was going to be a two-player co-op.
"monsters" was a quick and dirty, but surprisingly effective, Pokémon Go knockoff. It ran in Chrome for Android only, and used the HTML5 camera and accelerometer APIs to overlay a simple image of a monster onto a live feed from your camera. Monsters included Cucumbear, who evolved into Camembear, Garlick, who evolved into Darlick, and Man (pictured).
Unfortunately all of these APIs were in draft at the time so the camera integration stopped working and didn't seem worth fixing after everyone stopped caring about Pokémon Go. But it remains a perfect example of something that would have been completely impossible a few years ago but took a couple of evenings to throw together nowadays.
In these modern times, Snake looks as dated as the Nokia phones that made it famous. But need it?
Perhaps the issue is that the low-res, right-angle-based graphics are dragging it down. So I created Analogue Snake, where you can turn at any angle you like.
But that still seemed a little dated. So I thought, perhaps the issue is the rather primitive game engine. So I built Analogue Snake II, which has ragdoll physics and gamepad/mouse controls.
To be honest, it still feels a tad old-fashioned.