Muzyki i dźwięków nie można usunąć, bo to jest główna zaleta amigowej wersji.
Nie będę się starać o kombinacje na Amigę ze slow ramem, ponieważ wtedy gra będzie wolniej działać. Wykorzystałem to, że fast ram jest szybszy i dzięki temu mogłem wyświetlić więcej bobów i blitów bez straty płynności, a naprawdę ciężko się mierzyć mając grafikę planarną i stawiać boby z 8-bitowcami, które wykorzystują multiplexing sprajtów.
Co do struktury przeciwników zdradzę jak to wygląda:

Trochę tam może być niezrozumiale napisane, bo wtedy nawet uczyłem się pisać struktury i wykorzystywać.
t to typ obiektu i np. 1 to czaszka, 2 to nietoperz itd
rx - numer komnaty w poziomie w której się ma pojawić
ry - numer komnaty w pionie
przykładowo \rx=0 i \ry=0 oznacza, że przeciwnik pojawi się w pierwszej górnej lewej komnacie
x/y to wiadomo
xmax/xmin/ymax/ymin to maksymalne wychylenia obiektu. Jedne wykorzystują tylko pionowe, inne poziome, a inne oba naraz
xs/ys - przesunięcie poziome/pionowe w pikselach na ramkę
a - nr grafiki do wyświetlenia
p - pozycja w tablicy
Teraz przykładowo nietoperze są w osobnej tablicy, drzwi w osobnej, czaszki w osobnej itd. Podczas ładowania komnaty wszystkie te tablice są sprawdzane czy zmienna \rx i \ry odpowiada danej komnacie. Jeśli tak, to wszystkie te obiekty odpowiadające danej komnacie ładują się do tablicy obj() która jest w tej samej strukturze. Tu już cała rozgrywka opiera się na tablicy obj(). Jak widać każdy obiekt zajmuje 24 bajty, bo tu trochę nieładnie poukładałem dane i zacząłem od bajtów, później dodałem wordy, następnie znowu bajty, bo nie miałem pojęcia o tym, że 68000 potrzebuje przesunąć word do parzystego bajtu, ale różnica 22 a 24 bajty to chyba nie jest już tragedia. Nie bawmy się w aptekę, bo nawet 1000 obiektów, to będzie różnica 2KB.
Dla ciekawych dodam rozmiary leveli w bajtach:
LEVEL1 440*80 B
LEVEL2 200*120 B
LEVEL3 200*120 B
LEVEL4 320*80 B
LEVEL5 240*180 B
Sam plik uruchamialny Tonego to 330KB. Plus taka tablica z kaflami levelu 5 to już mamy prawie 400KB. Ile zostaje ze slow ramu? Niewiele. A reszta danych... tablice, zmienne itd. Nie ma sensu naprawdę.
Ostatnia aktualizacja: 15.06.2024 19:37:11 przez tukinem