Poniższa lista przedstawia ogólny wygląd głównych wymagań technicznych, które rozważaliśmy, pracując nad Tajemnicą Duvall Drive . Dla więcej informacji o wizualnym projektowaniu tych elementów, zobacz Tajemnicę Duvall Drive Showcase, która podkreśla Studio's różne funkcje i narzędzia, które używaliśmy do stworzenia środowiskoimmersyjnego.
Misje
Są kilka rodzajów misji, które gracze muszą rozwiązać, aby postępować poprzez doświadczenie, w tym rozwiązywanie serii platform obracających się do czasu, aż gracze będą w stanie odzyskać specjalny przedmiot lub znaleźć różne składniki w szerokiej pantry i umieścić je w gotującym garnku. Aby zorganizować proces twor
Rama misji
Aby zapewnić, że każdy krok misji jest jednolity w całym doświadczeniu, zaprojektowaliśmy prosty ramy misji puzzle dla każdej misji, która składa się z haków do początku i końca puzzle, miejsca do czytania danych konfiguracyjnych i przycisku do ukończenia puzzle dla celów debugging. Dla więcej szczegółów tego procesu i
Sieczarki i stan gry
Gdy gracze wchodzili do określonych pokoi, chcieliśmy, aby wchodzili w interakcję ze specjalnymi małymi obiektami znanymi jako szczypce , aby wywołać misję. Po rozwiązaniu misji chcieliśmy, aby wzięli szczypce i umieścili je w określonym miejscu w foyer, aby postępować poprzez og
Aby to zaimplementować, stworzyliśmy zestany gry , które określałyby okres czasu, w którym gracze mogli rozpocząć proces tak:
- Poszukiwanie "zepsucie"pieczątki w pokoju, aby uruchomić misję.
- Podnieś "zwrócony" pieczątek, gdy rozwiążą misję.
- Umieść pieczątkę w kręgu foyer.
Stany gry w znacznej mierze kontrolują przepływ doświadczenia i sposób, w jaki gracze wchodzą w interakcję z narratywą doświadczenia. Aby uzyskać więcej informacji, zobacz GameStateManager.
Pokoje normalne i uszkodzone
Chcieliśmy mieć dwa stany sześciu pokoi w domu: stan normalny i stan błędny. Gdy gracz dotykać uszkodzonego pieczątki w pokoju, aby wywołać uszkodzony stan pokoju, środowisko zmieni się na ciemniejszą atmosferę z modyfikowanym oświetleniem, obiektami środowiskowymi i efektami specjalnymi. Gracze będą wtedy musieli rozwiązać misję, aby pow
Aby to zaimplementować
Wersja do debugowania
Aby pomóc nam w okresowym debugowaniu misji, stworzyliśmy wersję doświadczenia, w której nie musielibyśmy czekać w lobby lub na cutscenach. Ta wersja miała klawiaturow
Teleportacja
Są trzy rodzaje teleportacji, które następują w doświadczeniu:
- Teleportuj graczy z podstawowej poczekalni do głównej gry w obszarze serwera zarezerwowanego.
- Teleportuj graczy z normalnego stanu pokoju do stanu uszkodzonego, a następnie powróć ponownie, pokazując cutscene .
- Teleportuj graczy w niektórych zagadkach, lub gdy spadną z obszaru gry po upadku.
Zarezerwowane serwery
Zdecydowaliśmy się zgrupować graczy w grupy po pięciu w prostym lobbym przed teleportacją ich na zarezerwowany serwer dla głównej obszaru gry w domu. Lobby zapewniło czas dla dodatkowych graczy, aby dołączyli i grali razem, a zarezerwowane serwery zapobiegły dodatkowym graczom brakującym aspektów gry i fabuły z dołączen
Cutsceny
Chcieliśmy, abyśmy mogli przewieźć graczy w całej grze, gdykolwiek zakończą pewne zadania, takie jak dotykanie piętra lub ukończenie misji. Aby to zaimplementować, rozwinęliśmy prostą wersję narzędzia opartego na skrypcie nazyjącego się EventManager, które kontrolował
Odawanie graczy
Trzeci rodzaj teleportacji, który chcieliśmy zaimplementować, to krótkie teleportowanie z tylko jednym graczem CFrame zmiany konsystencji w niektórych puzzlach i gdy gracze spadają i respawn. W przeciwieństwie do poprzednich dwóch rodzajów teleportacji, ten rodzaj nie prosi wyraźnie o przesyłanie przesyłania.
Skryptowanie Gameplay
Skryptowanie umożliwiło nam wykonanie na konkretnych elementach gry, takich jak znikające elementy UI, tworzenie triggerów dla wydarzeń kluczowych i podświetlanie obiektów, gdy były one w centrum uwagi z kurorem gracza. Wiele z tych systemów opiera się na tagowaniu obiektów, aby wykonać niestandardowy z
Niestandardowy zachowanie z tagami
Chcieliśmy sposób dodania niestandardowego zachowania dla obiektów, takich jak zamkiwanie drzwi, aby gracze musieli pozostać w pokoju, aż ukończą ak
Class.Script używa funkcji <
Skrypty klienta i serwera
Chcieliśmy zmniejszyć przepustnicę dla różnych aspektów gry, które byłyby drogie w wykonywanie. Zdecydowaliśmy, że gdy funkcjonalność obiektu może wpływać na symulację dla innych graczy, takie jak przesuwanie rozgrywkapoprzez kolizję, będziemy to wykonująć na