Matthew Clarke's programming stuff...

Oooh-arrr!

Language: 6809 assembly
Status: playable demo
Source code Wiki
A platform arcade game for the Dragon 32/64, set in the Welsh valleys. Farmer Gryffydd's prize-winning blue-legged sheep have dismantled his tractor and scattered the parts around his fields. Help him rebuild it while collecting bonuses and avoiding hazardous livestock!
Features:
  • full-screen 50Hz double-buffered animation
  • collapsing and moving platforms
  • rope swings
  • sound effects
  • 100% machine code
  • deluxe Dragon 64 version

Sally's Garden

Language: 6502 assembly
Status: playable demo
Source code
An arcade game for the Commodore 64. Help Sally collect the fruit and veg from her garden, avoiding the truculent wildlife!
Features:
  • sprite multiplexing - up to 16 hardware sprites on screen at once
  • music and sound effects
  • high score table
  • dynamic collapsing platforms

Pothole Percy

Language: 6502 assembly
Status: playable
Source code Wiki
An arcade game for the Commodore 64. Repair the potholes in the allotted time while avoiding traffic. And help out pedestrians for bonus points. You can also download a 'cracked' version of this game at CSDb.

Feathered Friends

Language: Perl/Gtk3
Status: incomplete but usable
Source code Wiki
A simple birding application. Record your sightings of British birds in a MySQL database.

DragonForge Assembler 6809

Language: Perl
Status: operational
Source code
A cross assembler for the Motorola 6809 microprocessor, as used in the Dragon 32. Supports all legal opcodes and addressing modes as well as parameterized macros and three label types (global, local and anonymous). You can also embed calls to custom Perl subroutines in your source code files to generate instructions programmatically during assembly.

Spritissimo

Language: C++/SFML
Status: operational for 128*96 resolution
Source code Wiki
A sprite editor for creating Dragon 32 software, and later maybe other 8-bit systems. Fully-featured editor with bucket-fill, cut/copy/paste, pixel shift and masking. Also with an animation suite featuring variable frame rate and three animation types. Save your projects as XML (default Spritissimo project file format), 6809 source code or a PNG image. A help screen details the extensive keyboard command set.

Fish Supper

Language: C++/SDL
Status: playable
Source code
An arcade puzzle game inspired by the vintage classic, Frogger. Get Albert the cat across the river to a tasty fish supper. To land on the coloured logs you must collect a matching crystal. The game's historical home is on SourceForge, but it's also on GitLab. There's a video of it on YouTube.

Bertie's Biscuits

Language: Pike/SDL/OpenGL
Status: work in progress - playable demo
Source code Wiki
A 4-way scrolling platform arcade game. The robots in Bertie's biscuit factory have gone berserk and all production has come to a halt. Repair the machines, solving puzzles along the way, so biscuit manufacture can be resumed.

EasyGL

Language: Pike
Status: operational
Source code
A bundle of modules and classes for multimedia OpenGL programming projects in Pike. Incorporates a port of Karl Bartel's SFont library. I use it for the game, Bertie's Biscuits and the business application, aphop_sdl (part of the abeoos suite).

Expresso

Language: Pike
Status: operational
Source code
An expression parser complete with test suite. Can parse and evaluate arbitrarily complex integer expressions. Supports the four main arithmetic operations as well as exponentiation. Designed for use with a 6502 cross assembler (eventually...).

Abeoos

Language: C++, Pike, JavaScript, SQL
Status: historical archive
Source code
A suite of applications developed for Oxfam for generating and maintaining listings of donated books for sale on abebooks.com and the Oxfam Online Shop. We used it between the years 2009 to 2014.

Connect4

Language: Java
Status: operational
Source code
A Java applet version of the game, 'Connect 4', from 2005. Your skills are pitted against a rather crude computer opponent.

Matrix CMOD

Language: C
Status: operational
Source code
A Pike CMOD (C module) for matrix maths. Supports scalar and matrix multiplication.

Allegro CMOD

Language: C
Status: incomplete but usable
Source code
Pike bindings for version 5 of the Allegro multimedia library. Includes documentation in Pike's autodoc format.

Chipmunk CMOD

Language: C
Status: incomplete but usable
Source code Wiki
Pike bindings for the Chipmunk 2D physics library, version 6.1.5. Documentation included.

Commodore Golf

Language: 6502 assembly
Status: in development

My entry for the Forum64 & Protovision Game Competition 2017 (theme: sport). Here's a link to my blog where I write about the game's development and here's the instruction manual. You can now download the game from CSDB.

Base converter

Language: Perl/Gtk3
Status: operational
Source code
Simple tool for converting numbers between the four main number bases and calculating the 2's complement.

You Got Podcast

Language: Pike/GTK2/SQLite
Status: operational
Source code
A simple podcatcher for Linux. An external media player (of your choice) plays the actual podcasts. An SQLite database takes care of data storage and organization.