1UP HARLOCK123

Insert coin · Player 1 ready

Lonnie Allen WatsonTechnological fossil

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.

  • 167games
  • 8platforms each
  • 1original game
  • 27tools & controls
  • 7NuGet packages
  • 1977oldest original

Select your game

Each one is a single self-contained program: download, unpack, run. No installer and no .NET needed.

Detected: Windows x64 Download buttons below are set for this machine. Change it to grab a build for another computer.
167 games

On Linux some games need aplay for sound, or SDL2 for gamepads on ARM. Each game's README says which.

Original creations

Games of my own design rather than rebuilds of a classic. Builds follow every push, so expect work in progress.

AVAAshenReliquary gameplayIn development

AVAAshenReliquary

Action RPG · Pathfinder 2e rules · Isometric · Dark fantasy

An isometric dark-fantasy action RPG in the style of Grim Dawn, with character building on Pathfinder 2e rules: walk the Gallows Road from the hanging tree to the refugee camp.

  • Six ancestries, backgrounds and classes, with Pathfinder's typed bonuses, degrees of success and conditions in real time
  • Loot with runes and affixes, stat comparisons, a trader, shrines, saves and a full HUD
  • Flare's open-licensed art, positional OpenAL sound and music from seven free packs

The workbench

Editors, controls and utilities, also cross-platform with Avalonia.

SSHRtm

SSHRtm

Console application · C# · .NET 9 · SSH.NET · Spectre.Console

A real-time, btop-style terminal monitor for a whole fleet of Linux servers, watched over SSH from Windows with nothing to install on the servers.

  • Polls /proc, df and ps over one persistent SSH session per server, with no agent on the target
  • A grid of server tiles, then a detail view of every core, NIC, disk, filesystem and the top processes
  • Passwords kept encrypted with Windows DPAPI, and any server's samples logged to CSV with one key
SSHRtm Log Visualizer
SSHRtm Log Visualizer screenshot

SSHRtm Log Visualizer

Application · C# · Avalonia · .NET 9 · ScottPlot

Turns an SSHRtm CSV metric dump into a multi-series line chart: open a dump, pick the measures you care about, and plot them against the sample timeline.

  • Reads the wide ~260-column dumps directly and works out every chartable measure from the file itself, for any host
  • A searchable measure picker and quick-add groups (all CPU, load, memory, network, disk busy, filesystems, top processes)
  • Normalize mixed units to 0–100 %, nine themes, and save or copy the chart as an image
HotKeyViewer
HotKeyViewer screenshot

HotKeyViewer

Application · C# · Avalonia · .NET 10 · Hyprland · Lua

Shows every hotkey Hyprland has bound right now (the defaults, your own and your remaps) in a floating, searchable window that follows the Omarchy theme.

  • Runs your Lua config the way Hyprland does, against a stub compositor, so loops and conditionals give the real bindings and the file and line each came from
  • Tags your own bindings YOURS and replaced ones REMAPPED, badges duplicates, and removes a binding in a way that survives updates
  • A self-contained native binary that opens 173 ms after the keypress, repainting live when you switch theme
omarchy-speak

omarchy-speak

Command-line tool · Shell · Piper · systemd · Omarchy

Local neural text-to-speech for Omarchy: the counterpart to dictation, so instead of talking to your machine, your machine talks to you.

  • Runs offline on Piper, about 0.2 s a sentence, with 176 voices in 57 languages
  • A systemd user service queues what's said so nothing talks over anything else; speak stop kills the whole pipeline
  • Speaks the selection on SUPER+ALT+V, reads the low-battery warning, and can read Claude Code's answers aloud
omarchy-gmail

omarchy-gmail

Omarchy plugin · QML · Python · IMAP · Omarchy

Your unread Gmail count in the Omarchy bar, with a dropdown of recent unread messages that open straight in the browser.

  • No polling: one IMAP connection held in IDLE, so new mail shows up the moment it arrives
  • The app password lives in the login keyring, never in a config file
  • Click, keyboard (j/k, Enter, r, g) and per-widget settings in shell.json
Text Extruder

Text Extruder

Blender extension · Python · Blender 5.1

A Blender 5.1 extension that makes extruded 3D text with chamfered edges and separate materials for the face, the sides and the bevels.

  • Any text in any installed .ttf or .otf font, found on Windows, macOS and Linux, or one you browse to
  • Chamfer width and segments, and a choice of which axis the face points along and which the letters stand up on
  • Face, edge and chamfer materials (colour, metallic, roughness) assigned by each face's angle
URL Fetcher

URL Fetcher

Application · C# · Avalonia · .NET 9 · HtmlAgilityPack

Point it at a web page and it downloads every image the page links to or shows into a folder you choose.

  • Finds images in both <a href> links and <img src> tags: JPG, PNG, GIF, WEBP, BMP, TIFF and ICO
  • Renames duplicates with numbered suffixes instead of overwriting
  • A progress bar, live status and a cancel button; runs on Windows, macOS and Linux
X12 Explorer

X12 Explorer

Application · C# · WinForms · .NET Framework · X12 EDI

A Windows viewer that pulls HIPAA X12 EDI files apart into readable segments: capitation, membership, remittance, eligibility, claims and claim status.

  • One tab each for the 820, 834, 835, 271, 837 and 277 transactions
  • Splits the one long ~-delimited line into a segment per line, grouped by ENT, HL and TRN loops
  • Bigger and smaller fonts for reading long files
Blazor Code Tools

Blazor Code Tools

Application · C# · WinForms · Blazor · SQL Server

Takes a SQL query and writes the drudge work of a Blazor screen for you: the data class with its validation attributes, the grid UI and the Web API controller behind it.

  • Runs the query to learn its columns, then generates the shared data class with Required and StringLength annotations
  • Generates the Blazor grid, columns, date and currency formatting included
  • Generates the controller that serves the data, the latest of the code generators begun as TAICODEGEN around 2000
AVA Modeler
AVA Modeler screenshot

AVA Modeler

Application · C# · Avalonia · .NET 10 · 3D · Lua

A cross-platform recreation of the classic mid-1990s standalone 3D modeler, inspired by LightWave Modeler 4 and 5, with a Layout workspace that animates and ray-traces what you build.

  • The classic quad view, ten foreground/background layers and the Objects, Modify, Multiply and Polygon tools, with booleans, drills and MetaNURBS
  • Reads and writes LightWave LWOB objects byte for byte, plus LWO2, OBJ and VideoScape GEO; Lua macros and .NET plugins
  • Layout: TCB keyframes, bones, lights and cameras, LWS scenes, and a multithreaded ray tracer
AVAUIDesigner
AVAUIDesigner screenshot

AVAUIDesigner

Application · C# · Avalonia · .NET 10 · Roslyn

A drag-and-drop WYSIWYG designer for Avalonia .axaml files, like the classic WinForms designer.

  • 54 Avalonia controls, rendered live with the Fluent theme as you place them
  • Snap lines, grid snapping, align and distribute, and two-way sync with the XAML
  • Writes event handlers into your code-behind with Roslyn, never overwriting your code
Splitz_n_Joinz

Splitz_n_Joinz

Application · C# · Avalonia · .NET 10

Splits a file into numbered chunks of a size you choose, and joins them back into the original.

  • Chunks of any maximum size, in bytes, KB, MB or GB, named file.001, file.002 and on
  • Point Joinz at any one chunk: it finds the rest and lists any that are missing
  • Never touches the original, and builds a join aside, moving it into place only when complete
AVAQueryBuilder
AVAQueryBuilder screenshot

AVAQueryBuilder

Application · C# · Avalonia · .NET 9 · SQL Server

Graphical query builder for Microsoft SQL Server.

  • Builds SELECT queries as a diagram of tables, joins and filters
  • 25+ derived fields, GROUP BY with HAVING, sorting, TOP and DISTINCT
  • Finds SQL Servers on the network, runs the query and shows the rows
ControllerExplorer
ControllerExplorer screenshot

ControllerExplorer

Application · C# · Avalonia · .NET 9 · HID

Shows the raw bytes a USB or Bluetooth game controller sends, live, for writing code that reads it.

  • Lists every connected USB and Bluetooth controller by VID:PID
  • Each byte live in hex and binary, lit up the moment it changes
  • Xbox-style pads read through XInput on Windows, HID everywhere else
Vector Match Engine

Vector Match Engine

Application · C# · Avalonia · .NET 8 · ML.NET · SQL Server

Finds the same person or company across two Excel sheets with no shared key and the names spelled differently.

  • Each row becomes a 512-dimension vector of character trigrams, so typos stay close
  • Every record in A scored against every one in B, above a threshold you set
  • Matched pairs side by side, exported to a formatted Excel workbook
ProjectJA

ProjectJA

Web application · C# · Blazor · .NET 10 · PostgreSQL

A lightweight Jira-style issue tracker, in the making, to run as SaaS or on your own server.

  • A drag-and-drop kanban board that updates live in every open browser
  • A database per tenant for SaaS, or one Docker stack on-prem
  • Full-text search, invites, single sign-on (OIDC) and an audit log
TSTimeLine

TSTimeLine

Control · TypeScript · JavaScript · HTML5 Canvas

A lightweight HTML5 canvas control that lays correlated events out on up to ten parallel timelines, such as claims, eligibility and authorisations side by side.

  • 30 event styles (10 colours by box, circle or triangle), with dog-ears where events overlap on a day
  • Mouse-wheel and touch-swipe scrolling, a crosshair to inspect dates, weekends shaded and months labelled
  • Click and hover events carrying your own data, and a canvas that resizes to its container
TAIGridControl

TAIGridControl

Control · C# · WinForms · .NET Framework 4.8 · ClosedXML

The WinForms data grid used in everything I wrote for Windows Forms since the early 2000s, built because the stock grid made programmatic use so hard.

  • Fill it from a query and address cells directly, with events like double-click right on a cell
  • Sort by date, then number, then text from the context menu
  • Export to Excel through ClosedXML, with no Office needed, and Ctrl+wheel to resize the font
AVASdCanvas
AVASdCanvas screenshot

AVASdCanvas

Control · C# · Avalonia · .NET 9
On NuGet · v1.0.1 · 209 downloads

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

  • Graph-paper canvas of entities joined by arrowed connectors
  • Snap to grid, automatic placement, and dragging with live connectors
  • Click, double-click, right-click and hover events carry your metadata
AvaloniaDiagramerControl
AvaloniaDiagramerControl screenshot

AvaloniaDiagramerControl

Control · C# · Avalonia
On NuGet · v1.0.0 · 226 downloads

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

  • Up to ten data series, with polynomial trend lines
  • Animated flashing to pick one series out of the rest
  • Grid, knot markers and banded backgrounds; every colour and font styleable
Avalonia3DCanvas
Avalonia3DCanvas screenshot

Avalonia3DCanvas

Control · C# · Avalonia · .NET 9
On NuGet · v1.0.0 · 272 downloads

3D object viewer for Avalonia and .NET 9.

  • Loads .3DS, .OBJ, .STL, .PLY and .FBX models
  • Wireframe drawing, centred and scaled to fit automatically
  • Smooth rotation on all three axes, at any speed
AvaloniaTimeLineControl
AvaloniaTimeLineControl screenshot

AvaloniaTimeLineControl

Control · C# · Avalonia
On NuGet · v1.0.1 · 381 downloads

Timeline control for Avalonia applications.

  • Up to ten timeline rows side by side
  • 30 chicklet styles: ten colours, each a box, a circle or a triangle
  • Wheel and keyboard scrolling, weekends, month labels and overlap markers
SyntaxColorizer
SyntaxColorizer screenshot

SyntaxColorizer

Control · C# · Avalonia · .NET 8 · NuGet
On NuGet · v1.0.2 · 559 downloads

Syntax-highlighting text box for Avalonia, with no dependencies beyond Avalonia itself.

  • Highlights 38 languages as you type, from C# and Rust to T-SQL and Mermaid
  • 14 built-in colour themes, and line numbers you can switch off
  • Linting with your own rules, and an MVVM-friendly design

On NuGet

Avalonia controls, ready to add to a project of your own: 7 packages, 2,323 downloads so far.

NuGet · v1.0.2 · .NET 8

SyntaxColorizer

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 SyntaxColorizer
NuGet · v1.0.2 · .NET 9

LAWgrid

A 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 LAWgrid
NuGet · v1.0.1 · .NET 8

AvaloniaTimeLineControl

A powerful timeline visualization control for Avalonia applications.

dotnet add package AvaloniaTimeLineControl
NuGet · v1.0.0 · .NET 9

Avalonia3DCanvas

LWO) with automatic rotation and canvas resizing. Features wireframe rendering, customizable line colors and thickness, and smooth animation.

dotnet add package Avalonia3DCanvas
NuGet · v1.0.0 · .NET 9

AvaloniaDiagramerControl

A powerful, customizable multi-series line chart control for Avalonia UI applications.

dotnet add package AvaloniaDiagramerControl
NuGet · v1.0.1 · .NET 9

AVASdCanvas

An 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 AVASdCanvas
NuGet · v0.1.1 · .NET 9

LawTreeView

An Avalonia tree-view control with drag-drop reordering, icons, selection, keyboard navigation, hover/selection styling, and a context menu.

dotnet add package LawTreeView

Day job

Healthcare records, reporting and code generation: the systems that pay for the arcade.

Behavioral health EHR · private repo

CARES

Electronic health records with reporting, records management and a web portal.

Query builder · private repo

Cares Query Reporter

Point-and-click database queries, with client-specific builds.

Data-access framework

CODE Complete

A database abstraction tool that grew into a full data-access code generator.

REST service

Code Generation API

CODE Complete's generation as a RESTful API for enterprise deployment.

Hall of fame

The originals, oldest first, and what each became here.

High scores

RankYearOriginalRebuilt as
1st1977Space WarsAVASpaceWars
2nd1978Space InvadersAVAInvaders
3rd1979AsteroidsAvaRoids
4th1979GalaxianAVAGalaxian
5th1979Lunar LanderAVALander
6th1979TailgunnerAVAGunner
7th1980Armor AttackAVAArmorAttack
8th1980BattlezoneAVAZone
9th1980BerzerkAVABerzerk
10th1980CentipedeAVACentipede
11th1980Crazy ClimberAVACrazyClimber
12th1980Missile CommandAVAMissile
13th1980Moon CrestaAVAMoonCresta
14th1980Pac-ManAVAPacMan
15th1980PhoenixAVAPhoenix
16th1980Rally-XAVARallyX
17th1980Red BaronAVARedBaron
18th1980Rip OffAVARipOff
19th1980Star CastleAVACastle
20th1980WarlordsAVAWarlords
21st1981AmidarAVAAmidar
22nd1981BosconianAVABosconian
23rd1981DefenderAVADefend
24th1981Donkey KongAVAKong
25th1981EliminatorAVAEliminator
26th1981FroggerAVAFrogger
27th1981GalagaAVAGalaga
28th1981GorfAVAGorf
29th1981Lady BugAVALadyBug
30th1981Omega RaceAVARace
31st1981QixAVAQix
32nd1981Satan's HollowAVASatansHollow
33rd1981ScrambleAVAScramble
34th1981Solar QuestAVASolarQuest
35th1981Space FuryAVASpaceFury
36th1981StargateAVAStargate
37th1981TempestAVATempest
38th1981VanguardAVAVanguard
39th1981VentureAVAVenture
40th1981Wizard of WorAVAWizardOfWor
41st1981WizardryAVAWizardry
42nd1982Black WidowAVABlackWidow
43rd1982Bump 'n' JumpAVABumpNJump
44th1982BurgerTimeAVABurgerT
45th1982Dig DugAVADigDug
46th1982Donkey Kong Jr.AVADKongJr
47th1982GravitarAVAGravitar
48th1982JoustAVAJoust
49th1982Jungle HuntAVAJungleHunt
50th1982LiberatorAVALiberator
51st1982MillipedeAVAMillipede
52nd1982Moon PatrolAVAMoonPatrol
53rd1982Mr. Do!AVAMrDo
54th1982PengoAVAPengo
55th1982Pitfall!AVAPitfall
56th1982Pole PositionAVAPolePosition
57th1982PooyanAVAPooyan
58th1982Q*bertAVAQ-Bert
59th1982QuantumAVAQuantum
60th1982River RaidAVARiverRaid
61st1982Robotron: 2084AVATron
62nd1982Space DuelAVASpaceDuel
63rd1982Tac/ScanAVATacScan
64th1982TelengardAVAGard
65th1982Time PilotAVATimePilot
66th1982TronAVALightCycle
67th1982XeviousAVAXevious
68th1982Yars' RevengeAVAYars
69th1982ZaxxonAVAZaxxon
70th1982ZektorAVAZektor
71st1983Archon: The Light and the DarkAVAArchon
72nd1983BombermanAVABomberman
73rd1983Chuckie EggAVAChuckieEgg
74th1983Cosmic ChasmAVACosmicChasm
75th1983Crystal CastlesAVACrystalCastles
76th1983Elevator ActionAVAElevatorAction
77th1983Food FightAVAFoodFight
78th1983GyrussAVAGyruss
79th1983I, RobotAVAIRobot
80th1983JetpacAVAJetpac
81st1983Juno FirstAVAJunoFirst
82nd1983Lode RunnerAVALodeRunner
83rd1983M.U.L.E.AVAMule
84th1983Major HavocAVAMajorHavoc
85th1983Manic MinerAVAManicMiner
86th1983MappyAVAMappy
87th1983Mario Bros.AVAMarioBros
88th1983Pinball Construction SetAVAPinballConstructionSet
89th1983SinistarAVASinstar
90th1983Spy HunterAVASPYHunter
91st1983Star Trek: Strategic Operations SimulatorAVATrek
92nd1983Star WarsAVAWars
93rd1983TapperAVATapper
94th1983Track & FieldAVATrackAndField
95th1983Ultima III: ExodusAVAUltima3
96th19841942AVA1942
97th1984Archon II: AdeptAVAArchon2
98th1984Bomb JackAVABombJack
99th1984Boulder DashAVABoulderDash
100th1984EliteAVAElite
101st1984H.E.R.O.AVAHero
102nd1984Impossible MissionAVAImpossibleMission
103rd1984Jet Set WillyAVAJetSetWilly
104th1984KaratekaAVAKarateka
105th1984Knight LoreAVAKnightLore
106th1984Kung-Fu MasterAVAKungFu
107th1984Marble MadnessAVAMarble
108th1984Punch-Out!!AVAPunchOut
109th1984Raid on Bungeling BayAVABungelingBay
110th1984Seven Cities of GoldAVACitiesOfGold
111th1984Spy vs SpyAVASpyVsSpy
112th1984TetrisAVATetris
113th1984The Castles of Dr. CreepAVACastlesOfDrCreep
114th1984Time Pilot '84AVATimePilot84
115th1985ChoplifterAVAChoplifter
116th1985CommandoAVACommando
117th1985GauntletAVAGauntlet
118th1985Ghosts 'n GoblinsAVAGhostsNGoblins
119th1985GradiusAVAGradius
120th1985Gun.SmokeAVAGunSmoke
121st1985Mail Order MonstersAVAMailOrderMonsters
122nd1985MercenaryAVAMercenary
123rd1985PaperboyAVAPaperboy
124th1985ParadroidAVAParadroid
125th1985Racing Destruction SetAVARacingDestructionSet
126th1985Rescue on Fractalus!AVAFractalus
127th1985SargeAVASarge
128th1985Space HarrierAVASpaceHarrier
129th1985The Bard's TaleAVABardsTale
130th1985Ultima IV: Quest of the AvatarAVAUltima4
131st1986ArkanoidAVAArkanoid
132nd1986Bubble BobbleAVABubble
133rd1986Defender of the CrownAVADefenderOfTheCrown
134th1986Ikari WarriorsAVAIkariWarriors
135th1986Out RunAVAOutRun
136th1986Party RPG classicAVAMMB1
137th1986RampageAVARampage
138th1986Rolling ThunderAVARollingThunder
139th1986StarflightAVAFlight
140th1986StargliderAVAStarglider
141st1986Super SprintAVASuperSprint
142nd1986The SentinelAVASentinel
143rd1986ThrustAVAThrust
144th1986UridiumAVAUridium
145th1987Double DragonAVADoubleDragon
146th1987Dungeon MasterAVADungeonMaster
147th1987Head Over HeelsAVAHeadOverHeels
148th1987NebulusAVANebulus
149th1987R-TypeAVARType
150th1987Sid Meier's Pirates!AVAPirates
151st1987ZarchAVAZarch
152nd1988ExileAVAExile
153rd1988Pool of RadianceAVARadiance
154th1989KlaxAVAKlax
155th1989PopulousAVAPopulous
156th1989Prince of PersiaAVAPrince
157th1989SimCityAVASimCity
158th1990AngbandAVABand
159th1990Smash TVAVASmashTV
160th1991Another WorldAVAAnotherWorld
161st1991LemmingsAVALemmings
162nd1991Sid Meier's CivilizationAVACiv
163rd1992Dune IIAVADune2
164th1993Master of OrionAVAOrion
165th1994Puzzle BobbleAVAPuzzleBobble
166th1994X-COM: UFO DefenseAVAXCom
167th2002Dungeon SiegeAVADungeonSeige

Player profile

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.

Lonnie Allen Watson
Class
Architect
Since
Late 1970s
Weapons
C#, .NET, Avalonia
GitHub
Harlock123
LinkedIn
lonnie-watson
X
@harlock6502