Każda z plansz została zaprojektowana z myślą o zastosowaniu kamery odgórnej. Rozmiar UI w zestawieniu z koniecznością zmieszczenia wszystkich elementów w kadrze i zadbania o to, aby postać niezależna nie była zbyt mała, ogranicza maksymalny rozmiar każdej planszy. Oznacza to, że plansze muszą mieć wymiar mniej więcej 4 na 6 kafelków. Kamera odgórna utrudnia dostrzeżenie orientacji postaci niezależnej, która na ekranie jest niewielka, dlatego gdy postać przestaje się ruszać, wokół niej pojawia się grafika strzałki.
Podczas projektowania plansz należy mieć na uwadze trzy rzeczy:
Konieczność zachowania niewielkich wymiarów
Wprowadzanie nowych koncepcji pojedynczo
Zmuszenie graczy do myślenia
Choć powierzchnia 4x6 ograniczała wiele możliwości, ograniczenia te pozwoliły zachować pełną kontrolę nad planszami, a gracze mieli poczucie dokonywania szybkich postępów w grze. Rzut oka na planszę powinien wystarczyć graczom, aby znaleźć rozwiązanie, jednak ze względu na sposób wprowadzania poleceń powinni przy tym zaplanować w myślach kolejne kroki, zanim nacisną przycisk wykonywania. Pięć plansz zaprojektowano w taki sposób, aby zacząć od prostych zagadnień, a następnie z każdą planszą wprowadzać jedno nowe zagadnienie, a następnie na planszy numer 5 podsumować wszystko w teście końcowym.
Ta plansza jest całkowicie liniowa, a gracz musi jedynie podążać w jednym kierunku za pomocą polecenia ruchu do przodu. W ten sposób gracz ma bardzo prosty cel, a jednocześnie czas, aby przećwiczyć różne polecenia i sprawdzić, co robią. | |
| Na tej planszy wprowadzono wykonywanie skrętów. Przejście poziomu wymaga od gracza użycia obu rodzajów skrętów. | |
Na tej planszy wprowadzono przeszkody w postaci barier. Choć plansza ma postać pętli, ścieżka, jaką może obrać gracz, jest liniowa ze względu na rozstawienie barier. Wymusza to na graczu interakcję z aktywatorem przeszkody, co pozwala zapoznać się z barierami i sposobem ich pokonywania. Ta plansza wymaga również użycia poleceń wykonania wielu czynności, ponieważ liczba poleceń wymaganych do przejścia poziomu jest większa niż maksymalny limit poleceń w kolejce poleceń. | |
Na tej planszy dodano do zestawu wiele barier, zmuszając gracza do obrania ścieżki wymagającej wykonania mnóstwa skrętów w celu dotarcia do obu aktywatorów przeszkód. Pomarańczowy aktywator przeszkody musiał zostać przeniesiony do narożnika ze względu na problemy z obieraniem ścieżek przez NPC. | |
Ta plansza w dużym stopniu przypomina planszę 4 pod tym względem, że znajduje się na niej wiele wyzwalaczy i wymaga obrania długiej, krętej ścieżki. Kwestie związane z nawigacją postaci niezależnej istotnie ograniczyły projekt tej planszy, ponieważ postać często podejmuje próbę obejścia ścian w celu przedostania się na drugą stronę, odrywając je od siatki planszy. Projekt ten wymagał kilkukrotnej modyfikacji i uwidocznił pewne ograniczenia bieżącego interfejsu API NPC z możliwością nawigacji. |
Choć plansze przedstawione w tym przykładzie są stosunkowo proste, projekt pozostawia sporo miejsca na tworzenie różnych wariantów. Można tworzyć plansze z pułapkami, teleporterami, plansze wyświetlane za pomocą innych kamer, plansze wielopoziomowe itp. Każda z tych opcji wyznacza inny kierunek, w jakim możesz zmodyfikować ten szablon na własne potrzeby. Postawienie przed sobą zadania opracowania rozwiązania wymagającego przestrzegania ograniczeń, ale bazującego na prostej koncepcji, często może przynieść nowe pomysły, które w innym przypadku nawet nie wpadłyby do głowy.
Obchodzenie ograniczeń przy projektowaniu
Przy projektowaniu kodu ruchów w tym szablonie w dużej mierze stosowano obejścia bieżących ograniczeń nawigacji SI. Na ten moment nie da się bezpośrednio sterować postaciami niezależnymi, tylko trzeba im wyznaczać konkretne cele nawigacji za pomocą interfejsu navigatable. Choć jako cel nawigacji można wskazać dowolne położenie, ostatecznie decyzja dotycząca sposobu dotarcia w to miejsce należy do NPC.
SI nawigują po świecie, wykorzystując siatkę nawigacyjną, która ułatwia im wybór ścieżki i wyznacza, gdzie mogą się udać, a gdzie nie. Czasami takie wybory nie są zgodne z rezultatem, jaki chcesz uzyskać w swojej rozgrywce, i SI próbuje na przykład przebić się przez ścianę, zamiast przeskoczyć nad przeszkodą.
Postać niezależna w tym szablonie porusza się każdorazowo o jeden kafelek, dlatego bardzo ważne było zsynchronizowanie jej z planszą. W większości przypadków nie stanowiło to problemu, jednak w związku z tym, że NPC zawsze próbują dotrzeć do celu najkrótszą ścieżką, często starają się obejść ściany lub urządzenia barier, zamiast trzymać się siatki. Ponadto urządzenia barier mają inne właściwości siatki nawigacyjnej niż ściany, co sprawiało, że postacie niezależne regularnie wchodziły w urządzenia barier i ciągle próbowały przez nie przejść, zamiast się zatrzymać. Wymusiło to rozmieszczenie licznych urządzeń zmiany nawigacji SI na każdym poziomie, aby zablokować siatkę nawigacyjną i utworzyć swoiste korytarze, po których NPC może się poruszać. SI zdecydowanie nie mogą kierować się do tych obszarów, co pozwoliło ograniczyć ruch postaci niezależnej do siatki i uniemożliwić jej podejmowania nieoczekiwanych decyzji nawigacyjnych, takich jak próba przejścia przez bariery lub wokół ścian.
Skręcanie również stanowiło problem. Obecnie, gdy wyznaczymy dla postaci niezależnej cel nawigacji znajdujący się bezpośrednio z jej prawej lub lewej strony, postać obierze nieznacznie zakrzywioną ścieżkę, aby ustawić się równo z celem, a następnie ruszy w kierunku celu. Okazało się to problematyczne, ponieważ oznaczało, że NPC będzie często wpadać na ściany lub doświadczać trudności z poruszaniem się w ciasnych narożnikach, co po wykonaniu kilku skrętów spowoduje brak synchronizacji z planszą. Konieczne było również wyeliminowanie u SI wielu możliwości ruchów, na przykład możliwości skoku lub wspinania się, ponieważ w ten sposób postać mogłaby wydostać się poza granice.
Następny krok
Utworzyliśmy pięć poziomów, przez które postać musi przejść. W kolejnym kroku zdefiniujesz ogólne dane poleceń oraz konkretne polecenia, jakich będzie używać postać.