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.
1983Drive a road that forks, bridges and turns to river: run raiders off it, dodge blades, gunmen and the helicopter's bombs, take oil, smoke and missiles from the armoury van, and spare the innocent.
1986Be a giant bear, crocodile or rat: climb the buildings and punch them down, eat the people in the windows, swat helicopters and stamp on soldiers, and flatten a new city every day.
1985Ride Larkspur Lane Monday to Sunday throwing papers into subscribers' mailboxes: miss one and they cancel, break their window and they cancel too, while dogs, cars, mowers and a tornado get in the way.
1983Run a soda fountain across four bars: pour and slide fizz to cowboys, sports fans, punks and aliens, catch the empties before they smash, and beat the Fizz Bandit's shell game between levels.
1984Roll a glass marble down six isometric courses against the clock: ramps, catwalks and drops, steelies that knock you off the edge, gulpers, acid and rippling waves. Spare seconds carry over.
1982NEWFour games on a neon grid each level: a light-cycle race, a tank maze with bouncing shots, a gate to reach through swarming grid bugs, and a spinning shield to shoot through into the core.
1983NEWWork down an office tower from the roof to the getaway car, riding the lifts and grabbing the secret papers behind every red door, while agents in black hats shoot high and low. Shoot the lamps down on them.
1982NEWQualify with one flying lap for a place on the grid, then race four laps of a pseudo-3D circuit against seven cars: change gear, brake for the bends, and keep off the billboards before the clock runs out.
1982NEWFly an isometric fortress by your shadow and the altimeter: through the holes in its walls, under force fields, shooting fuel tanks to stay aloft. Then fighters in open space and the Goliath robot at its heart.
1977NEWThe needle against the wedge in glowing vector lines, around a sun that pulls. Torpedoes and fuel run out, and hyperspace gets riskier with every jump. Beat the computer arena by arena, or a friend to seven.
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.
1983Dawn against Dusk on a board of shifting light: every capture is a real-time duel in the arena, with seven spells per leader, five power points to hold, and a computer foe that knows its odds.
2002The opening chapter on the road to Glacern: pausable real-time party combat, skills that rise by use instead of classes, and one continuous world that streams in with no loading screens.
1985Become the Exemplar of Merovale by what you do, not what you say: eight virtues, typed conversations, shrines and mantras, two moons and their moongates, reagent magic, and the Codex at the bottom of the Undermere.
1987A life on the Saltwind Sea: sail by the wind, trade, take prizes in broadside battles and boarding duels, rise from Ensign to Duke in four crowns' favour, piece together treasure maps, and retire before your crew mutinies.
1991Lead an original people from 4000 BC to the stars: found and grow cities, learn sixty-two discoveries, raise wonders, treat or war with rival rulers, and win by conquest, by score, or by launching the Starward Ark.
1993Lead an original star-faring people from 2300: explore and settle worlds, balance every colony's five sliders, research ninety discoveries, design warships, watch the battles play out, and win the Galactic Council's vote or conquer every rival.
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.
No game matches that. Try another word, or press All.
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 | 1977 | Space Wars | AVASpaceWars |
| 2nd | 1978 | Space Invaders | AVAInvaders |
| 3rd | 1979 | Asteroids | AvaRoids |
| 4th | 1979 | Lunar Lander | AVALander |
| 5th | 1979 | Tailgunner | AVAGunner |
| 6th | 1980 | Battlezone | AVAZone |
| 7th | 1980 | Berzerk | AVABerzerk |
| 8th | 1980 | Centipede | AVACentipede |
| 9th | 1980 | Missile Command | AVAMissile |
| 10th | 1980 | Pac-Man | AVAPacMan |
| 11th | 1980 | Star Castle | AVACastle |
| 12th | 1981 | Defender | AVADefend |
| 13th | 1981 | Donkey Kong | AVAKong |
| 14th | 1981 | Frogger | AVAFrogger |
| 15th | 1981 | Galaga | AVAGalaga |
| 16th | 1981 | Omega Race | AVARace |
| 17th | 1981 | Qix | AVAQix |
| 18th | 1981 | Scramble | AVAScramble |
| 19th | 1981 | Tempest | AVATempest |
| 20th | 1981 | Wizardry | AVAWizardry |
| 21st | 1982 | BurgerTime | AVABurgerT |
| 22nd | 1982 | Dig Dug | AVADigDug |
| 23rd | 1982 | Gravitar | AVAGravitar |
| 24th | 1982 | Joust | AVAJoust |
| 25th | 1982 | Moon Patrol | AVAMoonPatrol |
| 26th | 1982 | Pole Position | AVAPolePosition |
| 27th | 1982 | Q*bert | AVAQ-Bert |
| 28th | 1982 | Robotron: 2084 | AVATron |
| 29th | 1982 | Telengard | AVAGard |
| 30th | 1982 | Time Pilot | AVATimePilot |
| 31st | 1982 | Tron | AVALightCycle |
| 32nd | 1982 | Xevious | AVAXevious |
| 33rd | 1982 | Zaxxon | AVAZaxxon |
| 34th | 1983 | Archon: The Light and the Dark | AVAArchon |
| 35th | 1983 | Elevator Action | AVAElevatorAction |
| 36th | 1983 | Lode Runner | AVALodeRunner |
| 37th | 1983 | M.U.L.E. | AVAMule |
| 38th | 1983 | Sinistar | AVASinstar |
| 39th | 1983 | Spy Hunter | AVASPYHunter |
| 40th | 1983 | Star Trek: Strategic Operations Simulator | AVATrek |
| 41st | 1983 | Star Wars | AVAWars |
| 42nd | 1983 | Tapper | AVATapper |
| 43rd | 1983 | Ultima III: Exodus | AVAUltima3 |
| 44th | 1984 | 1942 | AVA1942 |
| 45th | 1984 | Elite | AVAElite |
| 46th | 1984 | Marble Madness | AVAMarble |
| 47th | 1984 | Seven Cities of Gold | AVACitiesOfGold |
| 48th | 1985 | Gauntlet | AVAGauntlet |
| 49th | 1985 | Paperboy | AVAPaperboy |
| 50th | 1985 | The Bard's Tale | AVABardsTale |
| 51st | 1985 | Ultima IV: Quest of the Avatar | AVAUltima4 |
| 52nd | 1986 | Arkanoid | AVAArkanoid |
| 53rd | 1986 | Bubble Bobble | AVABubble |
| 54th | 1986 | Party RPG classic | AVAMMB1 |
| 55th | 1986 | Rampage | AVARampage |
| 56th | 1986 | Starflight | AVAFlight |
| 57th | 1987 | Dungeon Master | AVADungeonMaster |
| 58th | 1987 | Sid Meier's Pirates! | AVAPirates |
| 59th | 1988 | Pool of Radiance | AVARadiance |
| 60th | 1990 | Angband | AVABand |
| 61st | 1991 | Sid Meier's Civilization | AVACiv |
| 62nd | 1993 | Master of Orion | AVAOrion |
| 63rd | 2002 | Dungeon Siege | AVADungeonSeige |
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.