# TicTacToe-AI: a bounded REA-fork reconstruction of one game method

> The author’s REA fork, posted as rea-engine and since renamed RE-Agent, decompiles the shipped .NET executable of the GPL-licensed TicTacToe-AI game, recompiles the recovered C# and resources, and repairs one decompiler error against the original IL. A differential probe runs original and rebuilt code on all 19,683 board assignments for one status method and compares six form renders. The report passes only that method; the whole game remains partial.

- Type: Case study
- Targets: Game
- Category: Community REA investigations
- Relationship: Author-reported mixed workflow
- Sources reviewed: 2026-10-18
- Added to the catalog: 2026-10-18
- Original resource: <https://github.com/heaven-hm/re-agent/tree/develop/benchmarks/tictactoe>
- Primary source: <https://github.com/heaven-hm/re-agent/blob/a84c61e8baa65d445485722420a57ff4132b90d3/benchmarks/native-windows-ports/reports/targets/tictactoe.md>
- Catalog page: <https://awesomerea.org/resources/rea-engine-tictactoe-case/>
- Record JSON: <https://awesomerea.org/resources/rea-engine-tictactoe-case/record.json>
- Chinese version: [简体中文](https://awesomerea.org/zh/resources/rea-engine-tictactoe-case/index.md)

## Requirements & limits

- **Prerequisites:** The fork needs Node.js 22.19+ or 24.11+; recovery uses ilspycmd plus a host Roslyn compiler and Mono references, with script defaults pointing at Homebrew paths on macOS. Verification needs a local X11 display and Mono/libgdiplus. The recorded run used macOS 15.3.1 on ARM64 with Xvfb, so both renders come from the same Mono runtime rather than native Windows.
- **Testing evidence:** The reviewed develop commit (2026-10-15) reports Feature PASS for CheckGameStatus over its declared 3^9 board domain and PARTIAL for the whole game. AI move selection and RNG, menus, timing and sound are unverified, the executables are not byte-identical, and raw terminal captures differ by one carriage return. The posts’ “byte for byte” wording applies to structured board records and six render PNGs.
- **Scope:** The input is the published TicTacToe-AI executable from tatlead’s GPL-3.0 repository, identified by SHA-256 in the report. The repository redistributes it with the GPL text and a source archive kept for license compliance; the statement that this source was not consulted during reconstruction is author-reported.
- **Testing evidence:** Scripts recover a fresh replica, then a probe executes the original and rebuilt assemblies, compares return values and indicator bytes for every board, and captures Form.DrawToBitmap images after button sequences. The current result JSON records zero board-record mismatches and terminalBytesEqual false.
- **License:** The fork is MIT with morluto’s REA copyright retained and lists optional engines such as Ghidra and Frida under their own licenses; the game and its reconstruction carry GPL-3.0 obligations. Fork-specific code is not part of upstream REA releases, and the repository was renamed after the posts, whose rea-engine link now redirects to RE-Agent.

## Primary sources

1. <https://github.com/heaven-hm/re-agent/blob/a84c61e8baa65d445485722420a57ff4132b90d3/benchmarks/native-windows-ports/reports/targets/tictactoe.md>
2. <https://github.com/heaven-hm/re-agent/blob/a84c61e8baa65d445485722420a57ff4132b90d3/benchmarks/README.md>
3. <https://github.com/heaven-hm/re-agent/blob/a84c61e8baa65d445485722420a57ff4132b90d3/docs/verification/rea-engine/game-report-current-2026-10-14.json>
4. <https://github.com/heaven-hm/re-agent/blob/a84c61e8baa65d445485722420a57ff4132b90d3/scripts/recover-tictactoe-replica.mjs>
5. <https://github.com/heaven-hm/re-agent/blob/a84c61e8baa65d445485722420a57ff4132b90d3/scripts/verify-tictactoe-reconstruction.mjs>
6. <https://github.com/heaven-hm/re-agent/blob/a84c61e8baa65d445485722420a57ff4132b90d3/scripts/benchmarks/TicTacToeProbe.cs>
7. <https://github.com/heaven-hm/re-agent/blob/a84c61e8baa65d445485722420a57ff4132b90d3/benchmarks/tictactoe/LICENSE>
8. <https://github.com/heaven-hm/re-agent/blob/a84c61e8baa65d445485722420a57ff4132b90d3/README.md>
9. <https://github.com/heaven-hm/re-agent/blob/a84c61e8baa65d445485722420a57ff4132b90d3/THIRD_PARTY_NOTICES.md>
10. <https://github.com/heaven-hm/re-agent/blob/a84c61e8baa65d445485722420a57ff4132b90d3/LICENSE>
11. <https://github.com/heaven-hm/re-agent/blob/a84c61e8baa65d445485722420a57ff4132b90d3/package.json>
12. <https://github.com/tatlead/TicTacToe-AI/tree/ce0f81b05e190dcfb72ea68c5fbb1114fa994a5a>

## More in Games

- [UltraSunnyMoon: a partial, REA-led Pokémon Ultra Sun reconstruction](https://awesomerea.org/resources/ultrasunnymoon-rea-case/index.md) · Case study
- [vf2-decomp: differentially validated Virtua Fighter 2 recovery](https://awesomerea.org/resources/vf2-decomp-differential-recovery-case/index.md) · Case study
- [Wind Waker HD decompilation: functions verified against the recompiled Wii U game](https://awesomerea.org/resources/wind-waker-hd-decomp-case/index.md) · Case study
- [Banjo: Recompiled — an N64Recomp Banjo-Kazooie native port](https://awesomerea.org/resources/banjo-recompiled-case/index.md) · Case study
- [C2C: hybrid recompilation and hand decompilation of Crash Bandicoot 2](https://awesomerea.org/resources/c2c-crash2-hybrid-recompilation-case/index.md) · Case study
- [Castlevania 64: Recompiled — a beta static-recompilation port](https://awesomerea.org/resources/cv64-recompiled-case/index.md) · Case study

## About this entry

The description was reviewed against primary sources.
Original editorial content: MIT. Linked projects, papers and assets retain their own rights and licenses.
