Zrozumienie trwałych punktów zapisu (Persistent Save Points)
Trwałe punkty kontrolne (checkpoints) pozwalają zachować postępy w grze dzięki strategicznemu rozmieszczeniu i odpowiedniej konfiguracji logiki. W przeciwieństwie do podstawowych punktów odrodzenia, które resetują gracza do pozycji startowej, systemy trwałe przechowują informację o ostatnim aktywowanym punkcie kontrolnym za pomocą zmiennych.
Mapy z punktami kontrolnymi rozmieszczonymi co 20-30 sekund wykazują współczynnik ukończenia na poziomie 60-80%, podczas gdy na mapach bez nich wynosi on zaledwie 20-40%. Gracze potrzebują średnio tylko 3-5 prób, aby przejść dany etap, w porównaniu do 8-12 prób na mapach pozbawionych punktów zapisu.
Jeśli potrzebujesz zasobów do Warsztatu, doładowanie monet eggy party w BitTopup pozwala odblokować funkcje premium dzięki konkurencyjnym cenom i bezpiecznym transakcjom.
Co sprawia, że punkty zapisu są trwałe
Trwałość oznacza zachowanie danych o punkcie kontrolnym nawet po śmierci gracza. Wymaga to trzech elementów:
- Mechanizmów detekcji identyfikujących dotarcie do punktu kontrolnego.
- Systemów przechowywania danych wykorzystujących zmienne Eggy Code do zapisu lokalizacji.
- Logiki odradzania (respawn), która odczytuje zapisane pozycje po śmierci gracza.
Standardowe odradzanie a zaawansowane punkty kontrolne
Standardowe odradzanie korzysta ze stałych punktów Respawn Points, które aktywują się uniwersalnie. Brakuje im logiki warunkowej i nie potrafią rozróżnić postępów poszczególnych graczy.
Zaawansowane systemy wykorzystują obszary punktów kontrolnych (Checkpoint Volumes) w trybie Sandbox jako strefy wyzwalające (trigger zones), które aktualizują lokalizację odrodzenia przypisaną do konkretnego gracza. Synchronizacja strzałek obszaru punktu kontrolnego (Checkpoint Volume Arrowheads) z prefabrykatami pozwala stworzyć dynamiczne punkty odrodzenia dostosowujące się do postępów w grze.
Dlaczego domyślna logika zawodzi
Domyślne mechanizmy działają globalnie, bez śledzenia stanu konkretnego gracza. Brak logiki do przechowywania lub odczytywania danych o punktach kontrolnych powoduje, że po śmierci następuje twardy reset do początkowego punktu startowego.
Jest to szczególnie problematyczne na mapach, których przejście zajmuje ponad 60 sekund – konieczność wielokrotnego zaczynania od zera często prowadzi do rezygnacji graczy.
Podstawowe zasady architektury
Trzy filary to: aktywacja sterowana zdarzeniami, trwałość stanu oraz warunkowe odradzanie.
Należy przy tym pamiętać o limitach wydajności (intensity) w Warsztacie: bazowo 18 000, 21 000 przy 1 000 punktów rzemieślnika (Craftsman Points) oraz 25 000 przy 10 000 punktów rzemieślnika.
Kluczowe komponenty logiki
Lista wymaganych komponentów

- Checkpoint Volumes: Strefy detekcji przestrzennej.
- Event Trigger Volumes: Monitorowanie interakcji gracza.
- Zmienne Eggy Code: Przechowywanie danych.
- Respawn Devices: Urządzenia odrodzenia z 30-sekundowym limitem odnowienia.
- Obiekty linii mety (Finish Line): Możliwe do edycji poprzez celowanie w obszary.
Wyzwalacze stożkowe (Cone triggers) sprawdzają się w punktach kierunkowych; wyzwalacze półkoliste (Half Sphere) zapewniają zasięg 180 stopni. Ustaw zakres detekcji (Detection Scope) na typ jednostki "Player".
Przegląd systemu zmiennych
Sześć typów zmiennych:
- Position (Pozycja): Dane współrzędnych.
- Integer (Liczba całkowita): Numeracja punktów kontrolnych.
- Float (Liczba zmiennoprzecinkowa): Precyzyjny pomiar czasu.
- Boolean (Wartość logiczna): Flagi stanu (prawda/fałsz).
- String (Ciąg znaków): Identyfikatory.
- Vector3: Dane kierunkowe.
Zmienne globalne są dostępne dla wszystkich wyzwalaczy. W podstawowych systemach najlepiej sprawdzają się zmienne typu integer, śledzące numer punktu kontrolnego.
Typy zdarzeń wyzwalających (Event Triggers)
Zdarzenia wejścia (Entry detection) uruchamiają się, gdy gracz wejdzie w obszar wyzwalacza. Zdarzenia detekcji śmierci (Death detection) aktywują się w momencie porażki gracza.
Dostęp do Eggy Code: Menu Więcej > wybierz jednostkę > Edytuj Eggy Code. Zdarzenia wejścia ustawiają zmienne punktu kontrolnego; zdarzenia śmierci odczytują je, aby ustalić miejsce odrodzenia.
Konfiguracja logiki warunkowej
Warunki porównują aktualne zmienne punktu kontrolnego z określonymi progami. Warunki logiczne (Boolean) dają wynik prawda/fałsz, natomiast porównania liczb całkowitych (Integer) pozwalają na tworzenie sekwencji wielu punktów kontrolnych.
Zmienna logiczna inputLocked (domyślnie fałsz, zmieniana na prawdę na 0,5 sekundy) zapobiega wykonywaniu ruchów podczas aktywacji punktu kontrolnego.
Budowa pierwszego trwałego punktu zapisu
Faza 1: Tworzenie strefy wyzwalającej

Umieść jednostkę Checkpoint Volume 1 nieco nad ziemią. Skonfiguruj średnicę na 2-3 jednostki Eggy dla wyzwalaczy naziemnych i 1,5-2 jednostki dla montowanych na ścianach. Zachowaj minimum 2 jednostki Eggy odstępu między wyzwalaczami.
Zsynchronizuj strzałkę (Arrowhead) z prefabrykatem, aby uzyskać wizualny wskaźnik punktu kontrolnego.
Faza 2: Zdarzenia detekcji gracza
Ustaw zakres detekcji (Detection Scope) na typy jednostek "Player". Stwórz zdarzenie wejścia, które aktualizuje zmienną śledzącą punkt kontrolny i wysyła informację zwrotną.
Ustaw zmienną typu integer CurrentCheckpoint na unikalny identyfikator pozycji tego punktu.
Kup tanio monety eggy w BitTopup, aby zyskać dostęp do zaawansowanych komponentów Warsztatu z szybką dostawą.
Faza 3: Przechowywanie zmiennych
Stwórz zmienną typu integer CurrentCheckpoint z domyślną wartością 0. Każdy punkt kontrolny przypisuje inną liczbę całkowitą (1, 2, 3 itd.).
W przypadku odradzania opartego na pozycji, stwórz zmienną pozycji LastCheckpointPosition, przechowującą współrzędne gracza.
Ustaw zasięg globalny, aby zmienna była dostępna dla różnych wyzwalaczy.
Faza 4: Logika lokalizacji odrodzenia

Umieść punkty odrodzenia (Respawn Points) przy każdym punkcie kontrolnym z unikalnymi identyfikatorami odpowiadającymi numerom punktów kontrolnych.
Stwórz detekcję śmierci odczytującą CurrentCheckpoint i aktywującą odpowiedni punkt odrodzenia. Jeśli CurrentCheckpoint = 1, aktywuj Respawn Point 1; jeśli = 2, aktywuj Respawn Point 2 itd.
Faza 5: Testowanie i walidacja
Przetestuj system, przechodząc mapę i celowo przegrywając w różnych miejscach. Sprawdź, czy odrodzenie następuje w aktywowanym punkcie, a nie na początku mapy.
Sprawdź sytuacje graniczne: szybką aktywację, scenariusze wieloosobowe. Upewnij się, że jasne sygnały (wizualne, dźwiękowe, UI) potwierdzają zapisanie punktu kontrolnego.
Zaawansowana konfiguracja zmiennych
Wybór typu zmiennej
Zmienne Integer: Systemy sekwencyjne ze zdefiniowanym postępem. Każdy punkt kontrolny zwiększa wartość.
Zmienne Position: Mapy nieliniowe z wieloma kierunkami podejścia. Przechowują dokładne współrzędne dla dynamicznego rozmieszczenia odrodzeń.
Zmienne Boolean: Flagi aktywacji punktu kontrolnego lub stany ukończenia.
Zmienne specyficzne dla gracza a zmienne globalne
Zmienne globalne wpływają na wszystkich graczy jednocześnie – są odpowiednie dla map kooperacyjnych, gdzie drużyny robią postępy razem.
Zmienne specyficzne dla gracza (tworzone poprzez konwencje nazewnictwa z identyfikatorami graczy) umożliwiają indywidualny postęp na mapach rywalizacyjnych.
Funkcja Link Map pozwala współdzielić postępy między mapami w wieloetapowych przygodach.
Konwencje nazewnictwa
Dodawaj przedrostek CP_ do zmiennych punktów kontrolnych wraz z opisowymi identyfikatorami:
- CP_MainPath_Current
- CP_SecretArea_Unlocked
- CP_BossRoom_Attempts
Numerowanie wersji (np. CP_Current_v2) ułatwia proces iteracyjnego tworzenia mapy.
Zachowanie danych po śmierci
Upewnij się, że zmienne punktów kontrolnych są trwałe, unikając logiki, która resetuje je podczas zdarzeń śmierci. Aktualizuj je tylko przy aktywacji nowych punktów.
Wprowadź testy walidacyjne sprawdzające integralność zmiennych po odrodzeniu. W przypadku wykrycia nieprawidłowej wartości, zastosuj bezpieczny punkt zapasowy (fallback).
Detekcja śmierci i logika odradzania
Wykrywanie zdarzeń śmierci
Wyzwalacze śmierci wykonują Eggy Code, gdy punkty życia spadną do zera lub gracz wejdzie w strefę śmierci. Skonfiguruj je tak, aby odczytywały zmienne punktu kontrolnego i określały zachowanie przy odrodzeniu.
Umieszczaj strefy śmierci pod platformami, na dnach przepaści lub w niebezpiecznych obszarach. Nie powinny one nachodzić na właściwe obszary rozgrywki.
Powiązanie lokalizacji odrodzenia
Stwórz łańcuch warunków sprawdzający zmienną punktu kontrolnego i aktywujący odpowiedni Respawn Point: Jeśli CurrentCheckpoint = 1, aktywuj RespawnPoint_1; jeśli = 2, aktywuj RespawnPoint_2.
Zsynchronizuj prefabrykaty punktów kontrolnych z punktami odrodzenia dla wizualnego potwierdzenia.
Obsługa sytuacji wyjątkowych
Zaimplementuj domyślny punkt zapasowy aktywujący startowy respawn, jeśli zmienna punktu kontrolnego zawiera nieprawidłową wartość.
Używaj zmiennych specyficznych dla gracza lub kolejkowania aktywacji, aby rozwiązywać konflikty w trybie wieloosobowym.
Sprawdzanie zakresu (bounds checking) odrzuca wartości punktów kontrolnych spoza prawidłowego przedziału (np. powyżej 10 lub poniżej 0 dla mapy z 10 punktami).
System priorytetów
Priorytet sekwencyjny zapewnia odrodzenie w najdalej osiągniętym punkcie kontrolnym. Aktualizuj zmienną tylko wtedy, gdy nowa wartość jest wyższa od obecnej.
Priorytet przestrzenny rozwiązuje konflikty na mapach nieliniowych, przypisując wartości priorytetu na podstawie zamierzonego przepływu postępów.
Systemy postępu z wieloma punktami kontrolnymi
Architektura sekwencyjna
Numeruj punkty kontrolne kolejno (1, 2, 3). Skonfiguruj logikę pozwalającą tylko na postęp do przodu – aktywacja punktu 3 dezaktywuje punkty 1-2.
Walidacja sekwencji sprawdza, czy gracze aktywują punkty kontrolne we właściwej kolejności.
Sekwencje rozgałęzione pozwalają na obsługę wielu prawidłowych ścieżek z osobnymi sekwencjami punktów dla każdej trasy.
Zapobieganie cofaniu się
Porównuj aktywacje nowych punktów kontrolnych z obecną wartością. Aktualizuj tylko wtedy, gdy numer nowego punktu jest wyższy niż obecny.
Strefy jednokierunkowe wykorzystują pozycjonowanie wyzwalaczy, aby uniemożliwić ponowne wejście z niewłaściwego kierunku.
Wskaźniki postępu
Wskaźniki wizualne mogą pokazywać informację typu Punkt kontrolny 3 z 7 lub paski postępu zapełniające się wraz z postępami.
Znaczniki środowiskowe (zapalone pochodnie, aktywowane platformy, otwarte bramy) zapewniają orientację w przestrzeni.
Informacja dźwiękowa wykorzystuje odmienne dźwięki dla każdego poziomu punktu kontrolnego.
Zarządzanie długimi mapami
Stosuj odstępy między punktami kontrolnymi co 20-30 sekund, aby uzyskać 60-80% współczynnik ukończenia.
Upewnij się, że zmienne punktów kontrolnych nigdy nie resetują się bez wyraźnego działania gracza.
Grupowanie punktów kontrolnych w obszarach centralnych (hubach) pozwala na bezpieczne eksperymentowanie z różnymi ścieżkami.
Typowe błędy i rozwiązania
Nieoczekiwane resety
Przejrzyj całą logikę modyfikującą zmienne punktów kontrolnych – aktualizacje powinny następować wyłącznie podczas zdarzeń aktywacji punktu.
Upewnij się, że strefy wyzwalające nie nachodzą na siebie. Zachowaj minimum 2 jednostki Eggy odstępu.
Sprawdź kod zdarzenia śmierci, upewniając się, że zmienne punktów kontrolnych są jedynie odczytywane, a nie modyfikowane.
Problemy z nadpisywaniem zmiennych
Stosuj rygorystyczne konwencje nazewnictwa, aby zapobiec przypadkowemu ponownemu użyciu nazw.
Używaj logicznych zmiennych blokujących (lock variables) dla wzajemnego wykluczania, co zapobiega jednoczesnym modyfikacjom.
Dbaj o spójność typów – nie przechowuj niekompatybilnych typów danych w tej samej zmiennej.
Nakładanie się stref wyzwalających
Używaj narzędzi do edycji wizualnej, aby zweryfikować odstępy. W razie potrzeby zmniejsz średnice wyzwalaczy.
Zastosuj odstępy pionowe odpowiadające wymaganiom poziomym.
Systemy priorytetów określają, który punkt kontrolny aktywuje się, gdy wiele wyzwalaczy wykryje gracza jednocześnie.
Wąskie gardła wydajności
Optymalizuj łańcuchy warunków, umieszczając najbardziej prawdopodobne warunki na początku.
Konsoliduj powtarzającą się logikę – używaj jednego powtarzalnego wyzwalacza dla wielu systemów opartych na czasie.
Pamiętaj o limitach wydajności: bazowo 18 000, 21 000 przy 1 000 punktów rzemieślnika, 25 000 przy 10 000 punktów rzemieślnika.
Synchronizacja w trybie wieloosobowym
Zdecyduj, czy punkty kontrolne mają być wspólne (zmienne globalne), czy indywidualne (zmienne specyficzne dla gracza).
Zastosuj kolejkowanie aktywacji, przetwarzając aktywację jednego gracza przed zaakceptowaniem kolejnej.
Używaj tablic punktów odrodzenia z wieloma pozycjami wokół każdego punktu kontrolnego dla jednoczesnych odrodzeń wielu osób.
Techniki optymalizacji
Redukcja liczby komponentów
Łącz wiele prostych wyzwalaczy w mniejszą liczbę złożonych wyzwalaczy z logiką rozgałęzioną.
Używaj tych samych zmiennych w różnych systemach dzięki starannemu projektowaniu zakresów wartości.
Twórz szablony punktów kontrolnych oparte na prefabrykatach dla szybkiego wdrażania.
Wydajna konfiguracja zdarzeń
Konfiguruj wyzwalacze tak, aby aktywowały się tylko po spełnieniu określonych warunków, a nie w każdej klatce obrazu.
Porządkuj warunki, umieszczając te najmniej obciążające system na początku.
Dezaktywuj wyzwalacze punktów kontrolnych, które nie są już potrzebne po przejściu gracza dalej.
Zarządzanie pamięcią
Inicjalizuj zmienne punktów kontrolnych na starcie mapy, aktualizuj w trakcie gry i czyść po ukończeniu.
Używaj najprostszego typu zmiennej spełniającego wymagania – np. integer zamiast float lub position.
Usuwaj nieużywane zmienne i wyzwalacze w trakcie prac nad mapą.
Testowanie na dużą skalę
Zaproś wielu testerów do jednoczesnej gry, aby wykryć problemy z obciążeniem.
Testuj sytuacje skrajne: aktywację w odwrotnej kolejności, jednoczesne śmierci, szybką aktywację.
Korzystaj z wyświetlacza wydajności (intensity) w Warsztacie, aby zidentyfikować komponenty o wysokim zużyciu zasobów.
Przykłady z życia wzięte
System mapy parkour

Punkty kontrolne co 20-30 sekund po trudnych sekwencjach skoków. Architektura sekwencyjna z logiką "tylko do przodu".
Wskaźniki wizualne (świecące platformy, efekty cząsteczkowe) zapewniają jasną informację zwrotną.
Zapisywanie na mapach przygodowych
Punkty kontrolne oparte na obszarach, aktywujące się przy wchodzeniu do nowych regionów. Zmienne pozycji przechowują dokładne lokalizacje.
Integracja z zadaniami (questami) wiąże aktywację punktu kontrolnego z postępem fabularnym.
Architektura typu "hub-and-spoke" z centralnymi bezpiecznymi strefami.
Zachowanie stanu na mapach logicznych (Puzzle)
Złożone systemy wykorzystujące wiele zmiennych: pozycja dla lokalizacji gracza, tablice logiczne dla stanów przełączników, liczby całkowite dla ilości przedmiotów.
Punkty kontrolne po ukończeniu sekcji zagadek, a nie w dowolnych odstępach czasu.
Walidacja stanu zapobiega aktywacji, gdy zagadka nie została w pełni rozwiązana.
Integracja z mapami wyścigowymi
Sekwencje punktów kontrolnych reprezentujące odcinki trasy z licznikami okrążeń zwiększającymi się po ukończeniu pełnej sekwencji.
Walidacja zapobiega skracaniu trasy poprzez sprawdzanie poprawnej kolejności aktywacji.
Odrodzenie następuje nieco za punktem porażki, aby zapobiec nieuczciwej przewadze.
Zaawansowane wskazówki
Łączenie z innymi systemami
Integracja z punktacją: Śledź liczbę śmierci między punktami kontrolnymi, przyznawaj bonusy za dotarcie do punktu bez żadnej skuchy.
Integracja z ekwipunkiem: Zapisuj stan ekwipunku w punktach kontrolnych i przywracaj go po odrodzeniu.
Integracja z próbami czasowymi: Zapisuj czas gry przy aktywacji punktu kontrolnego, aby obliczać czasy poszczególnych segmentów.
Warunkowe punkty zapisu
Aktywuj je tylko po spełnieniu wymagań (zebranie przedmiotów, pokonanie wrogów, rozwiązanie zagadek).
Tymczasowe punkty kontrolne wygasające po określonym czasie przy użyciu liczników odliczających.
Dostępność zależna od poziomu trudności dostosowuje częstotliwość punktów kontrolnych do ustawień gracza.
Projektowanie informacji wizualnej
Wielostopniowa informacja zwrotna: nieaktywny (neutralny/ciemny), w zasięgu (pulsujący/świecący), aktywowany (jasny/cząsteczki).
Synchronizacja audiowizualna łączy dźwięki aktywacji z efektami wizualnymi.
Trwałe znaczniki wskazują aktywowane punkty kontrolne na całej mapie.
Sieci debugowania
Wizualizacja debugowania wyświetla wartości zmiennych punktów kontrolnych w czasie rzeczywistym za pomocą elementów tekstowych UI.
Logowanie aktywacji tworzy rekordy zdarzeń do analizy po sesji.
Izolowane testy walidują poszczególne punkty kontrolne przed pełną integracją.
Zasoby i narzędzia
Wymagania dotyczące zasobów Warsztatu
Podstawowe systemy wymagają jedynie domyślnych komponentów: Checkpoint Volumes, Respawn Points oraz podstawowych wyzwalaczy.
Limity wydajności (intensity) pozwalają na około:
- 18 000 (baza): 5-7 punktów kontrolnych
- 21 000 (1 000 punktów rzemieślnika): 8-12 punktów kontrolnych
- 25 000 (10 000 punktów rzemieślnika): 15+ punktów kontrolnych
Komponenty Premium
Punkty rzemieślnika odblokowuje się poprzez publikowanie map i otrzymywanie pozytywnych opinii.
BitTopup oferuje monety Eggy na funkcje Warsztatu – konkurencyjne ceny, szybka dostawa, bezpieczne transakcje i doskonała obsługa klienta.
Studiuj popularne mapy: Fight the Principal (ID 299110), Eggy Party Massacre (ID 288583).
Zasoby społeczności
Społeczności twórców udostępniają szablony i wzorce logiki na forach i Discordzie.
Mapy instruktażowe pokazują logikę punktów kontrolnych w działaniu.
Oficjalne przewodniki i dokumentacja społeczności dostarczają specyfikacji technicznych.
FAQ (Najczęściej zadawane pytania)
Jak działają punkty zapisu w Warsztacie Eggy Party?
Obszary Checkpoint Volumes wykrywają wejście gracza, zapisują dane w zmiennych Eggy Code i modyfikują logikę odradzania, umieszczając graczy w zapisanych lokalizacjach po śmierci.
Jaka jest różnica między punktami odrodzenia a punktami zapisu?
Punkty odrodzenia (respawn points) to stałe, domyślne lokalizacje. Punkty zapisu (save points) dynamicznie aktualizują się na podstawie postępów, używając zmiennych do zapamiętania ostatniego aktywowanego punktu.
Dlaczego punkty zapisu nie działają po śmierci?
Zmienne mogą resetować się podczas zdarzeń śmierci lub logika odradzania nie odczytuje zapisanych danych. Sprawdź, czy kod śmierci tylko odczytuje (a nie modyfikuje) zmienne, upewnij się, że mają zasięg globalny i potwierdź, że logika respawnu sprawdza te zmienne.
Czy można stworzyć wiele punktów zapisu na jednej mapie?
Tak, ograniczeniem jest jedynie limit wydajności (intensity). Baza 18 000 pozwala na 5-7 punktów; 25 000 przy 10 000 punktów rzemieślnika pozwala na ponad 15.
Jakie są najlepsze praktyki rozmieszczania punktów zapisu?
Umieszczaj je co 20-30 sekund, aby utrzymać 60-80% współczynnik ukończenia. Stawiaj je po trudnych wyzwaniach lub przy wejściach do nowych sekcji. Zachowaj 2 jednostki Eggy odstępu, umieszczaj 1 jednostkę nad ziemią i stosuj średnicę 2-3 jednostek.
Jak zmienne współpracują z punktami zapisu?
Przechowują dane o punktach kontrolnych, które nie znikają po śmierci. Integer śledzi numery, position zapisuje współrzędne, a boolean oznacza aktywację. Stwórz zmienne globalne, aktualizuj je przy aktywacji i odczytuj po śmierci, by ustalić miejsce odrodzenia.
Gotowy, by wznieść swoje projekty w Warsztacie na wyższy poziom? Zdobądź zasoby premium i odblokuj zaawansowaną logikę w BitTopup. Szybko, bezpiecznie i z polecenia twórców – wzmocnij swoje wrażenia z Eggy Party już dziś



















