1 Ostatnio edytowany przez nosty (Wczoraj 12:23:06)

"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. (EDITED: to już nieaktualna wartość - patrz niżej).

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!

EDITED:
Uzupełniłem repozytorium o zmiany wykonane przez Solo z agentami Opus, oraz kolejne poprawki Astry.
Do pobrania jest zarówno obraz cartrdiga, jak i poprawiony xex (wymaga rozszerzonej pamięci).

Aktualna poprawa względem oryginalnej gry, przy użyciu dokładniejszej metody badania FPS wynosi:


https://www.atari.org.pl/forum/misc.php?action=pun_attachment&item=14071


https://www.atari.org.pl/forum/misc.php?action=pun_attachment&item=14072

Post's attachments

rescue3_NTSC.png 13.87 kb, nikt jeszcze nie pobierał tego pliku. 

rescue3_PAL.png 13.88 kb, nikt jeszcze nie pobierał tego pliku. 

Tylko zalogowani mogą pobierać załączniki.

2

wow ! świetne


The Eidolon
Koronis Rift

podobnoe z tej samej stajni.

http://atari.pl/hsc/ad.php?i=1.

3

Robiąc kod przez AI trzeba się liczyć, że AI może dostawiać bliżej nieokreślone EasterEggi, backdoory (nie wiem do czego, ale jednak) i sobie wiadome sygnatury z przekazem podprogowym. Gra może być zmieniona w niedostrzegalny sposób. Sądzisz, że grasz w podrasowany Rescue, a w rzeczywistości... ?








Dobra, dobra, żartowałem :)

4

nosty napisał/a:

Założenie było jedno

Jak już Twoj pracownik ma wszystko obcykane to rozwaz zlecenie mu podmiane gor na przelot nad miastem - budynki moga byc zwyklymi prostopadloscianami

:D

http://atari.pl/hsc/ad.php?i=1.

5

Uaktualniłem repo o zmiany Solo/Opus i poprawki Astry do ich wersji:
https://github.com/nosty3/Rescue-on-Fra ... timization

Aktualny, uśredniony zysk względem oryginału:
PAL: +40,04%
NTSC: +43,13%

6 Ostatnio edytowany przez w1k (Wczoraj 13:03:58)

spróbuję też coś wnieść, wrzucę zmiany na githuba

7

https://www.youtube.com/watch?v=YWwmCFAGesQ

http://atari.pl/hsc/ad.php?i=1.