referenceUpdated Sep 5, 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.

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. So is the playable result.

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: animation, projectile behavior, timing, and the engine assumptions underneath them. The article separates the working donor version from the unfinished native-code route.

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 September 2 article records 21 read-only tools, 144/144 harness tests, and 7/7 ROM-free fixture tests. Those are dated checks of the server, 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.

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

ShareXLinkedIn