Zakres porównania
21 maja–1 sierpnia 2026, ze szczególnym uwzględnieniem prac wykonanych w lipcu

To wydanie przynosi dużą rozbudowę miejskiej części gry, nowy system ruchu ulicznego i przechodniów, pełne oświetlenie oraz cienie kierunkowe, start rakiet z proceduralnym ogniem i dymem, nową oprawę radiacji i śmierci, rozwiniętą prezentację robotów oraz szeroki pakiet poprawek silnika, fizyki, kolizji, uzbrojenia i zapisów gry.

Najważniejsze zmiany

  • Znacząco rozbudowano pierwszy poziom: dodano miejską ulicę, wieloplanowe budynki, drzewa, chodniki oraz nowe elementy otoczenia.
  • Ożywiono miasto dużą liczbą przechodniów oraz samochodów i autobusów w wielu wariantach.
  • Dodano pełny system ruchu ulicznego: hamowanie przed postaciami i przeszkodami, bezpieczne odstępy, ponowny wjazd na mapę oraz zapis stanu pojazdów.
  • Znacząco poprawiono efekty świetlne oraz dodano rozbudowany system dynamicznych cieni dla budynków, postaci, broni, pojazdów i obiektów świata.
  • Dodano kierunkowe światło słoneczne oraz spójne cienie reagujące na pozycję, ruch i wysokość obiektów względem podłoża.
  • Dodano selektywne poświaty emisyjne i metaliczne refleksy widoczne także w ciemności, m.in. na laserach, beczkach, panelach, lustrach i metalowych skrzynkach.
  • Dodano sekwencję startu rakiet wraz z proceduralnym, generowanym bez sprite'ów ogniem, dymem, iskrami i falą startową.
  • Dodano nową postać Sally oraz nowe zestawy wyglądu przechodniów.
  • Dodano ekranowy efekt radiacji oraz całkowicie nową prezentację śmierci gracza.
  • Mocno przebudowano fizykę obiektów ruchomych, windy, drabiny, skosy i kolizje w przestrzeni 2.5D; obiekty mogą teraz naturalnie znajdować się przed sobą lub za sobą.
  • Rozbudowano zachowanie wszystkich latających broni oraz ich omijanie ruchomych przeszkód i pojazdów.
  • Rozszerzono i ustabilizowano system save/load, w tym zapis rakiet, ruchu ulicznego i dokładnego położenia gracza w windzie.
  • Dopracowano tło menu oraz wygląd, HUD i prezentacje robotów.
  • Przeprowadzono dużą rozbudowę i stabilizację warstwy silnikowej, w szczególności konfiguracji grafiki, renderowania, wysokich częstotliwości odświeżania i zarządzania zasobami GPU.

Nowa zawartość i świat gry

  • Przebudowano pierwszy poziom w rozległą miejską scenę z ulicą, chodnikami, wieloplanową zabudową, drzewami, ruchem oraz nowymi elementami interaktywnymi.
  • Dodano oBoy01 — nowy system przechodniów z trybem bezczynności i chodzenia.
  • Dodano pięć wariantów chłopców oraz wariant dorosłego mężczyzny, każdy z dopasowanymi animacjami Idle/Walk.
  • Rozbudowano oGirl01 o nowe warianty dziewczyn i dorosłej kobiety oraz osobne tryby Idle/Walk/Run.
  • Dodano Sally jako oddzielną postać z własnymi animacjami Idle/Run, trasami ruchu, przystankami, oczekiwaniem na gracza, krokami i płynnym znikaniem po zakończeniu sceny.
  • Rozbudowano obsadę rLevelOne: dodano dziesiątki nowych pieszych, dodatkowe gołębie, elementy ulicy i monety.
  • Dodano samochody osobowe i autobusy z oddzielnymi, animowanymi kołami.
  • Dodano kilka wariantów nadwozi samochodów i autobusów.
  • Dodano specjalne warianty pojazdów miejskich: taksówki, radiowozy i śmieciarkę.
  • Przebudowano fragmenty Training Room związane z antygrawitacją, windami, drabinami, ActionBoxami i przyciskami.
  • Dodano przedmiot Geigera do przebiegu treningu.
  • Dodano nowe obiekty i grafiki rakiet oraz niewidzialny wariant ściany pomocniczej.

Ruch uliczny

  • Każdy pojazd otrzymuje własną, lekko zróżnicowaną prędkość przejazdu.
  • Dodano płynne przyspieszanie i hamowanie.
  • Pojazdy wykrywają gracza, NPC, przeciwników, inne pojazdy oraz ruchome przedmioty na swoim pasie.
  • Wykrywanie przeszkód opiera się na linii podstawy/„stóp”, dzięki czemu wysoki sprite autobusu nie reaguje błędnie na postać stojącą na chodniku za nim.
  • Samochody i autobusy zachowują bezpieczny odstęp i nie przejeżdżają przez wolniejsze pojazdy.
  • Po zwolnieniu drogi pojazd odczekuje chwilę przed ponownym ruszeniem, co daje bardziej naturalny efekt.
  • Dodano bezpieczny system ponownego wjazdu pojazdu na mapę po opuszczeniu poziomu.
  • Kilka pojazdów nie może już pojawić się jednocześnie w tym samym punkcie odrodzenia.
  • Dodano naprawę starych zapisów, w których samochody mogły zostać odtworzone jeden na drugim.
  • Pojazdy nie są już przesuwane przez skrzynie lub obiekty trzymane magnesem; nieprawidłowo nałożony przedmiot jest bezpiecznie wypychany.
  • Koła są przypisywane do właściwego nadwozia, nie dublują się i pozostają zsynchronizowane po save/load.
  • Obrót kół odpowiada rzeczywiście przebytej odległości.
  • Nadwozie, koła, kolizja, perspektywa i cień korzystają ze wspólnej skali.
  • Ruch uliczny zostaje poprawnie zatrzymany podczas prezentacji, tutoriali, pauzy interfejsu i innych zamrożeń świata.

Przechodnie i NPC

  • Usprawniono zachowanie oGirl01, Sally i pozostałych NPC-ów w przestrzeniach 2.5D, na ulicach oraz na powierzchniach typu FloorRoom.
  • Zsynchronizowano ich kolizje, skalę perspektywiczną i głębokość z graczem, pojazdami, bronią oraz elementami otoczenia.
  • Przechodnie mają stabilną maskę kolizji niezależną od aktualnej animacji.
  • Animacja chodzenia lub biegu jest odtwarzana tylko wtedy, gdy postać faktycznie się porusza.
  • Postać zatrzymana przez gracza lub przeszkodę przechodzi do animacji Idle.
  • Po zejściu gracza z drogi przechodzień czeka losowo od jednej do trzech sekund przed ruszeniem.
  • Dodano osobistą przestrzeń przed pieszym, aby postacie nie wchodziły bezpośrednio w gracza.
  • Ruch jest wykonywany w małych krokach, co zapobiega przechodzeniu przez cienkie przeszkody przy spadku liczby FPS.
  • Przechodnie poprawnie omijają lub respektują samochody, autobusy, śmieci, skrzynie i pozostałe przeszkody uliczne.
  • Piesi mogą przechodzić przed lub za wysokimi sprite'ami wtedy, gdy ich linie stóp znajdują się na różnych głębokościach.
  • Postacie zapętlone na krawędziach miasta wracają z przeciwnej strony bez widocznego pojawienia się w środku ekranu.
  • Naprawiono nagłe przenoszenie NPC pomiędzy oddzielnymi fragmentami ulicy podczas kontaktu z pojazdem.
  • Naprawiono błąd STRING argument is unset w logice kolizji oBoy01 i analogicznie zabezpieczono oGirl01.

Kot

  • Rozbudowano zachowanie kota podążającego za graczem oraz jego poruszanie się po poziomach platformowych, FloorRoom i ulicach.
  • Kot potrafi planować przejścia przez drabiny, schodzić z ich szczytów, przeskakiwać pomiędzy poziomami i wracać do bezpośredniego śledzenia gracza.
  • Dodano współpracę z windami i ruchomymi platformami, w tym stabilne przewożenie niezależne od kolejności zdarzeń Step.
  • Rozbudowano omijanie ścian, skrzyń, samochodów, autobusów i pozostałych dynamicznych przeszkód.
  • Dodano wykrywanie utknięcia oraz awaryjne, bezpieczne odtworzenie kota w pobliżu gracza, używane tylko wtedy, gdy zwykła nawigacja nie może odzyskać postępu.
  • Kot jest bezpiecznie przenoszony poza strefę śmierci; punkt powrotu jest sprawdzany pod kątem kolizji i podłoża.
  • Ustabilizowano stany dołączenia do gracza, ukrycia, znikania i ponownego pojawiania się.
  • Save/load zachowuje pozycję kota, jego warstwę, kierunek, stan animacji, dołączenie do gracza, ukrycie oraz położenie względem właściwej windy.

Gołębie

  • Usunięto możliwość nagłych skoków pozycji o około 150–200 pikseli.
  • Dodano zabezpieczenie odrzucające wyłącznie rzeczywisty teleport stanu, bez ograniczania prawidłowej prędkości lotu.
  • Przywrócono wcześniejszą szybkość animacji, prędkość lotu i docelowy dystans ucieczki.
  • Gołąb startujący z oStreet zawsze nabiera wysokości i nigdy nie odlatuje w dół.
  • Start odbywa się pod naturalnie zmiennym kątem, a nie pionowo.
  • Lądowanie także odbywa się po skosie, z bocznym podejściem i płynnym szybowaniem.
  • Poprawiono planowanie punktu podejścia, aby ptak nie kończył powrotu pionowym opadaniem nad miejscem startowym.
  • Poprawiono zachowanie przy oBlackBarrel01; gołąb wybiera kierunek od beczki i zdobywa poziomy odstęp podczas wznoszenia.
  • Rozbudowano omijanie ścian, narożników i ciasnych tuneli oraz wykrywanie braku postępu.
  • Dodano stabilne trasy powrotu do punktu startowego bez odbijania się i kręcenia w kółko.
  • Gołąb zachowuje rzeczywiste miejsce lądowania na tymczasowej grzędzie zamiast teleportować się na wysokość domu.
  • Poprawiono chodzenie po dachach — ptak nie może już wyjść poza podporę i iść w powietrzu.
  • Poprawiono kolejność rysowania gołębi względem gracza, pojazdów i elementów ulicznych.
  • Gołębie mogą zostać trafione laserem oGun2, plazmą oraz wiązką elektryczną oGun5.
  • Dodano pióra, odrzut, fizykę upadku i stan martwego gołębia.
  • Dodano rozbudowany efekt porażenia prądem: rozświetlenie sylwetki, impulsy i proceduralne wyładowania.
  • Stan, punkt startowy i położenie gołębia są stabilniej odtwarzane po wczytaniu gry, również dla starszych zapisów.

Rakiety i efekt startu

  • Dodano niewidzialny, jednorazowy oRocketTrigger, aktywowany przez wejście gracza w jego obszar.
  • Trigger może uruchamiać całą grupę przypisanych rakiet.
  • Dodano oRocket02, który po aktywacji płynnie przyspiesza w górę i jest usuwany dopiero po całkowitym opuszczeniu mapy.
  • Dodano wspólny oRocketExhaustFX, który obsługuje wiele rakiet i utrzymuje ich ślad po zniknięciu źródła.
  • Cały efekt wydechu jest generowany proceduralnie — bez dodatkowych sprite'ów.
  • Dodano długi, intensywny biało-żółto-pomarańczowy ogień z jasnym rdzeniem i gorącą obwódką.
  • Dodano kilka warstw płomienia, dynamiczne falowanie, rozżarzone fragmenty, iskry i diamenty ciśnieniowe.
  • Zmniejszono i wydłużono poświatę silnika, aby nie tworzyła dużych okręgów szerszych od rakiety.
  • Płomień jest wystarczająco długi, aby wizualnie łączyć silnik z początkiem smugi dymu.
  • Dodano gęstą, ciągłą smugę biało-popielatego dymu zamiast oddzielnych, widocznych kół cząsteczek.
  • Ślad pozostaje w przestrzeni świata i nie podąża w górę za rakietą.
  • Dym rozszerza się płynnie przez cały czas życia, osiągając około trzykrotnie większą szerokość niż pierwotna wersja efektu.
  • Wraz z rozszerzaniem dym stopniowo się przerzedza i zanika.
  • Usunięto drganie krawędzi smugi; organiczne nierówności są teraz stabilne w czasie.
  • Wydłużono czas życia dymu i wygładzono fade-out, aby fragmenty nie znikały skokowo.
  • Końcowy odcinek śladu jest dorysowywany poza rzeczywistą krawędź kamery, dzięki czemu dym nie urywa się przed końcem ekranu.
  • Dodano chmurę startową rozchodzącą się przy ziemi, gorącą parę, pył, iskry i lekkie drżenie kamery.
  • Rakieta wznowiona z zapisu nie odtwarza ponownie uderzenia startowego ani drżenia kamery.

Dynamiczne cienie i głębia sceny

  • Dodano oSun jako wspólne, kierunkowe źródło światła dla całej sceny.
  • Dodano kierunkowe cienie rzucane przez budynki pierwszego planu.
  • Dodano cienie postaci gracza, kota, obcych, przechodniów, Sally, gołębi i martwych postaci.
  • Dodano cienie wszystkich pięciu typów broni — zarówno przyczepionych do gracza, jak i sterowanych zdalnie.
  • Dodano cienie skrzyń, ActionBoxów, beczek, kontenerów, toreb ze śmieciami, luster, apteczek, monet oraz innych obiektów świata.
  • Dodano kompletne cienie samochodów, autobusów i ich kół.
  • Cień zachowuje rzeczywisty kształt sylwetki obiektu zamiast korzystać wyłącznie z prostej elipsy.
  • Kierunek wszystkich cieni jest stabilny i wspólny dla całej sceny; nie obraca się przypadkowo podczas ruchu gracza.
  • Cienie poruszają się wraz z rzucającymi je obiektami, a ich długość uwzględnia fizyczną wysokość sylwetki i ustawienia światła.
  • Nakładające się cienie są łączone bez wielokrotnego przyciemniania tego samego miejsca.
  • Cienie budynków poprawnie padają na postacie i obiekty znajdujące się przed fasadami.
  • Dodano maskowanie zasłoniętych fragmentów, dzięki czemu cień ukrytej postaci nie prześwituje przez samochód lub budynek.
  • Naprawiono cień gracza w czasie skoku, wspinania po drabinie i noszenia broni.
  • Naprawiono cień martwego gracza oraz jego kolejność rysowania.
  • Cienie zachowują prawidłową perspektywę i sortowanie po linii stóp.
  • Bufory cieni są renderowane w obniżonej rozdzielczości zależnej od częstotliwości odświeżania, aby ograniczyć koszt GPU.
  • Dodano awaryjne przejście na prostsze cienie po nieudanej alokacji powierzchni oraz ograniczone czasowo ponawianie próby.
  • Dodano osobną opcję Shadows w ustawieniach grafiki; stan opcji jest zapisywany i wczytywany.

Perspektywa 2.5D i kolejność rysowania

  • Wdrożono system wzajemnego zasłaniania oparty na pozycji stóp: przedmiot lub postać może znaleźć się przed innym obiektem albo za nim bez ręcznego przełączania warstw.
  • Ujednolicono skalowanie postaci, NPC i pojazdów na oStreet — obiekty płynnie rosną w kierunku dolnej części ulicy.
  • Skala jest zakotwiczona w stopach, więc postać lub pojazd nie „podskakuje” przy zmianie rozmiaru.
  • Ujednolicono sortowanie po linii stóp dla gracza, NPC, przeciwników, gołębi, broni, pojazdów i ruchomych przedmiotów.
  • W pomieszczeniach platformowych gracz i martwa postać pozostają na warstwie Player; uliczne głębokości nie przenikają już do Training Room.
  • Naprawiono przechodzenie przed i za śmieciami, kontenerami, pojazdami i innymi wysokimi sprite'ami.
  • Obiekt wizualnie zachodzący na inny obiekt nie jest już automatycznie uznawany za kolizję, jeżeli ich podstawy znajdują się na różnych liniach głębokości.
  • Podświetlenia ruchomych przedmiotów są rysowane w świecie i mogą zostać naturalnie zasłonięte przez pojazdy lub elementy pierwszego planu.

Gracz, windy, drabiny i skosy

  • Poprawiono działanie kabin wind, ich drzwi, paneli wewnętrznych i zewnętrznych oraz synchronizację przejazdu pomiędzy piętrami.
  • Poprawiono przenoszenie gracza przez poruszającą się windę oraz ponowne przyłączanie do jej podłogi.
  • Gracz znajdujący się wewnątrz kabiny jest przesuwany razem z windą również w trudnych stanach brzegowych.
  • Skok z windy odłącza gracza od kabiny bez natychmiastowego ponownego „przyklejenia”.
  • Lądowanie z powrotem na windzie poprawnie przywraca stan podłoża i możliwość skoku.
  • Po wczytaniu gry zachowywana jest dokładna pozycja i offset gracza względem windy.
  • Save/load rozróżnia stanie na podłodze windy, przebywanie wewnątrz kabiny i lot w jej pobliżu.
  • Ruch gracza może natychmiast anulować krótką kotwicę bezpieczeństwa po wczytaniu.
  • Wydłużono automatyczny unik przed zjeżdżającą windą do bezpiecznego odstępu 30 px i utrzymano go przez cały manewr.
  • Unik nie uruchamia się, gdy gracz prawidłowo jedzie wewnątrz kabiny lub stoi na jej podłodze.
  • Poprawiono warstwy windy: korpus i wnętrze pozostają za graczem, a tylko drzwi mogą go zasłonić.
  • Poprawiono zejście z drabiny na górną powierzchnię ActionBoxa lub skrzyni.
  • Dodano jednokierunkowe przejście przez ActionBox przy wyskoku z drabiny; podczas opadania jego górna krawędź znów staje się solidna.
  • Naprawiono zakleszczanie gracza między drabiną, ActionBoxem i jego proxy kolizyjnym.
  • Poprawiono ręczne wyjście z kolizji ActionBoxa przy wciśniętym CTRL.
  • Przebudowano zachowanie na obiektach oMirror02: ślizg, przejścia przez wierzchołki, doliny między skosami i bezpieczne wychodzenie na podłoże.
  • Poprawiono łączenie lewego i prawego wariantu lustra: gracz płynnie pokonuje styk dwóch skosów bez zatrzymania, zakleszczenia lub błędnej zmiany kierunku.
  • Usunięto migotanie kierunku oraz przełączanie animacji biegu w dolinie między dwoma skosami.
  • Pionowy ruch gracza jest sprawdzany w krokach do 1 px, co zapobiega przeskakiwaniu przez cienkie ściany przy dłuższej klatce.
  • Efekt kurzu jest teraz powiązany z rzeczywistym biegiem, a nie jedynie z używanym sprite'em.

Skrzynie, beczki i pozostałe obiekty ruchome

  • Wprowadzono wspólne reguły fizyki i kolizji dla CrateBoxa, ActionBoxa, luster, czarnych beczek i apteczek.
  • Dodano ograniczony ruch krokowy, który zapobiega tunelowaniu przez cienkie przeszkody.
  • Usunięto nieograniczone pętle rozwiązywania kolizji przy prędkościach ułamkowych lub uszkodzonych danych.
  • Dodano zabezpieczenia przed wartościami NaN i nienaturalnie dużymi skokami prędkości.
  • CTRL sam ustanawia chwyt i nie przesuwa już obiektu ani jego niewidzialnego proxy.
  • Pchanie i ciągnięcie korzystają ze spójnej prędkości i zachowują prawdziwy odstęp złapania.
  • Ruchome obiekty respektują pojazdy, przeciwników, gracza, inne obiekty ruchome, śmieci, bramy i blokery windy.
  • Kolizja z postacią w przestrzeni 2.5D zależy od zgodności linii stóp; pozwala to przechodzić wizualnie przed lub za obiektem bez fałszywej blokady.
  • Obiekt już osadzony w przeszkodzie może poruszać się wyłącznie w kierunku zmniejszającym penetrację.
  • Naprawiono stare zapisy z obiektami osadzonymi w kontenerach, pojazdach lub innych przeszkodach.
  • Dodano stabilny system podpór: przedmioty mogą stać na windzie lub innym ruchomym obiekcie i są przenoszone bez zależności od kolejności Stepów.
  • Dodano wykrywanie cyklicznych stosów i uszkodzonych łańcuchów podpór.
  • Upuszczona apteczka prawidłowo odzyskuje grawitację, ląduje i podąża za ruchomym podłożem.
  • Obiekty trzymane magnesem mają bezpieczne wartości celu, nie wpadają w nieskończoną korektę i zatrzymują się przy blokadzie.
  • Po wczytaniu usuwane są stare stany magnetycznego chwytu i rzutu, które mogły powodować samoczynny ruch.
  • Kolizja rzuconego przedmiotu z przeciwnikiem korzysta z ostatniego poprawnego wektora lotu i zadaje obrażenia bez konieczności wejścia w maskę przeciwnika.
  • Symulacja obiektów ruchomych jest poprawnie zamrażana podczas prezentacji i tutoriali.

Broń i walka

  • Rozbudowano reakcje obiektów na trafienia, m.in. skrzyń, ActionBoxów, beczek, kontenerów, worków ze śmieciami, apteczek i przedmiotów do podniesienia.
  • Dodano i dopracowano efekty trafień: iskry, błyski paneli, ślady wypalenia, trafienia lasera, ślady plazmy i krótkie poświaty uderzenia.
  • Wszystkie latające bronie korzystają teraz z jednego systemu ruchu, nawigacji i kolizji.
  • Broń podążająca za graczem omija ściany, skrzynie, beczki, śmieci, samochody i autobusy.
  • Dynamiczne przeszkody nie są zapisywane na stałe w siatce nawigacyjnej; ich bieżąca pozycja jest sprawdzana na żywo.
  • Omijanie pojazdów korzysta z precyzyjnej maski, dzięki czemu przezroczyste narożniki sprite'a nie tworzą prostokątnej niewidzialnej ściany.
  • Dodano przewidywanie ruchu pojazdu, aby broń mogła wcześniej rozpocząć płynny łuk omijania.
  • Ruch przy przeszkodzie zachowuje składową styczną i ślizga się wzdłuż krawędzi zamiast wielokrotnie odbijać.
  • Ograniczono całkowitą korektę pozycji na klatkę, usuwając schodkowe teleporty broni.
  • Dodano stabilne punkty obejścia, ponowne planowanie po rzeczywistym utknięciu oraz awaryjny cel styczny.
  • Usunięto zygzakowanie pomiędzy dwiema stronami pojazdu i oscylowanie na końcu ścieżki.
  • Sterowanie zdalne zachowuje precyzyjną kolizję bez dodatkowej niewidzialnej strefy przewidywania.
  • Dodano czytelny, niebieski efekt granicy maksymalnego zasięgu zdalnego sterowania bronią.
  • Przebudowano przemianę broni po klawiszu Q: rozpad na cząsteczki, fale iskier, odbudowa i obsługa zmiany decyzji w trakcie animacji.
  • Powiększono i urozmaicono iskry przemiany; trajektorie nie tworzą już jednej regularnej spirali.
  • Broń pozostaje nieaktywna i nietrafialna do czasu pełnego zakończenia przemiany.
  • Broń przyczepiona do gracza dziedziczy jego głębokość, więc pojazd nie zasłania samej broni, pozostawiając widocznego gracza.
  • Dodano pełne cienie latających broni.
  • oGun2 korzysta z miękkiego, akcelerowanego przez GPU renderowania wiązki i poświaty zgodnego z laserami świata.
  • Wiązka oGun2 jest blokowana przez pojazdy i może trafiać gołębie.
  • Zabezpieczono tworzenie pomocniczej tekstury wiązki przed błędami powierzchni i niezrównoważonym stosem render targetów.
  • Zwiększono zasięg krótkiej poświaty latarki oGun4 i ujednolicono jej wygląd między Training Room a właściwym poziomem.
  • oGun5 może zadawać obrażenia różnym typom celów, w tym gołębiom.
  • Krótkie, ciągłe trafienie oGun5 zabija gołębia bez zmiany balansu obrażeń przeciw obcym.
  • Podczas prezentacji/tutorialu wiązka pozostaje widoczna, ale zamrożony świat nie otrzymuje obrażeń ani reakcji trafienia.
  • Pociski obcych korzystają z pełnego przemiatania od poprzedniej do nowej pozycji i wybierają najbliższy fizyczny kontakt w danej klatce.
  • Usunięto zależność wyniku pocisku od kolejności klas obiektów oraz tunelowanie przez cienkie przeszkody.
  • Pociski prawidłowo współpracują z tarczą oGun1, graczem, bramami, skrzyniami i pozostałymi przeszkodami.
  • Dodano ograniczony czas życia pocisku obcego, aby chybione strzały nie pozostawały na dużej mapie.
  • Poprawiono poruszanie i zmianę kierunku obcych przy pojazdach, śmieciach i ruchomych przeszkodach.

Oświetlenie, lasery i radiacja

  • Znacząco rozbudowano warstwę oświetlenia dynamicznego, poświat emisyjnych i refleksów materiałowych.
  • Lasery, bramy energetyczne, panele, sensory, beczki, lustra, metalowe skrzynki, broń i wybrane elementy otoczenia otrzymały poświaty lub refleksy widoczne również w ciemności.
  • Intensywność i liczba metalicznych refleksów są skalowane ustawieniami jakości, aby zachować efekt bez niekontrolowanego wzrostu kosztu renderowania.
  • Ujednolicono profil oświetlenia pomiędzy rLevelOne i Training Room.
  • Training Room korzysta teraz z tej samej polityki jakości efektów i rozdzielczości lightmapy co główny poziom.
  • Dedykowany przebieg RTX-like w Training Room renderuje wyłącznie lasery, bez przypadkowego przejmowania szerokich pól sensorów.
  • Ujednolicono grubość, rdzeń, poświatę, rozbłysk emitera i reakcję ścian dla laserów treningowych i laserów świata.
  • Efekty laserów są skalowane dla bardzo szerokiego widoku, aby ograniczyć koszt renderowania bez gwałtownej zmiany wyglądu.
  • Oświetlenie, lasery i latarka pozostają widoczne również wtedy, gdy pomocnicza powierzchnia ciemności chwilowo nie może zostać utworzona.
  • Dodano kontrolowane ponawianie alokacji powierzchni po utracie urządzenia lub braku pamięci VRAM.
  • Dodano ekranowy efekt napromieniowania zależny od odległości od najbliższej strefy radiacji.
  • Efekt radiacji łączy stopniowe odbarwienie obrazu, ziarno, scanline, migotanie oraz poziome zakłócenia.
  • Wejście i wyjście ze strefy korzysta z płynnego narastania i wygaszania efektu.
  • Radiacja wpływa na świat gry przed narysowaniem HUD-u, więc interfejs pozostaje czytelny.
  • Efekt jest poprawnie zachowywany na zamrożonym obrazie pauzy i ekranu śmierci.
  • Pętla Geigera zmienia głośność wraz z odległością, zatrzymuje się bez gracza i jest poprawnie czyszczona przy opuszczaniu pokoju.

Ekran śmierci

  • Dodano czterosekundowe, liniowe spowolnienie czasu po śmierci gracza.
  • Kamera płynnie powiększa scenę w tym samym czasie, w którym zatrzymuje się rozgrywka.
  • Obraz stopniowo traci kolory i zostaje zamrożony po zakończeniu sekwencji.
  • Zamrożona klatka zachowuje kompletne oświetlenie, cienie i efekt radiacji.
  • Dodano komunikat kontynuacji dopasowany do sytuacji: restart, wczytanie ostatniego zapisu lub wczytanie zapisu treningowego.
  • Wejście SPACE działa dopiero po puszczeniu poprzedniego naciśnięcia, co zapobiega przypadkowemu pominięciu ekranu.
  • Śmierć zamyka otwarty ekwipunek, przejmuje wejście i poprawnie ukrywa kursor.
  • Dodano bezpieczny fallback, gdy nie uda się utworzyć powierzchni zamrożonego obrazu.
  • Sekwencja odzyskuje się po utracie powierzchni graficznej zamiast pozostawić pusty ekran.
  • Poprawiono fizykę opadającego ciała, zatrzymanie ostatniej klatki animacji, cień i sortowanie warstw.

Interfejs, ekwipunek i menu

  • Dopracowano wygląd modułów robotów w HUD-zie: ikony, pierścienie integralności, paski zasobów, stany regeneracji, kolory poszczególnych typów i płynne wysuwanie panelu.
  • Rozbudowano prezentacje robotów oraz ich uzbrojenia o czytelniejsze plansze, podpowiedzi sterowania i kontrolowane demonstracje działania.
  • Geiger jest teraz ukrytym przedmiotem systemowym, a nie zwykłym slotem ekwipunku.
  • Licznik automatycznie wysuwa się w strefie radiacji i może być ręcznie pokazany lub ukryty klawiszem G.
  • Ręczne ukrycie Geigera w strefie pozostaje aktywne do momentu opuszczenia tej strefy.
  • Ekwipunek można otworzyć również bez widocznych przedmiotów — nadal dostępne są statystyki, zadania i zakładka robota.
  • Ukryty Geiger nie jest duplikowany w zapisach ani w pamięci slotów ekwipunku.
  • Poprawiono przeciąganie karty dostępu na panel bezpieczeństwa.
  • Karta użyta na właściwym panelu jest zużywana, zmienia stan panelu i wyłącza przypisaną bramę elektryczną.
  • Karta upuszczona poza panelem odzyskuje grawitację i prawidłowo spada do świata.
  • Upuszczenie przedmiotu na tle panelu ekwipunku anuluje przeciąganie i zwraca go do slotu.
  • Tutorial ekwipunku nie uruchamia się w trakcie sekwencji śmierci.
  • Portfel w domu pozostaje przedmiotem zadania i nie dodaje już sztucznych 50 punktów; stare techniczne wpisy monet portfela są czyszczone.
  • Dodano opcję włączania i wyłączania cieni w menu grafiki.
  • Poprawiono przewijane, wieloplanowe tło menu: niebo i budynki używają naprzemiennego odbicia lustrzanego, tworząc płynniejsze łączenia kafli i naturalniejszy parallax.
  • Zoptymalizowano ekran startowego logo: duża tekstura jest ładowana wyłącznie na czas intra i zwalniana przed menu.
  • Zapisane ustawienia rozdzielczości, V-Sync, pełnego ekranu i klatkażu są stosowane jeszcze przed pierwszą klatką logo.

Pauza i prezentacje

  • Pauza przechwytuje czystą, kompletną klatkę w docelowej rozdzielczości GUI.
  • Zamrożony obraz zawiera oświetlenie, cienie i radiację dokładnie tak, jak ostatnia klatka rozgrywki.
  • Usunięto dodatkowe rozmycie, które mogło tworzyć plamy i zmieniać wygląd cieni na pauzie.
  • Powierzchnia pauzy jest wymuszana jako nieprzezroczysta, dzięki czemu chmury i tło nie prześwitują przez zamrożoną scenę.
  • Dodano bezpieczne ponawianie tworzenia powierzchni pauzy i ekwipunku po błędzie alokacji.
  • Pauza nie może zostać otwarta podczas krytycznego etapu wczytywania i synchronizacji pokoju.
  • Ujednolicono zamrożenie świata dla ekwipunku, tutoriali, prezentacji robota i prezentacji broni.
  • Po zakończeniu prezentacji dokładnie odtwarzane są wcześniejsze prędkości, animacje oraz kanały ruchu obiektów.

Save/load

  • Rozszerzono zapis i odtwarzanie pełnego stanu poziomu dla NPC-ów, kota, gołębi, skrzyń, ActionBoxów, przedmiotów, pojazdów, wind, drzwi, paneli, bram i pozostałych obiektów interaktywnych.
  • Dodano zapis pozycji i stanu kota, w tym dołączenia do gracza, ukrycia oraz dokładnego położenia względem windy.
  • Dodano zapis i odtwarzanie pozycji, prędkości, fazy lotu, widoczności i stanu startu każdej rakiety.
  • Dodano zapis jednorazowych triggerów rakiet; wystrzelona i usunięta rakieta nie pojawia się ponownie po wczytaniu.
  • Dodano zapis stanu samochodów i autobusów: pozycji, prędkości, kierunku, czasu postoju, czasu odrodzenia, kąta kół i widoczności.
  • Pojazdy są dopasowywane po stabilnym identyfikatorze punktu startowego, a koła są ponownie wiązane z właściwym nadwoziem.
  • Rozbudowano zapis gracza w windzie o dokładny offset, stan podłogi, stan lotu i identyfikator właściwej kabiny.
  • Poprawiono odtwarzanie gracza stojącego na windzie, wewnątrz kabiny oraz skaczącego w jej pobliżu.
  • Dodano awaryjne odtworzenie pozycji gracza ze snapshotu pokoju, gdy główna sekcja zapisu nie zawiera poprawnej pozycji.
  • Poprawiono przywracanie punktów startowych gołębi i dopasowanie ich po stabilnych UID.
  • Rozszerzono zapis kart dostępu o ustawienia grawitacji oraz zapis stanu paneli i bram.
  • Po wczytaniu resetowane są przejściowe prędkości i uchwyty magnetyczne ActionBoxów i beczek.
  • Usuwane są stare, niespójne relacje podpór, aby przedmiot nie został przeciągnięty przez zapamiętany ruch innego obiektu.
  • Podczas odtwarzania przeciwników czyszczone są stare bronie, pociski i iskry przemiany, co usuwa podwójne lub pogrubione strzały obcych po loadzie.
  • Brakujące kontrolery wejścia i broni są automatycznie odtwarzane przy bezpośrednim wczytaniu pokoju bonusowego.
  • Przed odtworzeniem oświetlenia zwalniane są stare powierzchnie renderujące, co zapobiega pozostawaniu poprzedniego obrazu.
  • Stare zapisy Training Room nie przywracają już wycofanego, globalnego mnożnika efektów x2.
  • Zachowano kompatybilność wsteczną: zapisy bez nowych sekcji rakiet i ruchu ulicznego korzystają z obiektów umieszczonych w pokoju.

Szybki zapis F5

  • Zmieniono kolejność operacji: komunikat szybkiego zapisu pojawia się przed rozpoczęciem synchronicznego zapisu pliku i zrzutu ekranu.
  • HUD potwierdza, że komunikat został rzeczywiście narysowany, a zapis rozpoczyna się dopiero po dwóch pełnych, zaprezentowanych klatkach.
  • Komunikat szybkiego zapisu pojawia się od razu z pełną czytelnością zamiast rozpoczynać od niemal przezroczystej fazy fade-in.
  • Wyeliminowano wrażenie, że gra najpierw się zatrzymuje, a dopiero później informuje o zapisie.
  • Zabezpieczono oczekujący zapis przed zmianą pokoju oraz wielokrotnym uruchomieniem F5.

Stabilność, wydajność i poprawki techniczne

  • Rozbudowano i ustabilizowano warstwę konfiguracji grafiki oraz wydajności silnika.
  • Dodano obsługę wysokich częstotliwości odświeżania, automatyczne dopasowanie celu FPS oraz dwa tryby frame pacingu: Smooth i Low Latency.
  • Włączono interpolację pikseli/tekstur w ustawieniach platformowych i poprawiono płynność prezentacji obrazu przy wysokim odświeżaniu.
  • Rozbudowano ustawienia rozdzielczości, V-Sync, pełnego ekranu, jakości efektów, dynamicznego oświetlenia, poświaty emisyjnej, oświetlenia RTX-like i cieni; konfiguracja jest zachowywana w pliku ustawień.
  • Poprawiono kamerę, skalowanie GUI i obrazu oraz obsługę różnych rozdzielczości i proporcji ekranu.
  • Usprawniono pełny reset renderera przy zmianie lub wczytywaniu poziomu: stare powierzchnie, tekstury tymczasowe i systemy cząsteczek są zwalniane przed ponowną inicjalizacją.
  • Dodano bezpieczne ograniczanie delt ruchu i ruch krokowy dla kluczowych postaci, pocisków i obiektów fizycznych.
  • Wiele symulacji zostało uniezależnionych od 60 FPS i korzysta ze wspólnego kroku czasu.
  • Czas sekwencji ekranowych może działać niezależnie od spowolnienia lub zatrzymania świata.
  • Dodano odrzucanie uszkodzonych wartości prędkości i stanów, które wcześniej mogły wywołać duży skok pozycji lub długą pętlę na głównym wątku.
  • Dodano ograniczone czasowo ponawianie tworzenia powierzchni GPU, aby brak VRAM nie powodował prób alokacji w każdej klatce.
  • Dodano zwalnianie systemów cząsteczek i powierzchni zarówno przy zniszczeniu obiektu, jak i przy opuszczeniu pokoju.
  • Poprawiono czyszczenie pętli audio i oczekujących fade-outów podczas zmiany pokoju.
  • Dodano culling rysowania odległych przechodniów, pojazdów, kół i samolotu bez zatrzymywania ich symulacji.
  • Zoptymalizowano przetwarzanie cieni przez listy widocznych casterów/receiverów i ograniczenie pracy poza kamerą.
  • Usunięto podwójne lub osierocone projektory cieni kół i obiektów po save/load.
  • Poprawiono zachowanie po utracie urządzenia graficznego i odtworzeniu application_surface.
  • Uporządkowano stan blendowania i alfa powierzchni, zapobiegając dziurom, prześwitom tła i zmianom jasności.
  • Zabezpieczono efekty i fizykę przed kontynuowaniem symulacji w czasie pauzy, tutorialu lub zamrożonej prezentacji.

Podsumowanie techniczne zakresu

Porównanie obecnego projektu z kopiami z 21 maja, 14 czerwca i 27 czerwca potwierdza zarówno dużą rozbudowę zawartości, jak i głębokie zmiany istniejących systemów.

W porównaniu z kopiami z 21 maja i 14 czerwca obecna wersja zawiera:

  • 22 nowe obiekty GameMakera,
  • 52 nowe zasoby sprite,
  • 5 nowych shaderów,
  • 1 nowy skrypt systemowy,
  • usunięcie 2 wycofanych sprite'ów zastąpionych nowszą organizacją scen.

W porównaniu z najbliższym snapshotem z 27 czerwca projekt zawiera dodatkowo:

  • 21 nowych obiektów GameMakera,
  • 49 nowych zasobów sprite,
  • 5 nowych shaderów,
  • rozbudowę 17 głównych skryptów systemowych,
  • szerokie zmiany w rLevelOne, rTrainingRoom, rPlayerHome i rLevelOneBonus.

Poza nowymi zasobami gruntownie zmieniono istniejące kontrolery gracza, kota, NPC-ów, broni, fizyki, wind, oświetlenia, menu, kamery, renderowania oraz save/load. Jest to więc znacznie większy zakres niż wskazywałaby sama liczba nowych obiektów.

Kontaminacja nie została stwierdzona. Należy opuścić urządzenie.