1981AVADefend
Defender rebuilt from the original's documented behaviour: smart bombs, hyperspace, humanoid rescues and the hall of fame.
Insert coin · Player 1 ready
Software architect, at the keyboard since grade school in the late '70s. These days I rebuild the arcade and RPG classics I grew up on in C# and Avalonia, so they run natively on Windows, macOS and Linux, Intel or ARM.
Each one is a single self-contained program: download, unpack, run. No installer and no .NET needed.
1981Defender rebuilt from the original's documented behaviour: smart bombs, hyperspace, humanoid rescues and the hall of fame.
1982Twin-stick arena shooter. Save the last human family from wave after wave of grunts, brains and enforcers.
1981Ride the rim of the tube in red vector wireframe, with gamepad support and the warp between levels.
1979Wireframe terrain, a fuel gauge and a landing pad. Watch your vertical speed, and the asteroids.
1979Inertia, wraparound space, saucers with an alert siren, and controller support.
1981Bounce off the octagon's walls while droids lay mines. Spawn protection and explosions included.
1979Defend the rear of your ship in 3D vector space. Now with Capitol Ship mini-bosses, turrets and missiles.
1980Shoot through three counter-rotating rings to hit the cannon, while it fires through the gaps and homing mines close in.
1983Command the Enterprise from a 3D main viewer and tactical scanner against Klingons, anti-matter saucers and Nomad, docking at starbases to refill.
1983Dogfight TIE fighters, skim the Death Star's towers, then run the trench past Vader and put a torpedo down the exhaust port.
1980Tank combat through the periscope on a wireframe plain: radar, tanks, missiles, supertanks and the saucer, under the volcano.
1983Mine planetoids for Sinibombs while workers build the Sinistar piece by piece. Beware, I live!
1980Shoot your way through a maze of electrified rooms and talking robots before Evil Otto bounces in. Intruder alert!
1980Defend six cities from warheads, MIRVs, bombers and smart bombs with three missile bases, until THE END.
1982Fight the star's pull, raze bunkered planets, tractor fuel aboard and escape the reactor before it blows.
1978The march of the invaders, synthesised sound effects and full gamepad support.
1981Swooping waves, a breathing formation, and a tractor beam: lose a fighter, win it back, and fly two at once.
1982Flap your ostrich above the buzzard riders: the higher lance wins. Grab the eggs before they hatch; two can play at once.
1980Shoot the centipede apart in a field of mushrooms while the spider, flea and scorpion close in. Steer with the mouse like a trackball.
1982Drive the moon buggy from A to Z: jump craters and mines, shoot rocks and tanks ahead and saucers overhead, and beat the clock to each checkpoint.
1980Clear an original maze while four ghosts hunt you, each its own way; eat an energizer and turn the chase round. Fruit, coffee breaks and a rising siren.
1981Climb the building site to rescue the captive: jump the ape's barrels, grab a hammer, ride the lifts and pull every rivet to bring him down.
1981Hop five frogs home across the traffic and the river: ride logs and diving turtles, dodge the snake and the crocodiles, and beat the clock.
1982Tunnel through four layers of earth, pump the monsters up until they pop, dodge the fire, and drop rocks on whatever's below.
1982Walk the burger layers down the floors onto the plates while a sausage, an egg and a pickle chase you; pepper them, squash them, or take them for a ride.
1982Hop diagonally round a pyramid of cubes changing every colour; dodge the bouncing balls, lure the viper off the edge from a spinning disc, and curse when caught.
1981Draw lines across the open field and close them on the border to claim ground, while the qix tumbles about and the sparx run the border after you.
1983Gather every piece of gold and climb out the top; dig holes to trap the guards. Eight original levels and a level editor for making your own.
1982Zap what flies and bomb what's on the ground through the sight ahead; find the hidden Sol towers and bring down the Andor Genesis by its core.
1986Break every brick through twelve original rounds with lasers, three balls and the way out at the side, then face the Monolith; mouse or keyboard.
1981Fly six stages of mountains, caves, city and maze to the enemy base, laser ahead and bombs below, hitting fuel tanks to keep the gauge from running dry.
1986Blow bubbles to trap the monsters, then pop a crowd at once for double, double, double; collect EXTEND and keep ahead of the Shade.
1985Choose warrior, valkyrie, wizard or elf and fight down through endless dungeons; shoot the generators, find food and keys, and only magic stops Death.
1982Your plane holds the centre while the sky wheels round it: dogfight through 1917, 1943, 1966, 1988 and 2061, down each era's great ship, and warp ahead.
1984Take off from the carrier and fight up the ocean through fighter waves, red squadrons and bombers; loop out of trouble, down the great bomber and land on the next carrier.
1987Free four champions from the Hall of Mirrors and take them down the Deepvault in real time: rune magic, torches and hunger, eight levels of puzzles, and Vorthane the Unmade below.
1983Four colonists on the world of Verdance: claim land, lead robot mules out to farm, power and mine it, and haggle in live auctions to get rich without starving the colony.
1984Sail west for the Crown to a new continent every game: chart its coasts, trade with six peoples, found trading posts, and seek the seven golden cities over a twenty-year career.
1988A company of six takes back the ruined city of Corvane for its council: first-person streets, tactical grid battles, memorised spells, and the Hollow Regent waiting at the Lumen Well.
1981Six adventurers, a ten-level wireframe maze, and the mad archmage Morthrain waiting at the bottom.
1982The 50-level dungeon rebuilt room for room, in real time, with a Modern mode that adds an automap and no time limit.
1983Party creation, towns, dungeons, gem socketing and an OpenAL soundtrack.
1985Skara Brae and its catacombs, procedural music that darkens as you descend, and a second tower to delve.
1986First-person party dungeon crawl with towns, automap, riddles, daily challenges and a map editor.
1990Angband 4.2 in C#. Its game data is checked against 4.2.5 on every build.
1986Crew, starships, alien diplomacy, planet surveys by terrain vehicle, and real-time combat.
1984Trading, docking and dogfights across eight galaxies, rendered in wireframe.
On Linux some games need aplay for sound, or SDL2 for gamepads on ARM. Each game's README says which.
Editors, controls and utilities, also cross-platform with Avalonia.

Visio-style diagram editor. Reads .vsdx; exports SVG, PNG, PDF, Mermaid and .vsdx.

Directory Opus reimagined: a cross-platform file explorer in .NET and Avalonia.

Graphical query builder for Microsoft SQL Server.

Electronic circuit simulator: draw a schematic and watch it run on a live oscilloscope.

CODE Complete rebuilt: point it at a database table and it writes the C# data class.

Shows the raw bytes a USB or Bluetooth game controller sends, live, for writing code that reads it.
DATASET A DATASET B SIM John Smith Jon Smyth 0.91 P. Raghunathan P. Ragunathan 0.96 Acme Corp. ACME Corporation 0.88 Mary O'Neil Mary ONeill 0.90 Dave Kowalski David Kowalsky 0.86 threshold 0.85 · 5 pairs · export xlsx
Finds the same person or company across two Excel sheets with no shared key and the names spelled differently.
TODO DOING DONE #21 Avatars #17 Search #12 Login #22 Reports #18 Audit #13 Kanban #23 Webhooks #15 OIDC #24 Exports #16 Invites
A lightweight Jira-style issue tracker, in the making, to run as SaaS or on your own server.

Structured drawing canvas that code can populate and users can interact with.

The VB.Net-era LineChart control, rebuilt for Windows, macOS and Linux.

3D object viewer for Avalonia and .NET 9.

Timeline control for Avalonia applications.

Syntax-highlighting text box for Avalonia, with no dependencies beyond Avalonia itself.
Avalonia controls, ready to add to a project of your own: 7 packages, 2,080 downloads so far.
A syntax highlighting TextBox control for Avalonia with support for 37 programming languages and 14 built-in color themes. Features real-time highlighting, line numbers, and linting infrastructure.
dotnet add package SyntaxColorizerA highly customizable data grid control for Avalonia UI with built-in support for multiple databases including SQL Server, Oracle, MySQL, PostgreSQL, MongoDB, and DB2.
dotnet add package LAWgridA powerful timeline visualization control for Avalonia applications.
dotnet add package AvaloniaTimeLineControlLWO) with automatic rotation and canvas resizing. Features wireframe rendering, customizable line colors and thickness, and smooth animation.
dotnet add package Avalonia3DCanvasA powerful, customizable multi-series line chart control for Avalonia UI applications.
dotnet add package AvaloniaDiagramerControlAn Avalonia canvas control for rendering structured diagrams with colorized labeled entities, connectors with configurable endpoints, a graph-paper grid background, drag-and-drop, hit testing, and arbitrary…
dotnet add package AVASdCanvasAn Avalonia tree-view control with drag-drop reordering, icons, selection, keyboard navigation, hover/selection styling, and a context menu.
dotnet add package LawTreeViewHealthcare records, reporting and code generation: the systems that pay for the arcade.
Electronic health records with reporting, records management and a web portal.
Point-and-click database queries, with client-specific builds.
A database abstraction tool that grew into a full data-access code generator.
CODE Complete's generation as a RESTful API for enterprise deployment.
The originals, oldest first, and what each became here.
| Rank | Year | Original | Rebuilt as |
|---|---|---|---|
| 1st | 1978 | Space Invaders | AVAInvaders |
| 2nd | 1979 | Asteroids | AvaRoids |
| 3rd | 1979 | Lunar Lander | AVALander |
| 4th | 1979 | Tailgunner | AVAGunner |
| 5th | 1980 | Battlezone | AVAZone |
| 6th | 1980 | Berzerk | AVABerzerk |
| 7th | 1980 | Centipede | AVACentipede |
| 8th | 1980 | Missile Command | AVAMissile |
| 9th | 1980 | Pac-Man | AVAPacMan |
| 10th | 1980 | Star Castle | AVACastle |
| 11th | 1981 | Defender | AVADefend |
| 12th | 1981 | Donkey Kong | AVAKong |
| 13th | 1981 | Frogger | AVAFrogger |
| 14th | 1981 | Galaga | AVAGalaga |
| 15th | 1981 | Omega Race | AVARace |
| 16th | 1981 | Qix | AVAQix |
| 17th | 1981 | Scramble | AVAScramble |
| 18th | 1981 | Tempest | AVATempest |
| 19th | 1981 | Wizardry | AVAWizardry |
| 20th | 1982 | BurgerTime | AVABurgerT |
| 21st | 1982 | Dig Dug | AVADigDug |
| 22nd | 1982 | Gravitar | AVAGravitar |
| 23rd | 1982 | Joust | AVAJoust |
| 24th | 1982 | Moon Patrol | AVAMoonPatrol |
| 25th | 1982 | Q*bert | AVAQ-Bert |
| 26th | 1982 | Robotron: 2084 | AVATron |
| 27th | 1982 | Telengard | AVAGard |
| 28th | 1982 | Time Pilot | AVATimePilot |
| 29th | 1982 | Xevious | AVAXevious |
| 30th | 1983 | Lode Runner | AVALodeRunner |
| 31st | 1983 | M.U.L.E. | AVAMule |
| 32nd | 1983 | Sinistar | AVASinstar |
| 33rd | 1983 | Star Trek: Strategic Operations Simulator | AVATrek |
| 34th | 1983 | Star Wars | AVAWars |
| 35th | 1983 | Ultima III: Exodus | AVAUltima3 |
| 36th | 1984 | 1942 | AVA1942 |
| 37th | 1984 | Elite | AVAElite |
| 38th | 1984 | Seven Cities of Gold | AVACitiesOfGold |
| 39th | 1985 | Gauntlet | AVAGauntlet |
| 40th | 1985 | The Bard's Tale | AVABardsTale |
| 41st | 1986 | Arkanoid | AVAArkanoid |
| 42nd | 1986 | Bubble Bobble | AVABubble |
| 43rd | 1986 | Party RPG classic | AVAMMB1 |
| 44th | 1986 | Starflight | AVAFlight |
| 45th | 1987 | Dungeon Master | AVADungeonMaster |
| 46th | 1988 | Pool of Radiance | AVARadiance |
| 47th | 1990 | Angband | AVABand |
I'm now an old architect in a small piece of a very large company that bought us about twelve years ago. I've been into computers since grade school in the late '70s, and I still like building things end to end.
At work I'm focused on modernization. At home it's local LLMs, single-board computers, and recreating the games that got me hooked, built from their documented behavior and released for every platform I can reach.