Технически TAS можно сделать к любой игре, которая работает на эмуляторе с поддержкой re-recording (перезаписи инпутов). Принципиальных запретов физики нет. Но на практике есть нюансы.
Требования для TAS:
- Эмулятор с frame advance (покадровое продвижение) и возможностью записи/воспроизведения инпутов.
- Savestates (сохранение состояния в любой момент).
- Детерминизм: при одних и тех же инпутах игра должна давать одинаковый результат. Это ключевой момент.
Где TAS затруднен или невозможен:
- Онлайн-игры. Сервер не позволит замедлить время и перематывать. TAS возможен только для оффлайн-части.
- Игры с недетерминированным поведением. Если RNG завязан на реальное время (wall clock), а не на фреймы, воспроизведение инпутов даст разный результат при каждом запуске. Таких игр мало, но они есть.
- Платформы без качественных эмуляторов. PS3 (RPCS3 пока не поддерживает re-recording толком), Xbox 360 (Xenia туда же), Switch (есть наработки, но сыро).
Для PSP: используй PPSSPP. Он поддерживает frame advance, savestates, и есть экспериментальная поддержка input recording. Также посмотри на libTAS если хочешь работать через Linux.
Начни с малого: пройди один уровень покадрово, разберись с input display, найди RAM-адреса через Cheat Engine или встроенный memory viewer. Потом уже оптимизируй.
Огромное спасибо за развернутый ответ! Про детерминизм и RNG даже не задумывался, пойду разбираться с PPSSPP