Lekcja 14 – Zarządzanie dostępem

Nasza gra staje się coraz bardziej zaawansowana, dlatego pojawiają się w niej (lub pojawią za krótką chwilę) poważne wyzwania natury konstrukcyjnej, o których powiemy sobie w dzisiejszej lekcji.

Dokończenie questa

Jeśli jeszcze pamiętacie, sołtys naszej wioski wysłał nas z misją odzyskania Kryształu, który chronił ją przed potworami. Pokonując bossa w jaskini udało nam się odzyskać drogocenny kamień. Jeśli jednak wrócimy z nim do sołtysa, on wciąż będzie wyświetlał komunikat o tym, żebyśmy się pospieszyli. Dlatego najpierw przechodzimy do zdarzenia z sołtysem i tworzymy mu nową stronę (numer 3, to ważne!). Jej warunek ustawiamy na Item, a z listy wybieramy Kryształ. Następnie dodajemy informację o tym, że wioska została uratowana. Za wygraną gracz otrzymuje 300 złotych monet i 400 punktów doświadczenia (to ostatnie to komenda Change EXP znajdująca się na pierwszej stronie komend), ale komendą Change Items (także na pierwszej stronie) zabieramy zdobyty Kryształ – nie jest już nam potrzebny. Później sołtys mówi, że pewna piratka na obrzeżu wioski będzie miała dla nas zadanie. Na koniec ustawiamy nowy przełącznik na ON, a na nowej stronie w evencie Sołtys dajemy jakiś neutralny tekst. Nowe strony naszego zdarzenia wyglądają tak:

Zarządzanie dostępem

Teraz skupmy się na czymś, co na pierwszy rzut oka jest absolutnie nieoczywiste. Ja nazywam to zarządzaniem dostępem, ale liczę na to, że społeczność z biegiem czasu wymyśli na to lepszą nazwę (ten temat niespecjalnie był do tej pory poruszany). Projektując swoją grę musisz nieustannie stawiać się w hipotetycznej sytuacji gracza, który znajduje się w danym momencie gry i musi zdecydować, co ma robić dalej.

Prawidłowe zarządzanie dostępem gracza polega na takim projektowaniu gry, by nie mógł on uzyskać dostępu do danych miejsc za wcześnie lub za późno, ponieważ może to wpłynąć na logiczny ciąg fabuły lub spowodować wystąpienie innych bugów.

Żeby nie być gołosłownym, przeanalizujemy zarządzanie dostępem na przykładzie naszego projektu. Zadaniem gracza jest pójście do sołtysa, który zleca mu misję. Następnie gracz idzie do jaskini, ubija bossa i wraca do sołtysa z Kryształem. Proste, prawda? To, czego nie przewidzieliśmy, to możliwość, że gracz w ogóle pominie rozmowę z sołtysem i od razu uda się do jaskini. Gdy pokona bossa i zdobędzie kryształ, a następnie powędruje do sołtysa, uruchomi się od razu trzecia strona zdarzenia, a później będzie się pokazywała już tylko strona czwarta. Nigdy więc nie pozna dwóch pierwszych. W naszym projekcie na szczęście nie powoduje to krytycznego błędu uniemożliwiającego grę, ale o taki bardzo łatwo.

Rozumiecie już, o co chodzi w zarządzaniu dostępem? Warunki w zdarzeniach należy ustawiać w taki sposób, by wymuszać ich określoną kolejność. W przypadku Sołtysa i jaskini sposób na poprawienie sytuacji jest bardzo prosty. W przejściu wiodącym do jaskini ustawiamy strażnika, który zejdzie z drogi bohaterowi dopiero wtedy, gdy odbędziemy pierwszą rozmowę z Sołtysem. Druga strona zdarzenia ze strażnikiem to pusty event, aktywowany na przełącznik Sołtys (ten, który aktywuje się po pierwszej rozmowie).

Przeanalizujmy teraz całość fabuły naszej gry. Strona czwarta w evenie sołtys włączy się tylko, gdy aktywny będzie przełącznik 0007:Koniec Questa. Ten przełącznik aktywowany jest na trzeciej stronie zdarzenia Sołtys, która jest aktywna tylko wtedy, gdy posiadamy przedmiot Kryształ. Przedmiot Kryształ możemy zdobyć tylko pokonując bossa w jaskini. Do jaskini możemy dostać się tylko po pierwszej rozmowie z sołtysem. Dzięki takiemu ułożeniu spraw, żadne z powyższych wydarzeń w łańcuchu nie może wystąpić wcześniej lub później niż inne. To waśnie nazywam dobrym zarządzaniem dostępem gracza.

Dalszy rozwój fabuły

Jak zasugerował sołtys, w pobliżu wyjścia z wioski będzie na nas czekała stara znajoma. Tym samym gracz mniej więcej wie, co powinien dalej robić. Dlatego przed kolejną lekcją przygotujmy na krańcu mapy wyjście z wioski i postawmy obok niego zdarzenie z grafiką piratki.

ŚCIĄGNIJ PROJEKT Z LEKCJI

Michał „Michu” Wysocki

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.