Poziom FPS dla GamingFactory
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
Status | Prototype |
Platforms | HTML5 |
Author | MsciwyKomar |
Genre | Shooter |
Made with | Unity |
Leave a comment
Log in with itch.io to leave a comment.