"Rescue on Fractalus!" jest podobno uważane za świetnie zaprogramowaną grę. Postanowiłem sprawdzić czy uda się wycisnąć więcej FPS przy pomocy AI.
Założenie było jedno: wszelkie optymalizacje mają być bezstratne, czyli niezauważalne dla gracza.
Pracowałem głównie z ChatGPT Astra w trybie średnim i wysokim. Gemini 4 Argon próbował coś dodać, ale jakość jego wstępnych pomysłów była kiepska.
To nie był jeden prompt. Praca była iteracyjna i zajęła kilkanaście godzin. Samo oszacowanie fps okazało się trudne, bo mapa jest generowana losowo i zależnie FPS bardzo się zmieniały z każdym uruchomieniem. W końcu obliczyliśmy, że aby uzyskać dokładność +/- 1%, potrzebne jest 155 przelotów testowych po 1 minucie każdy. A to i tak było to ograniczone badanie (tylko lot prosto).
Cartridge został rozbudowany z 64KB do 128KB by rozwinąć niektóre pętle i użyć dodatkowych tablic.
W końcu uzyskaliśmy wydajność o około 19% lepszą od oryginału, co uważam za sukces.
Czy da się lepiej? Pewnie tak. Może ktoś sprawdzi to z Opus 5.5.
Pomijałem też pomysły, które wymagały sporej przebudowy, a dawały oszczędności szacowane na mniej niż 0.05 FPS.
Proszę też fanów tej gry o testy, czy faktycznie jest w 100% wierna oryginałowi.
W repozytorium jest do pobrania obraz cartridga "Rescue on Fractalus! - optimized 128KB.rom", oraz dokładne opisy zrealizowanych optymalizacji i porzuconych pomysłów.
Dokumentacja jest po polsku i po angielsku.
https://github.com/nosty3/Rescue-on-Fra ... timization
Dobrej zabawy!