Power-up, który zostawia jaskinię w spokoju
Laser w TUNL przepala kryształy, miny i całe wyspy głazów. Dodanie go bez zmiany ani jednego kamienia w czyjejkolwiek jaskini dnia oznaczało, że w ogóle nie mógł być nową monetą. Musiał być starą monetą z nową etykietą.
Aż do lasera głazy były jedyną przeszkodą, której nie dało się zestrzelić. Pociski odbijają się od nich, sypiąc iskrami, rozbić głaz może tylko bomba, i to celowo: głaz to kamienna wyspa z dwoma gwarantowanymi przejściami, a przelot przez przejście to umiejętność. Prośba dotyczyła czegoś mocniejszego od pocisku, co mimo to może je rozbić. Sama broń była łatwą częścią.
Broń
Podnieś laser, a przez dwie sekundy od nosa statku do pierwszej ściany biegnie wiązka. Kryształy, miny i pociski działa na jej linii znikają od razu i dają punkty jak trafienie pociskiem. Głaz zatrzymuje wiązkę, zaczyna się żarzyć i rozpada się w gruz. Najpierw wypróbowałem na papierze dwie inne formy, serię przebijających pocisków i jeden naładowany strzał, i obie za bardzo przypominały istniejącą już monetę amunicji. Wiązka jest bez wątpienia inną bronią.
Ograniczenie: jedna jaskinia dla wszystkich
Danego dnia wszyscy gracze lecą przez tę samą jaskinię. Jaskinia nie jest nigdzie zapisana; jest obliczana z daty przez generatory liczb losowych z ziarnem, jeden strumień na każdy rodzaj obiektu, jak opisałem we wpisie o jaskini dnia. Haczyk polega na tym, że strumienie są ciągami. Jeśli generator monet wylosuje jedną liczbę za dużo, każda kolejna moneta wypadnie inaczej, a dwóch graczy na różnych wersjach aplikacji poleci tego samego dnia przez dwie różne jaskinie.
To wykluczyło oczywisty projekt. Nadanie laserowi własnej wagi w losowaniu monet przesunęłoby udział każdej innej monety i przelosowało każdą monetę od czwartego sektora. Odrzuciłem też ulepszenie monety amunicji, które byłoby nieczytelne, bo amunicja kończy się w mniej niż dwie sekundy, oraz zdolność statku w hangarze, która zamieniłaby power-up w coś, co się kupuje.
Nowa etykieta, nie nowe losowanie
Wydana została nowa etykieta. Gra trzyma kursor, czyli pozycję dalej w jaskini. Gdy jaskinia go minie, kolejna moneta, która wypadłaby jako pomarańczowa moneta amunicji, wypada zamiast tego jako laser, już po tym, jak każda zasada rozmieszczenia powiedziała swoje. Potem kursor przesuwa się o około dwadzieścia sekund lotu.
Rozrzut tego kroku też nie pochodzi z generatora liczb losowych. Pochodzi z hasha pozycji, więc jest równie powtarzalny, ale nie zużywa niczego z żadnego strumienia. Wynik: geometria jaskini jest identyczna jak w wersji bez lasera. Test jaskini odgrywa każdy dzień na oba sposoby i wymaga zgodności co do bajtu, poza tym, że na niektórych pomarańczowych monetach widnieje teraz laser.
Mierz częstotliwość, nie odczytuj jej ze stałej. Ponieważ laser czeka na pomarańczową monetę, jego prawdziwy odstęp to krok kursora plus to czekanie. Przy kroku 35 sekund odtworzenie dwudziestu dni pokazało lasery tylko co 40 do 95 sekund, pierwszy w okolicach 400 punktów. Przy 20 sekundach: mniej więcej co 17 sekund w czwartym sektorze, co 28 do 40 sekund głębiej, pierwszy przy medianie wyniku około 340.
Laser zaczyna się w sektorze 4, razem z głazami, do których rozbijania istnieje. Każdy lot poniżej 233 punktów jest dokładnie taki jak wcześniej. Jest koszt: laser zajmuje miejsce pomarańczowej monety, więc głęboko w locie widzisz trochę mniej amunicji. To uczciwa wymiana za mocniejszą broń.
„Laser nie rozbija głazów”
Takie było pierwsze zgłoszenie po prawdziwej grze i było trafne. Pierwsza wersja wymagała, by wiązka została na skale przez około jedną trzecią sekundy, żeby ją przepalić. Ale wiązka jest prosta i leży na wysokości statku, a gracze nie wlatują w głaz, tylko w jego przejście. Wiązka jedynie muskała więc krawędź przez jedną dziesiątą lub ćwierć sekundy. Z dwunastu prawdziwych głazów minionych z włączonym laserem pękł jeden.
Poprawka: decyduje pierwszy dotyk. Głaz, którego wiązka choćby dotknie, zapala się, żarzy i skwierczy przez chwilę, a potem wybucha. Z tych samych dwunastu pękło osiem; pozostałych czterech wiązka nigdy nie dotknęła. Inną opcją było automatyczne celowanie wiązką w najbliższą skałę, ale ją pominąłem, bo laser i tak jest wystarczająco silny. Lekcja dla mnie: testować przeszkodę wzdłuż linii, którymi gracze naprawdę latają, a nie wzdłuż linii statku w teście.
Drobiazgi, które miały znaczenie
- Moneta. Pierwsza moneta lasera była rubinowym prętem w kołnierzu i na pierwszym zrzucie ekranu wyglądała jak strzykawka. Teraz to oszlifowany rubin wystrzeliwujący krótką wiązkę.
- Koniec. Wiązka gasła kiedyś łagodnym pulsem w ostatnich chwilach, który łatwo było przeoczyć. Teraz migocze jak latarka ze słabą baterią: krótkie nieregularne przerwy, coraz częstsze pod koniec, a buczenie zacina się razem z nimi. Migotanie to tylko wygląd. Wiązka trafia dalej przez każdą przerwę, a wzór pochodzi z hasha zegara, a nie z generatora liczb losowych.
- Długość. Na początku było to 2,5 sekundy, co w grze wydawało się za długie, więc teraz są 2.
- Efekt. W odtworzeniu z autopilotem przez osiem dni laser był włączony w 0 do 7% klatek, a trafień w osłonę było o około 3% mniej. To chwila mocy, nie dźwignia trudności, i właśnie tego chciałem.
Wzorzec, do którego ciągle wracam
Laser nie jest pierwszą funkcją ukształtowaną przez tę zasadę. Zestawy naprawcze, czyli klucz, który upuszcza mina lub pocisk działa, gdy go zestrzelisz, z tego samego powodu żyją na własnej liście, a nie wśród monet: wrzuć je między monety, a jaskinia dnia się rozszczepi. W grze, której obietnicą jest jedna wspólna jaskinia dziennie, pytanie do każdej nowej funkcji jest to samo: czy losuje liczbę, a jeśli tak, to z czyjego strumienia?
Pierwszy laser dnia pojawia się w dzisiejszej jaskini zwykle gdzieś po 300 punktach.