atarionline.pl
atarionline.pl Atari
Login:
Hasło:
Zapamiętaj mnie
Translate to RSS RSS
41 lat później. Jak ujarzmiłem Starquake’a na Atari XL/XE (gra Starquake Extended) z 2026-11-07 16:11 (0)
Stan wojenny na Atari ST/STE! z 2026-11-04 12:19 (0)
Asembler skrośny "xasm" (wersja 3.3.0 i wtyczka do VSCode) z 2026-11-03 12:26 (0)
Papierowa opowieść o małym Atari z 2026-11-01 19:26 (2)
Rocky o historii grupy MadTeam z 2026-10-31 22:31 (0)
Na końcu tęczy jednak jest skarb! z 2026-10-30 18:59 (1)
Wielki topór prawie wykuty! z 2026-10-28 20:00 (3)
Twórcy discmaga "The Voice" na KWAS #42 z 2026-10-24 12:09 (0)
Kolejny "RECOIL" i "ASAP" z 2026-10-23 22:51 (1)
Zegar Atari w Centrum Kongresowym z 2026-10-19 18:53 (11)
Wideospacer po muzeum Atari! z 2026-10-16 02:33 (4)
Historia Mayoneza z 2026-10-09 13:29 (2)
Jak ustawić 288 obrotów w stacji Atari 1050? z 2026-10-07 23:06 (16)
Rzeszowskie historie o Atari z 2026-10-01 14:18 (14)
KWAS #42 na żywo z 2026-09-19 14:07 (9)
KWAS #42 w Poznaniu już jutro z 2026-09-18 15:31 (6)
Rozmowa ze STeel-em / tOri z 2026-08-24 00:27 (9)
Tysiąc koni mechanicznych w PoFo z 2026-08-17 08:34 (20)
Spotkanie z demosceną #9: STeel/Tori z 2026-08-17 08:19 (7)
Letnia edycja Silly Venture 2026 z 2026-07-31 15:41 (40)
«« nowszestarsze »»

Pomocnik/Helper
Gry/Games

Katalog gier (konwencja Kaz)
Aktualizacja: 2026-11-06
Liczba katalogów: 8961, liczba plików: 40393
Zmian katalogów: 4, zmian plików: 26

0-9 A B C D
E F G H I
J K L M N
O P Q R S
T U V W X
Y Z inne
zipCałość 3088 MB

Katalog gier (konwencja TOSEC)
Aktualizacja: 2021-07-11

Opisy gier
"Old Towers" (Atari ST) opisał Misza (19)
Submarine Commander opisał Kaz (36)
Frogs opisał Xeen (0)
Choplifter! opisał Urborg (0)
Joust opisał Urborg (17)
Commando opisał Urborg (35)
Mario Bros opisał Urborg (13)
Xenophobe opisał Urborg (36)
Robbo Forever opisał tbxx (16)
Kolony 2106 opisał tbxx (3)
Archon II: Adept opisał Urborg/TDC (9)
Spitfire Ace/Hellcat Ace opisał Farscape (9)
Wyspa opisał Kaz (9)
Archon opisał Urborg/TDC (16)
The Last Starfighter opisał TDC (30)
Dwie Wieże opisał Muffy (19)
Basil The Great Mouse Detective opisał Charlie Cherry (125)
Inny Świat opisał Charlie Cherry (17)
Inspektor opisał Charlie Cherry (19)
Grand Prix Simulator opisał Charlie Cherry (16)
«« nowszestarsze »»

Wewnętrzne/Internals



   Nowinki tworzone dzięki CuteNews
41 lat później. Jak ujarzmiłem Starquake’a na Atari XL/XE (gra Starquake Extended)

Kiedy 41 lat temu po raz pierwszy uruchomiłem ten tytuł na swoim małym Atari, przepadłem bez reszty. To była miłość od pierwszego wejrzenia – od niezwykłej, gęstej grafiki i płynnej animacji programowych duszków, przez charakterystyczną oprawę dźwiękową, aż po samego bohatera. BLOB – sympatyczny bio-inżynieryjny stworek w hełmie – stał się dla mnie symbolem tamtych lat do tego stopnia, że od dawna używam jego wizerunku jako swojego awatara wszędzie w sieci.

Był tylko jeden problem: życie z tą miłością było naprawdę ciężkie. Starquake w oryginale był grą piekielnie, wręcz niesprawiedliwie trudną. Wielu graczy odbijało się od niej już po kilkunastu minutach – zgubieni w labiryncie 512 komnat, masakrowani przez błyskawicznie odradzających się wrogów albo uwięzieni w pętli śmierci bez szansy na ruch. Zawsze marzyłem o tym, że kiedyś zdobędę wystarczającą wiedzę i narzędzia, by zajrzeć pod maskę tej gry, naprawić jej bolączki i ulepszyć ją tak, aby inni również mogli ją pokochać.

W końcu znalazłem sposób. Oto kulisy powstania Starquake Extended.


Zanim przejdę do samych zmian w grze, muszę wspomnieć o tym, jak ten projekt powstał. Praca nad cudzym, nieskomentowanym kodem maszynowym sprzed czterech dekad to chirurgiczna operacja na otwartym sercu. W tym projekcie moim nieocenionym partnerem do pair-programmingu był Orion – mój asystent AI, z którym wspólnie przekuliśmy surowy plik wykonywalny w perfekcyjnie uporządkowany, w 100% relokowalny projekt w MAD-Assemblerze.

Podział ról był jasny: pełna kontrola nad architekturą, mapą pamięci Atari oraz wizją artystyczną i projektową należała do mnie, natomiast Orion wspierał mnie w żmudnej deasemblacji, śledzeniu każdego bajtu na stronie zerowej (zidentyfikowaliśmy i nazwaliśmy wszystkie 1462 odwołania do 193 komórek ZP!), tropieniu ukrytych błędów oryginalnego silnika oraz pisaniu nowych procedur w asemblerze 6502 i skryptów synchronizujących dane.

Drugim filarem projektu był rozwijany przeze mnie pakiet narzędziowy RetroTools wraz z moim autorskim Frameworkiem dla Atari. Zamiast edytować bajty „na ślepo” w hex-edytorze, zaprzęgłem do pracy dedykowane moduły RT:
- MEMCRAFT Zarządzanie mapą pamięci – wyłączyłem system operacyjny, przeniosłem wybrane tablice i bufory pod OS ROM ($C000–$FFFF), zwolnić dolne strony RAM-u i precyzyjnie kontrolować każdy bajt wolnego miejsca.
- GRIXEL – mój edytor grafiki rastrowej, do którego wyeksportowaliśmy ekran tytułowy, ramki okienek dialogowych, animacje narożników oraz zupełnie nowy panel liczników.
- SPRITEX edytor duszków sprzętowych, w którym przeprojektowałem klatki animacji BLOB-a oraz jego platformy.
- DISARI deasembler którym przetłumaczyliśmy cyferki na literki.
- FONTEX którym edytowaliśmy programowe fonty.
- Stworzyliśmy dedykowany edytor dla tej gry. Narzędzie pozwalające na podgląd i edycję kafli, makrobloków, komnat z bezpośrednim zapisem do plików źródłowych *.asm.
- AtariPack (ZX0 + XOR stride) – kompresor zintegrowany z RetroTools i moim Frameworkiem, który zastąpił archaiczny algorytm RLE z oryginału. Sama migracja ekranu tytułowego oraz nowego panelu liczników na format AtariPack przyniosła nam ponad 3260 bajtów wolnej pamięci RAM! To właśnie w tej odzyskanej przestrzeni narodziły się najważniejsze nowości.



Oryginalny Starquake potrafił ukarać gracza nie za jego własny błąd, lecz za „niedopatrzenia” twórców. Razem z Orionem wzięliśmy pod lupę każdy przypadek, w którym gra zachowywała się nieuczciwie lub błędnie:

1. Koniec z „pętlą śmierci” na strażnikach (Tarcza po odrodzeniu)
Każdy, kto grał w oryginał, zna ten koszmar: tracisz ostatnią kroplę energii w miejscu, w którym od początku komnaty stoi niezniszczalny lub odradzający się strażnik. Gra zapisuje współrzędne Twojej śmierci jako punkt odrodzenia, przeładowuje komnatę i ... stawia strażnika dokładnie na Tobie. Tracisz kolejne życia jedno po drugim, nie mogąc nawet drgnąć dżojstikiem, aż do napisu GAME OVER.
Rozwiązanie: Wprowadziliśmy licznik tarczy ochronnej. Po utracie życia BLOB odradza się z 3-sekundową tarczą ochronną, sygnalizowaną szybkim miganiem kolorów postaci w przeciw fazie. Co najlepsze – dopóki tarcza działa, dotknięcie dowolnego wroga (w tym śmiertelnego strażnika stojącego na punkcie spawnu) natychmiast wysadza przeciwnika w powietrze bez zadawania obrażeń graczowi! Uwaga nie działa na kolce.

2. Koniec ze spadaniem w przepaść po wejściu na planszę wyżej (Automatyczna platforma)
W Starquake nie mamy skoku o wysokości całego ekranu – aby wspiąć się do komnaty powyżej, budujemy pod stopami tymczasowe platformy. W oryginale, gdy wreszcie wspiąłeś się przez sufit do górnej komnaty, poprzednie platformy znikały, a jeśli w nowym pokoju pod stopami była przepaść, silnik gry w pierwszej klatce stwierdzał brak podłoża i natychmiast zrzucał Cię z powrotem na planszę niżej!
Rozwiązanie: Zmodyfikowaliśmy procedurę inicjalizacji pozycji gracza. Jeśli BLOB wchodzi do nowej komnaty od dołu pieszo (nie jadąc windą i nie lecąc na poduszkowcu), a pod jego stopami nie ma stałego gruntu, gra automatycznie i całkowicie za darmo (bez pomniejszania zapasu platform na liczniku) stawia pod nim bezpieczną platformę wejściową. Masz czas, by rozejrzeć się po pokoju i zaplanować dalszą wspinaczkę.

3. Naprawa „niedokręcających się” cyfr licznika punktów
Czy zastanawialiście się kiedyś, dlaczego w oryginalnym Starquake cyfry wyniku na górnym panelu często zatrzymują się krzywo, jakby bębenek licznika zaciął się o jedną linię skaningową przed końcem obrotu? Podczas analizy modułu Orion odkrył zaskakujący fragment kodu: w ostatnim, 8. kroku animacji obrotu cyfry autorzy gry celowo odczytywali rejestr losowy POKEY-a i z prawdopodobieństwem 25% przerywali dorysowanie ostatniej linii cyfry!
Rozwiązanie: Choć to nie błąd a celowe działanie autora postanowiłem usunąć te 6 zbędnych instrukcji. Teraz bębenki licznika punktów zawsze dokręcają się płynnie i równo co do piksela.





Nowe oblicze gry: Co zmieniło się w Starquake Extended?

Kiedy fundamenty gry były już stabilne jak skała, przyszedł czas na spełnienie marzeń z dzieciństwa i rozbudowę gry o funkcje, które czynią rozgrywkę nowoczesną, przejrzystą i dostosowaną do każdego gracza.

1. Interaktywna mapa świata gry i rejestr teleporterów.


W oryginale poruszanie się po 512 komnatach planety bez rysowania mapy na papierze graniczyło z cudem. W Starquake Extended w każdej chwili podczas rozgrywki wystarczy nacisnąć spację, by otworzyć pełnoekranową, interaktywną mapę świata:
- Każda odwiedzona komnata jest renderowana w skali mikro (1 kafel = 1 piksel szerokości i 2 linie skaningowe wysokości) z zachowaniem rzeczywistego układu ścian, platform i przejść w odpowiednich kolorach.
- Na górze i po lewej stronie wyświetlane są czytelne nagłówki kolumn (01–16) oraz pięter (01–32) pisane naprzemiennymi kolorami dla łatwiejszej orientacji, a w prawym górnym rogu widzisz dokładne współrzędne swojej komnaty.
- Po prawej stronie ekranu znajduje się lista wszystkich 15 teleporterów. Dopóki nie odkryjesz danego teleportera, widzisz `-----`. Gdy tylko wejdziesz do kabiny teleportera (lub przeteleportujesz się do niego), jego 5-literowy kod zostaje trwale zapisany na liście!
- Za pomocą dżojstika możesz przewijać mapę w pionie (Góra/Dół) lub przełączać się pomiędzy odkrytymi teleporterami (Lewo/Prawo) – mapa automatycznie wycentruje się wtedy na wybranym teleporterze, a naciśnięcie RETURN natychmiast wycentruje widok z powrotem na komnacie z graczem.
- Wykorzystaliśmy sprzętowe pociski PMG, aby na mapie pulsowały dwa znaczniki: zielony (Twoja aktualna pozycja) oraz fioletowy (komnata wybranego z listy teleportera).
- Cały ekran rozgrywki jest przed otwarciem mapy zapamiętywany, aby przy powrocie wrócić do akcji bez najmniejszego naruszenia pozycji wrogów czy animacji.

2. Cztery poziomy trudności: EASY, NORMAL, HARD, MASTER
Chciałem, aby Starquake Extended dawał radość zarówno osobom, które chcą po prostu zwiedzić planetę i po raz pierwszy w życiu ukończyć grę, jak i weteranom szukającym ekstremalnego wyzwania. Na ekranie tytułowym można wybrać jeden z czterech trybów (wybrany tryb jest też cały czas widoczny na panelu liczników):
- EASY: Od samego startu masz odkrytą całą mapę świata (wszystkie 512 komnat) oraz wszystkie 15 kodów teleporterów (choć punkty za eksplorację naliczają się normalnie!). W komnatach pojawia się maksymalnie 2 przeciwników, ich czas pojawiania się jest ok. 3× wolniejszy niż w oryginale, a po zestrzeleniu wroga jest 50% szans, że w tym pokoju już się nie odrodzi.
- NORMAL: Mapa świata jest odkrywana w miarę eksploracji, ale wszystkie 15 kodów teleporterów znasz od początku. Maksymalnie 3 przeciwników w komnacie, ok. 2× wolniejszy spawn i 50% szans na respawn.
- HARD (domyślny): Klasyczne zasady wyzwania z oryginału – mapa i teleportery odkrywane podczas gry, do 4 przeciwników jednocześnie, oryginalne tempo spawnu i 50% szans na respawn.
- MASTER: Tryb dla prawdziwych mistrzów! Mapa i teleportery są ukryte, do 4 przeciwników ze 100% szansą na odrodzenie, a co najważniejsze – przy każdym starcie nowej gry procedura losuje zupełnie nowe, unikalne 5-literowe hasła dla 14 teleporterów (tylko specjalny teleporter do którego nie można dotrzeć „na pieszo” zachowuje swój oryginalne hasło). Znajomość kodów na pamięć z dawnych lat tutaj nie pomoże!

3. Nowy panel liczników i podgląd 9 poszukiwanych części rdzenia
W oryginale gracz po dotarciu do komnaty rdzenia (Core) musiał spisywać lub zapamiętywać wygląd 9 brakujących elementów, po czym błądzić po planecie, próbując przypomnieć sobie, czy dany przedmiot z piramidy Cheopsa jest jeszcze potrzebny.
Przestawiliśmy układ pasków energii, platform i amunicji, liczników wyniku i żyć oraz 4 slotów inwentarza gracza, zyskując w centralnej części panelu miejsce na 9 slotów części rdzenia.
Na początku gry pole to jest puste. Gdy jednak po raz pierwszy odwiedzisz komnatę rdzenia planety, komputer pokładowy BLOB-a skanuje uszkodzenia i wyświetla ikony wszystkich 9 poszukiwanych części!
W miarę jak znosisz kolejne części do rdzenia, są usuwane z listy na górnym panelu, pokazując wyłącznie to, czego jeszcze Ci brakuje.
Co więcej, podczas wymiany przedmiotów w piramidzie Cheopsa gra inteligentnie sprawdza listę brakujących części: jeśli wybierany w piramidzie przedmiot jest jednym z poszukiwanych elementów rdzenia, na panelu synchronicznie mruga odpowiadający mu slot!


4. Obniżyłem rozdzielczość, aby podkolorować całą planetę. Trochę się nad tym namęczyłem, bo grafik ze mnie marny.

5. Dopaliliśmy również wszystkie detale użytkowe, jakich oczekuje się od współczesnego wydania na Atari XL/XE:
- Trzy kontekstowe ekrany pomocy: Naciśnięcie klawisza HELP działa w trzech miejscach – w menu głównym, podczas rozgrywki oraz na ekranie mapy – wyświetlając w ramce zestawienie klawiszy właściwe dla danego ekranu
- Wyjście klawiszem ESC: W każdej chwili możesz przerwać bieżącą rozgrywkę klawiszem ESC, aby wrócić do ekranu tytułowego.
- Bezpieczny sprzętowy RESET: naciśnięcie klawisza RESET nie niszczy danych gry w pamięci i czysto restartuje program.


Praca nad Starquake Extended była dla mnie niezwykłą podróżą – połączeniem dziecięcego sentymentu sprzed 41 lat z nowoczesnym warsztatem programistycznym, możliwościami własnego pakietu RetroTools i świetną współpracą z Orionem. Gra, która przez cztery dekady nie dawała się okiełznać, wreszcie otworzyła swoje tajemnice, nie tracąc nic ze swojego pierwotnego klimatu, a zyskując grywalność, na jaką zawsze zasługiwała.

Starquake Extended
Wersję v1.1 można pobrać stąd.
Autorzy nowej rozszerzonej wersji: Krystian "Salmax" Walczyk + asystent Orion AI

2026-11-07 16:11 by Salmax
komentarzy: 0
nickname
e-mail / website (opcjonalnie)

Aktualne tematy
picocart (2)
ostatni: 07-11-2026 16:34, tebe
Nowe gry na Atari (587)
ostatni: 07-11-2026 16:01, duncan
Czy Atari może korzystać z BBS? (30)
ostatni: 07-11-2026 12:34, Fenixom1911
ktoś pytał o STL obudowy Atari... (36)
ostatni: 07-11-2026 09:47, woocash500
Agent U.S.A. 2 (remake z co-opem,... (6)
ostatni: 07-11-2026 00:56, zbyti
Atari Action! Compiler (39)
ostatni: 06-11-2026 23:26, zbyti
Gra "Celeste" (Atari VBXE) (36)
ostatni: 06-11-2026 20:26, zbyti
Język programowania "Nova Basic" (24)
ostatni: 06-11-2026 18:50, Kaz
RMT hacking (483)
ostatni: 06-11-2026 17:19, zbyti
Zmiany w bazie gier, dem, użytków (1365)
ostatni: 06-11-2026 16:36, Krótki
Kupię Atari 130XE bez przeróbek (7)
ostatni: 06-11-2026 15:18, BaX
Silly Venture 2026WE - the bigges... (49)
ostatni: 06-11-2026 14:10, greymsb
ZUGZA - Zmyślny Uruchamiacz Gier ... (3)
ostatni: 06-11-2026 10:03, marcowy
Poison - Dead Space CD Preview (8)
ostatni: 05-11-2026 20:21, poison
Action! na Rosetta Code (48)
ostatni: 05-11-2026 16:02, George

Kategorie Forum Atarum

Administratorzy: Adam, Cyprian, Jhusak, Kaz
Użytkowników: 3108
Ostatnio zarejestrowany: graysonkyay55
Postów ostatniej doby: 48

Spotkania i zloty/Meetings & Parties

Najbliższe imprezy
link do naszych spotkań online, zapraszamy do odwiedzenia kanału zoom również przez kod QR:

KWAS

Kalendarz AOL


Społeczność/Community


Rozmawiali
Wywiad z Mariuszem Jaroszem i Kaz (16)
Wywiad Dracona z Mr. Bacardim i Kaz (16)
Tomasz Dajczak i Kaz (22)
Lech Bąk i "Świat Młodych" i Kaz (26)
Michał "Mike" Jaskuła i Kaz (30)
F#READY i Dracon (22)
Daniel „Arctus” Kowalski i Dracon (25)
KATOD i TDC (15)
Mariusz Wojcieszek i "Adam" (17)
Romuald Bacza i Ramos (16)
Śledzenie Amentesa i Larek (9)
Leszek Łuciów i Charlie Cherry (17)
TO JUŻ ZA TOBĄ: rozmowa z Bobem Pape i cpt. Misumaru Tenchi (39)
Rob Jaeger i Emu (53)
Jacek "Tabu" Grad i Dracon (0)
Alexander "Koma" Schön i Kaz (0)
Maciej Ślifirczyk i Charlie Cherry (0)
Jarek "Odyniec1" Wyszyński i Kaz (0)
Marek Bojarski i Kaz (0)
Olgierd Niemyjski i Ramos (0)
«« nowszestarsze »»

Stragan
Nowe, pojemniejsze RAM-Carty oferuje Kaz (21)
"mouSTer" czyli myszka ST oferuje Kaz (30)
Atari USBJoy Adapter oferuje Jakub Husak (0)
Programy: Kolony 2106 oferuje Kaz (7)
Sprzęt: rozszerzenia oferuje Lotharek (408)
Gadżety: naklejki, pocztówki oferuje Sikor (11)
Sprzęt: cartridge RAM-CART oferuje Zenon (7)
Miejsce na drobne ogłoszenia kupna/sprzedaży oferuje Kaz (58)
Sprzęt: interfejs SIO2IDE oferuje Piguła (3)
Sprzęt: interfejs SIO2SD oferuje Piguła (117)

Użytki/Utils
Sprzęt/Hardware

Wynalazki
Jak ustawić 288 obrotów w stacji Atari 1050? napisał Kaz (16)
Atari jako programator pojazdu gąsienicowego napisał Kaz (17)
Usprawnienia magnetofonu XC12 napisał Kaz (12)
Atari i Bluetooth napisał Kaz (35)
SIO2PC-USB napisał Larek (46)
Nowe SIO2SD napisał Larek (0)
SIO2SD w CA12 napisał Urborg (15)
Ratowanie ATMEL-ów napisał Yoohaas (12)
Projektowanie cartów napisał Zenon (12)
Joystick do Atari napisał Larek (54)
Tygrys Turbo napisał Kaz (13)
Testowałem "Simple Stereo" napisał Zaxon (5)
Rozszerzenie 1MB napisał Asal (21)
Joystick trzyprzyciskowy napisał Sikor (18)
Moje MyIDE oraz SIO2PC na USB napisał Zaxon (16)
Jak wykonać płytkę drukowaną? napisał Zaxon (28)
Rozszerzenie 576kB napisał Asal (36)
Soczyste kolory napisał scalak (29)
XEGS Box napisał Zaxon (13)
Atari w różnych rolach napisał Różyk (9)
«« nowszestarsze »»