18 wrz 2024

Fortnite Re:Imagine London – ożywiamy Londyn w UEFN

Re:Imagine London (kod wyspy: 1442-4257-4418) to efekt współpracy pomiędzy znanym biurem architektoniczno-projektowym Zaha Hadid Architects (ZHA) i Epic Games, której celem było dokładne odwzorowanie kultowej dzielnicy Londynu. Swój wkład w tworzenie wyspy mogą również wnieść gracze Fortnite, projektując własne unikalne budowle.

Projekt ten zawierał kilka kluczowych celów:
  • Przedstawić nowy typ rozgrywki w ramach Unreal Editor dla Fortnite (UEFN).
  • Przesunąć granice Verse oraz innych funkcji UEFN poprzez testowanie i zwiększanie ich pełnego potencjału.
  • Zaprezentować sposób, w jaki Fortnite może przybliżać innowacyjne pomysły szerszej publiczności, jednocześnie ją angażując.
  • Dowiedzieć się, w jaki sposób doświadczeni użytkownicy Unreal Engine mogą wykorzystać swoją wiedzę ekspercką w UEFN.
  • Przede wszystkim zaś zainspirować graczy do tego, aby wyobrazili sobie takie miasta przyszłości, które będą bardziej przyjazne dla spacerowiczów, tętniące życiem, zielone i zrównoważone.

Biuro ZHA, które ma już doświadczenie w wykorzystaniu Unreal Engine, odegrało w tym projekcie kluczową rolę. Nie tylko zaprojektowało budowle, ale również stworzyło całą rozgrywkę, ujmując w niej koncepcje architektoniczne i konstrukcyjne zaczerpnięte z prawdziwego świata. ZHA i Epic współpracowali również z firmą Accucities, ekspertem w dziedzinie Unreal Engine, która wprowadziła do UEFN bardzo dokładne modele Londynu, co pozwoliło stworzyć grywalny obszar w grze.

Aby dowiedzieć się więcej o tym, jak powstawał projekt Re:Imagine London, obejrzyjcie ten film na kanale The B1M na YouTube.
 

Nowy sposób budowania

Re:Imagine London prezentuje zupełnie nowy system budowania, który został napisany w Verse. Gracze mogą wybierać spośród sześciu różnych typów budowli (chodnik, budowla, park, handlowe, biuro i mieszkalne) i projektować je, umieszczając woksele odpowiednich typów w obrębie miejsca budowy.
Typy budowli
Na obszarze, który gracze mogą eksplorować, znajduje się szereg ikonicznych zabytków, takich jak katedra św. Pawła, galeria Tate Modern i szekspirowski Globe Theatre. W obrębie grywalnej dzielnicy Londynu znajdują się cztery miejsca budowy.

Miejsca budowy 2

Gracze określają kształt i kategorię budowli poprzez umieszczenie wokseli, a nowy system automatycznie generuje realistyczne struktury. ZHA zaprojektowało elementy modularne i opracowało zasady ich łączenia, umożliwiając w ten sposób tworzenie budowli dużo większych niż pojedynczy woksel.

Ukończona budowla

Statystyki
 

Siatka wokselowa i rzucanie promieni

Sercem Re:Imagine London jest trójwymiarowa siatka „komórek” dla każdego miejsca budowy, w której przechowywane są informacje o typie występującego w niej woksela budowli (o ile taki istnieje). Wdrożenie tego rozwiązania w Verse jest proste przy wykorzystaniu tablicy “opcjonalnych” odwołań. Oprócz tego prosta procedura rzucania promieni pobiera początkową lokalizację oraz kierunek i przechodzi krok po kroku przez siatkę aż do momentu napotkania zajętej komórki.

Wokselowe rzucanie promieni
 

Obsługa urządzeń sterujących

Wyspa wykorzystuje szereg urządzeń aktywacji sterowania, aby odpowiadać na takie elementy sterowania jak Strzał (dodaj woksel), Cel (usuń woksel), Następny/Poprzedni przedmiot (zmień kategorię) oraz Kilof (otwórz menu niestandardowe).

Kiedy gracz naciska przycisk strzału, najpierw sprawdzamy, czy znajduje się on w „strefie budowy”, a następnie uruchamiamy rzucanie promieni, aby określić, na którą powierzchnię woksela patrzy. Jeśli ma to zastosowanie, w tamtej lokalizacji dodawany jest nowy woksel.
 

Generowanie proceduralne w Verse

Re:Imagine London wykorzystuje dwa typy generowania proceduralnego za pomocą Verse: Shape Grammar oraz Wave Function Collapse. Shape Grammar ma zastosowanie do budowli 3D (budowla, handlowe, biuro, mieszkalne), a Wave Function Collapse wykorzystywane jest do „płaskich” obszarów 2D (chodniki, parki).

Dla obu tych technik zespół stworzył obszerny zestaw modularnych rekwizytów budowli, łącznie ponad 330, które Verse generuje w czasie wykonywania programu. Kod jest deterministyczny. Usuwa i tworzy rekwizyty w miarę potrzeby.

Części

Oto krótkie wyjaśnienie, jak działają te techniki:
 

Shape Grammar

Najpierw wszystkie woksele z każdej kategorii są „rozkładane” na większe sześciany wypukłe, aby możliwe było zastosowanie Shape Grammar.

Rozkład sześcianów

Shape Grammar składa się z prostych reguł, z których każda przyjmuje jeden sześcian i generuje jeden lub większą liczbę sześcianów podrzędnych dla reguł następujących po niej. Na przykład reguła może ściąć wysoki sześcian, tworząc „piętro” o wysokości jednego woksela, natomiast inna reguła spowoduje przypisanie narożników do jednej reguły, a ścian do innej. Specjalna reguła generuje rekwizyt o wymiarze tego sześcianu i w jego lokalizacji.

Shape Grammar

Każda reguła jest definiowana jako oddzielna klasa Verse, która jest łączona w „drzewo” w kodzie. To podejście upraszcza tworzenie nowych reguł, eksperymentowanie z różnymi pomysłami, a także przypisywanie wyrazistych stylów do każdego typu budowli. Zastosowanie różnych reguł do tego samego zestawu wokseli przynosi różne rezultaty, co widać na poniższym obrazku.

Przykłady wokseli

Reguły mogą również wybierać „ulepszony” element, gdy określone kombinacje wokseli zostaną umieszczone razem, np. woksele z kategorii park i mieszkalne.

Ulepszony element
 

Wave Function Collapse

Wave Function Collapse (WFC) to technika losowego generowania obszaru w oparciu o reguły, które określają, w jaki sposób elementy mogą do siebie pasować. Ta metoda była omawiana podczas prelekcji State of Unreal 2022, The Matrix Awakens: Generating a World.

Pola

W tej implementacji wykorzystywany jest zestaw pól, a następnie zespół określa, które pola mogą ze sobą sąsiadować. Do każdej krawędzi dodawana jest „etykieta”, a pola mogą być umieszczane tylko wtedy, gdy etykiety do siebie pasują. Algorytm wybiera lokalizację na siatce, losowo wybiera (lub „zwija”) spośród możliwych opcji, a następnie propaguje konsekwencje tego wyboru do możliwych opcji w innych lokalizacjach.

Proces ten trwa, aż do momentu wygenerowania całego regionu.

Wygenerowany park
 

Tryb widoku

Aby pomóc graczom zwizualizować, jakie rodzaje wokseli zostały przez nich umieszczone, mogą oni przełączać Tryb widoku, który nakłada na miejsce budowy kolorowe sześciany.

Tryb widoku

Ta funkcja została wdrożona poprzez tworzenie normalnie niewidocznych sześcianów i wykorzystanie urządzenia sekwencera filmowego do sterowania kolekcją parametrów materiałów. Z kolei kolekcja parametrów materiałów dostosowuje nieprzezroczystość materiału. Opcja „Tylko inicjator” pozwala graczom niezależnie sterować tym widokiem, co oznacza, że wpływa on tylko na gracza, który go włączył, a nie na pozostałych graczy.
 

Zapisywanie budowli

Gracze mogą pracować nad swoimi budowlami w trakcie wielu sesji i udostępniać swoje dzieła znajomym dzięki funkcji persystencji Verse. Woksele budowli są przekształcane w ciągi tekstowe, zapisywane w postaci tablicy i mogą zostać załadowane ponownie.
 

Wyspa zapisuje również takie informacje jak poziom gracza w trakcie gry, ukończone zadania oraz odblokowane elementy. A to wszystko dzięki persystencji Verse!
 

Piesi

Ped1

Zastosowano trzy różne techniki, aby miasto sprawiało wrażenie tętniącego życiem:
  • Sequencer
    • Wykorzystany do animowania pieszych, samochodów, motocykli, łodzi oraz pociągów na terenie całego miasta.
  • Siatki statyczne
    • W przypadku pieszych stojących nieruchomo lub poruszających się po wcześniej określonych ścieżkach zamiast animacji siatek szkieletowych wykorzystano siatki statyczne z materiałami animacji wierzchołków. Takie podejście jest bardziej wydajne, ponieważ w całości jest obsługiwane przez procesor graficzny. Więcej informacji na temat tej techniki można znaleźć w naszym przeglądzie animacji wierzchołków.
  • Urządzenie generatora NPC
    • W przypadku pieszych znajdujących się w obrębie miejsc budowy wykorzystano Urządzenie generatora NPC z niestandardowym zachowaniem Verse. Postacie niezależne poruszają się po parkach i chodnikach, a w miarę rozwoju lokacji dynamicznie pojawiają się kolejne postacie. NPC wykorzystują szkielet MetaHuman oraz zestaw animacji ruchu.

Ped2alt
 

Muzyka proceduralna

Wykorzystano Patchwork, aby wdrożyć proceduralny system muzyki, który ewoluuje w miarę, jak gracze budują. W miarę postępów na miejscu budowy muzyka stopniowo staje się bardziej dynamiczna. Zaimportowano trzy złożone warstwy muzyki do fusion patchy, które następnie zostały załadowane do odtwarzaczy instrumentów Patchwork i aktywowane przez ścieżkę midi w Synchronizatorze utworów. Głośniki są płynnie podgłaśniane i wyciszane w zależności od gęstości zabudowy.
 

Noc i dzień

Wprowadzono niestandardowy cykl dobowy, aby zaprezentować miasto zarówno w świetle dnia, jak i w czasie nocy. Wykorzystano Sequencer do dostosowania parametrów oświetlenia w miarę upływu czasu, aktywując zmiany za pośrednictwem Verse.
 


Warstwa danych pozwala na łatwe włączanie lub wyłączanie świateł ulicznych. Dodatkowo kolekcja parametrów materiałów dostosowuje jasność określonych materiałów (np. okien) w nocy.

Dzień – noc
 

Mamy nadzieję, że odkrywanie i tworzenie w Re:Imagine London sprawi wam wiele frajdy i stanie się inspiracją do stworzenia własnych wysp w przyszłości!
 

Dodatkowe obrazy

Rozgrywka

Łódź

Poślizg