O AREKu

AREK (Amiga Reverse Engineering Kit) je volně dostupná sada nástrojů s otevřeným kódem, kterou stavím proto, aby AI agent pro programování rozebral hru z Amigy z devadesátých let a postavil ji znovu jako moderní program pro prohlížeč. Na stránce neběží žádný emulátor: vlastní kód hry je přeložený předem a běží nativně, takže se hra hraje jako originál, na dnešních monitorech se hýbe plynule a umí ukázat víc z levelu, než se vešlo do starého okna.

Proč jsem to postavil

Mám několik skutečných Amig a hraju na nich od začátku devadesátých let. Na CRT monitoru scrolluje hra jako Alien Breed II jako po másle. Na dnešním monitoru přes emulátor nikdy: hra kreslí 50 snímků za sekundu, což se nevejde do 60 ani 120 Hz, a i jen přiblížit se tomu znamenalo hodiny ladění emulátoru. Z toho AREK vznikl. Místo smíření s obrazem, který je skoro správně, hru přestavět tak, aby mohla nakreslit nový obraz pro každé obnovení monitoru, a když už ví, kde co je, ukázat víc z levelu, než staré okno kdy mohlo.

Jak se hra přestavuje

Jedno pravidlo: jedinou pravdou je původní hra. Nic se nedomýšlí z paměti ani neopisuje z videa, každý krok se ověřuje proti skutečné hře spuštěné v emulátoru.

  1. Přečíst disketu

    Zjistit, kde na disketě leží kód, grafika a hudba a jak je hra načítá.

  2. Přeložit kód

    Strojový kód hry, napsaný pro procesor 68000 v Amize, se automaticky přeloží do kódu, který prohlížeč spouští rychle. Žádná Amiga se nesimuluje.

  3. Dokázat to

    Pustit přestavěnou hru a originál vedle sebe a krok po kroku porovnat paměť, obraz a zvuk. Shodné, jinak to není hotové.

  4. Vylepšit

    Až potom přijdou vylepšení, která starý hardware neuměl: plynulý pohyb na každém monitoru a širší výhled na level.

Při ověřování se našly dvě chyby v původní hře: trosky po výbuchu můžou proletět zdí a ven z mapy (hra pak čte paměť mimo mapu, na Amize neškodně) a zvukový ovladač si může splést číslo zvuku (zbylý horní bajt), takže jeden kanál ztichne. Obojí je ošetřené, aniž by se změnilo, jak se originál hraje.

Pokus o to, co umí umělá inteligence

AREK začal jako můj test: jak daleko se dostane AI agent pro programování se starou hrou, když má jen disketu, emulátor a pravidlo, že každé tvrzení musí být změřené? Dál, než jsem čekal. Nástroje, které si agenti cestou postavili a které fungovaly na víc než jedné hře, se staly AREKem.

Alien Breed II je první hra přestavěná s hotovým kitem od prvního dne. Jeho první level běžel v prohlížeči asi pět hodin poté, co agent poprvé uviděl diskety. Zbytek práce šel do ověřování proti originálu a do širšího a plynulejšího obrazu.

Umělá inteligence tu nic negeneruje. Dělá reverzní inženýrství pod jedním pravidlem: každý krok se ověřuje bajt po bajtu proti hře spuštěné v emulátoru, a co nesedí, není hotové.

Pro vývojáře

AREK je balíček pro Python s nástrojem pro příkazovou řádku a se serverem MCP, takže ho AI agent jako Claude Code používá přímo: obrazy disket, packery té doby, přísný dekodér 68000, překladač do C a WebAssembly, emulátor jako měřicí přístroj a části, které potřebuje hratelná webová stránka.

pip install amiga-re-kit
arek --help

Kit podrobně Zdrojový kód na GitHubu

Napište mi

Našli jste chybu, máte nápad, vlastníte originální disketu nebo byste rádi viděli nějakou konkrétní hru? Napište mi do diskusí na GitHubu. Potřebujete k tomu bezplatný účet na GitHubu. U chyby uveďte prohlížeč a počítač a co jste viděli, to mi pomůže nejvíc.

Pokud GitHub nepoužíváte, napište na .

Otevřít diskuse