Projekt Poziomu FPS

1. Projektowanie postaci gracza

Przy projektowaniu systemu kontroli gracza wspomogłem się dostępnym darmowym assetem: https://assetstore.unity.com/packages/3d/characters/modular-first-person-control...

Rozwiązało to wszelkie kwestie związane ze sterowaniem graczem, wystarczyło dodać broń i logikę strzelania z niej aby mieć obiekt zdolny przejść poziom. Zanim przeszedłem do tworzenia przeciwników pozostała jeszcze kwestia przeżywalności gracza. Zdecydowałem się na regeneracje punktów życia, zamiast nie regenrującego życia i znajdźki mogącej je odnawiać. Kolejnym problemem był sposób przedstawienia aktualnej puli hp graczowi. Pierwszym moim pomysłem było zmienianie widoku z kamery na coraz bardziej czerwony wraz z otrzymywanymi ranami. Uznałem jednak, że w tym przypadku jest to niewystarczająco klarowne i pule hp przedstawiłem przy użyciu UI. 

2. Projektowanie przeciwników 

Modele i logikę strzelania miałem już przygotowane po zaprojektowaniu gracza. Jednak aby od początku wczytania poziomu przeciwnicy nie strzelali w pustkę musiałem wprowadzić coś co ich zaktywizuje dopiero w odpowiednim momencie. Stanąłem przed wyborem: przeciwnicy będą aktywowani jak gracz zbliży się na odpowiednią odległość, albo przy pomocy odpowiednio rozmieszczonych trigerów. Ze względu na zamknięty typ mapy zdecydowałem się na drugie rozwiązanie, co pozwala aktywować wszystkich przeciwników jak gracz wejdzie do pomieszczenia z nimi. Następnie przy użyciu komponentu Nav Mesh Agent rozwinąłem AI przeciwników umożliwiając im po aktywacji podążanie w kierunku gracza. Przez moje niewystarczające doświadczenie w posługiwaniu się Nav Mesh nie dopracowałem AI przeciwników i nie zawsze zachowują się zgodnie z moimi oczekiwaniami.

3. Projektowanie poziomu 

Myślą przewodnią przy tworzeniu poziomu była dwojaka droga do sukcesu. Pierwsza ścieżka to mozolne przedzieranie się przez kolejne pomieszczenia wypełnione czekającymi przeciwnikami. Druga natomiast prowadzi przez ukryte przejście, w tym wypadku za ścianą, którą gracz może zniszczyć. Mogłaby to być ukryta szczelina, albo drzwi otwierane przy użyciu specjalnego klucza czy też mini gierki. Zdecydowałem się na zaprojektowanie automatycznych drzwi otwieranych i zamykanych przy pomocy triggera. Pozostało mi tylko wypiec mapę światła i mój przykładowy krótki poziom FPS gotowy. 

4. Legenda 

Niezniszczalne ściany - szary

Zniszczalne ściany - zielony

Gracz, skrzynie z amunicją - niebieski

Przeciwnicy - czerwony

Elementy otoczenia - brązowy

Leave a comment

Log in with itch.io to leave a comment.