Автор попросил Claude Code воссоздать в браузере игру Thrust — классический 1986 год, BBC Micro, сделал Jeremy C. Smith. Claude выдал «slop»: физика не работала, гравитация неправильная, управление ужасное. Тогда автор решил разобраться, как Thrust устроен на самом деле.
Он нашёл дизассемблированный исходник с комментариями Kieran Connell и начал скармливать его Claude. AI отлично объяснял 6502 ассемблер: как устроены уровни, физика, звук. Оказалось, магия не в константах, а в точном тайминге. Оригинал использует Q7.8 fixed-point арифметику, но физика работает не на 50 Hz VSync, а на частоте ~33.33 Hz с гейтингом: гравитация и тяга применяются только в 6 из 16 тиков (слоты 0, 3, 5, 8, 11, 13). Драг асимметричный: по X — 63/64, по Y — 255/256. Ротация тоже пропускает каждый четвёртый тик. Когда автор скопировал эти точные задержки, игра стала ощущаться как оригинал.
Звук воссоздали через эмуляцию звукового чипа SN76489 и BBC MOS интерфейса. Помогли дизассемблированный MOS от Toby Nelson и документация. Эмуляция работает в AudioWorklet: MOS-обработчик огибающих (OSWORD 7/8) управляет чипом, генерация сэмплов с точным шагом 250000/ sampleRate, 10-битные счётчики тона, шум через 15-битный LFSR. Результат — идентичные звуки.
Графика и уровни извлечены из дизассемблированного кода: спрайты корабля на 32 угла были хардкодные, автор просто конвертировал их через эмуляцию буфера кадра BBC. Террейн рисуется с оригинальным scanline-parity polygon fill — каждая вторая линия. Разрешение 320×256.
Демо-режим оказался простым: таймированные нажатия клавиш из таблиц, три слота слегка рандомизированы. Из-за этого автор обнаружил ошибку в стартовых позициях и исправил её.
Телепорт-анимацию не удавалось воссоздать по спецификации, автор записал видео, скормил кадры Claude и получил рабочий вариант за пять минут. CRT-эффекты (scanlines, зелёный фосфор, чёрно-белый и т.д.) добавил через WebGPU compute shaders.
Главный вывод: AI не смог сам написать Thrust, но помог глубоко понять оригинал — до уровня точной эмуляции физики и звука. Исходный код на GitHub, игра доступна онлайн. Автор восхищается работой Jeremy Smith, написавшего Thrust в 16–18 лет.