referenceUpdated Sep 18, 20263 min read$0B

Selected Work: The Games I Couldn't Leave Alone

A friend's fighting style, characters stranded in the wrong game, and tools that catch my own bad conclusions. Start with the projects that made me keep going.

Help shape what comes next ↓
portfoliomachine-learningsystems-engineeringreverse-engineeringgenai
On this page

I build data and AI platforms professionally. This site is where I can open up the workbench: show the broken version, explain the decision, and let you inspect the result. The arcade projects have the most room for that, so start there.

A few good places to start

Alan Is Gone. I'm Trying to Keep His Fighting Style Alive.

Could recorded matches preserve something of the way a friend played? I built a behavioral clone from a deceased Fightcade player's replays, then tried to give it sharper reactions without erasing his style. The unsuccessful training runs and later corrections are part of the story. The browser arena is a historical sandbox built from an older policy, not the current v10 candidate. The latest six-checkpoint result is diagnostic-only; schema12 remains non-training and no checkpoint is promoted as Alan-like.

Read the complete project →

Marvel vs Capcom Had No Room for a 24th Character. I Added Two.

The first approach borrowed another character's machinery. The better one moved Dark Sakura's own code into Marvel vs. Capcom and worked through the places where the two games disagreed. This is a good introduction to the lab: a visible goal, a wrong turn, and a port you can watch.

Read the native port →

I Wanted Cable Without MvC2. So I Put Him in MvC1.

A newer game's character meets an older machine's constraints. The interesting part is what survives the crossing—and what cannot be carried forward. The playable v33 footage belongs to a retired Ryu-slot donor lineage. The current native $32 branch is a structural-only v17 head with 0/52 gameplay lanes closed, an incomplete source denominator, and no playable candidate. Read this as a record of the failed donor route and the stricter rebuild, not as a current release.

Read the Cable project →

For the wider collection of ports, experiments, and hardware limits, use the CPS-2 project index.

Tools for keeping the lab honest

When a project spreads across repositories, yesterday's convincing write-up can hide today's failed build. My local MCP server answers bounded questions against pinned artifacts and blockers. It can retrieve evidence; it cannot run an emulator, patch a ROM, or publish a result.

The current registry has 117 synchronized facts. Its promoted import probe is diagnostic-only and refuses Cable's incompatible native-seat request. The September 17 receipt remains the historical failed-discovery record. The append-only September 18 static proof now covers 15/15 project roots, 20 workflow rows, and 48 explicit support gaps; full discovery is green at 361 passed / 8 skipped, all three existing control-ZIP hashes match, and the 21-tool MCP selftest passes. No emulator or ROM action occurred, so those results remain harness boundaries—not proof that a character port works. The earlier twelve-tool retrieval trial reduced one task's source material from 43,547 to 8,244 characters; token savings and end-to-end task quality still need paired trials.

Read the MCP case study →

A different failure was harder to see: the memorial bot's evaluation HUD decoded its inputs incorrectly, while a reactive layer prevented the policy from acting. That debugging pass is useful if you have ever spent a week improving a model before checking the instrument judging it.

Read the harness audit →

Notes from platform work

The professional material here focuses on decisions another engineer can use. Examples are generalized, with illustrative names and payloads. Private operating metrics and customer workflows do not make those decisions clearer.

The AI Engineering Notes: Where the Demo Falls Apart connects those pieces. My résumé covers professional roles and responsibilities.

Community input · This article

What should I work on next?

Choose up to 3 priorities. No account needed.

Written by Daniel Plas Rivera · 684 words · $0B

ShareXLinkedIn