Abacus A I udostępnił tryb, w którym model G P T sześć Astra przechodzi całą produkcję gry trójwymiarowej: planuje wygląd, tworzy modele w Blenderze, pisze mechanikę, uruchamia grę, robi jej zrzuty ekranu, porównuje wynik z założeniem i poprawia to, co odstaje. Kanał AI Revolution dostał trzy gotowe projekty zrobione tym przepływem: mobę pięć na pięć, dark fantasy R P G z walką zza pleców postaci oraz grę wyścigową w stylu formuły. Generowanie gier przez modele nie jest nowe, ale tutaj proces sięga znacznie głębiej w rzeczywistą produkcję.
Najpierw obraz docelowy, potem kod
Praca zaczyna się przed napisaniem gry. Astra generuje zestaw ujęć koncepcyjnych pokazujących, jak ma wyglądać skończony projekt: scena otwierająca, główne środowiska, postacie, walki z bossami, pojazdy, oświetlenie, kadrowanie kamery i ogólna tożsamość wizualna świata. Te obrazy stają się celem dla wszystkiego, co przyjdzie potem.
W ten etap można ingerować, zanim ruszy ciężka praca. Jeśli kierunek ci nie pasuje, każesz go przyciemnić, zwiększyć skalę, zmienić projekt samochodu albo przemyśleć część wyglądu od nowa. Dopiero po zatwierdzeniu kierunku model próbuje odtworzyć te obrazy w samej grze.
To ma znaczenie, bo gra trójwymiarowa może działać technicznie i jednocześnie wyglądać niespójnie. Mechanika, fizyka i sterowanie potrafią być sprawne, a mimo to całość wygląda tanio, gdy środowisko, postacie, światło i proporcje do siebie nie pasują.
Potok produkcyjny
Astra pisze skrypty do Blendera i uruchamia go bezgłowo na superkomputerze Abacusa, żeby stworzyć własne modele trójwymiarowe. Zasoby są eksportowane jako glTF albo G L B i ładowane do gry przeglądarkowej zbudowanej na Three j s. Za fizykę odpowiada Rapier.
Materiały korzystają z map albedo, normalnych, chropowatości i emisji. Model dokłada własne shadery, poświatę, ambient occlusion, mapowanie tonalne, mgłę i inne efekty końcowe. Gdy potrzebuje realistycznych powierzchni, takich jak asfalt albo ściółka leśna, pobiera darmowe tekstury na otwartej licencji przez API Poly Haven.
Kiedy sceny robią się ciężkie, wchodzi optymalizacja: narzędzie glTF Transform, kompresja tekstur do formatu webp, usuwanie duplikatów, atlasy tekstur, instancjonowanie i poziomy szczegółowości.
Najciekawsze jest to, co dzieje się po napisaniu kodu. Astra uruchamia grę i przechwytuje zrzuty ekranu przez system debugowania przeglądarki, a potem porównuje je z wygenerowanymi wcześniej obrazami koncepcyjnymi. Jeśli świat jest zbyt płaski, roślinność zbyt rzadka, postać ma złe proporcje albo światło jest wyprane, model to rozpoznaje i wraca do projektu. Powstaje pętla: wyznacz cel, zbuduj, uruchom, popatrz, zdiagnozuj, popraw, spróbuj jeszcze raz. Równolegle działają automatyczne zestawy testów obejmujące logikę rozgrywki, fizykę i geometrię trasy. Według materiałów Abacusa w takim projekcie potrafią chodzić dziesiątki testów.
Emberfall, czyli moba pięć na pięć
Największe demo to przeglądarkowa moba o nazwie Emberfall. Technicznie najbardziej pogmatwana, bo moba to nie jeden duży system, tylko kupa mniejszych, które muszą współpracować, nie rozwalając się nawzajem.
W poleceniu znalazły się dwie bazy, trzy linie, dżungla, wieżyczki, inhibitory, fale stworów, neutralne potwory, boss, krzaki z działającą mechaniką widoczności, powrót do bazy, odradzanie, złoto, doświadczenie, sklep z przedmiotami, pięciu autorskich czempionów oraz pełny interfejs z minimapą i tabelą wyników. Każdy czempion dostał inną rolę: tank, wojownik, mag, strzelec i zabójca, a do tego atak podstawowy, pasywkę, trzy umiejętności i ultimate. Ruch na prawy przycisk myszy, umiejętności pod klawiszami Q, W, E oraz R. Wszystkie postacie i ważniejsze zasoby miały być oryginalne, a nie zapożyczone z istniejących gier.
Astra zaczęła od rozpisania pola bitwy na współrzędne: gdzie stoją obozy w dżungli, gdzie siedzi boss, jak daleko widzą czempioni, jak działa widoczność w krzakach i którędy idą stwory w każdej linii. Potem przeszła do Blendera i zrobiła pięć humanoidalnych sylwetek. Tank jest szerszy i cięższy w zbroi, mag smuklejszy, w krótszym niebieskim płaszczu, strzelec przypomina łowcę, a zabójca ma sylwetkę zakapturzonego skrytobójcy z ostrzem. W trakcie model uznał, że barki maga są za szerokie, i wrócił zmienić proporcje.
Gotowa gra ma wybór czempiona, izometryczne pole bitwy, stwory idące trzema liniami, atakujące wieżyczki, pięć wrogich botów, wskaźniki umiejętności, podglądy zasięgu, liczby obrażeń, ogłoszenia zabójstw, sklep i minimapę.
Po uzyskaniu grywalnej wersji przyszła druga tura poprawek. Problemem wydajnościowym była roślinność: Astra rozpoznała, że około dziewięciuset modeli drzew po mniej więcej pięć tysięcy trójkątów każde całkowicie zabije wydajność w przeglądarce, więc przebudowała je na instancjonowanie, lżejsze zasoby i atlasy tekstur. Potem docisnęła stronę wizualną: bardziej szczegółowe zbroje i płaszcze, lepsze wieże, paprocie, trzciny, kamienie, ruiny i klify, animowana woda, ambient occlusion, mgła, poświata i bardziej filmowa korekcja barwna. Powstały też malowane portrety czempionów i siatka dwudziestu ikon umiejętności. Każdy czempion dostał własny język kolorów: tank turkus i mosiądz, wojownik czerwień żaru, mag fiolet. Interfejs przeprojektowano na ciemniejszy, pecetowy styl mobowy.
Eye of the Fallen God
Drugi projekt idzie w zupełnie inną stronę. To dark fantasy akcji R P G zza pleców postaci, gdzie ciężar przenosi się z systemowej złożoności na atmosferę, skalę i kierunek wizualny. Akcja dzieje się w starożytnym niebiańskim więzieniu zawieszonym nad bezkresną otchłanią. Kamienny bóg o imieniu Akara jest dosłownie wbudowany w architekturę: jego twarz góruje nad okrągłą areną rytualną, a przez zamknięte oczy sączy się słabe szmaragdowe światło. Grasz ostatnim potomkiem rodu, który go uwięził.
Brief wizualny mówił o turkusowym świetle księżyca, pomarańczowym blasku ognia, szmaragdowej energii, wolumetrycznej mgle, ogromnej architekturze, walce mieczem z wyczuwalnym ciężarem i bohaterze, który wydaje się maleńki na tle otoczenia. Przed budową powstało dziesięć ujęć koncepcyjnych: wyjście z ciemnego korytarza i pierwszy widok więzienia, szeroki kadr areny pod twarzą Akary, ujęcia skali pod ogromnymi filarami, kilka starć z bossami, zwarcie mieczy z iskrami, otwarcie oczu przez Akarę, zawalenie się areny i walka na unoszących się ruinach.
Architekturę zbudował Blender jako prawdziwą geometrię: posadzka areny, glify, żebrowane filary, głowice, łuki i wykuta twarz. Środowisko korzysta z materiałów P B R, więc kamień prawidłowo reaguje na światło. Astra stworzyła też bezszwową panoramę nieba z księżycami i mgławicą, przechodzącą od turkusu do ciepłego horyzontu, a potem sprawdziła, czy panorama zawija się bez widocznego szwu.
Rycerz to model ze szkieletem, około dwudziestu sześciu tysięcy trójkątów i rzeczywistymi płytami zbroi. Rapier obsługuje ciało fizyczne, a system walki obejmuje namierzanie celu, energię dusz, widmowy unik i cięcie duszy. Bossów jest kilku: Varos to bezpośredni przeciwnik walczący wręcz, z ciosem mieczem z góry, drugi strażnik atakuje z platform widmowymi strzałami, a Torin to skuty łańcuchami kolos zbudowany wokół zupełnie innego starcia.
Dobrym momentem jest otwierająca sekwencja kamery. Gra zaczyna się tuż za plecami rycerza w ciemnym korytarzu. Środowisko otwiera się na arenę, kamera stopniowo odjeżdża i unosi się, aż wielka kamienna twarz zdominuje kadr. Wtedy sterowanie wraca do gracza.
Poprawki szły dalej w trakcie projektu. Głowice filarów wyszły w złych proporcjach, więc je zmienił. Migotanie obrazu okazało się skutkiem współpłaszczyznowych trójkątów w jednym z plików G L B — model wytropił problem w geometrii i naprawił go u źródła. Gdy niebo sprawiało, że świat wydawał się płaski, przebudował atmosferę mocniejszymi chmurami, księżycami, mgławicą i unoszącymi się w oddali ruinami. Peleryna przeskakiwała o jedną klatkę podczas animacji biegu, więc Astra odtworzyła błąd klatka po klatce i zmieniła mieszanie animacji.
Extreme Formula, czyli wyścigi
Trzeci projekt to gra wyścigowa. Pojazdy są dobrym testem, bo złe proporcje widać od razu. Samochód nazywa się Nova Celestus zero siedem: granatowe nadwozie z włókna węglowego, malowanie w stylu zorzy przechodzące od turkusu przez magentę do fioletu wzdłuż bocznych osłon, srebrne godło z konstelacją, złote paski wokół krawędzi skrzydeł i biały numer zero siedem.
Najpierw powstało osiem obrazów koncepcyjnych: samochód w ciemnym studiu, pole startowe, odcinki leśne, szpilka nad urwiskiem, most przy wodospadzie, alpejska wioska, tunel i duże ujęcie toru z lotu ptaka. Potem Astra napisała skrypt do Blendera modelujący auto. Gotowy projekt ma niską, szeroką sylwetkę formuły, odkryte koła na slickach, wieloelementowe skrzydła z przodu i z tyłu, halo, odsłonięte popychacze zawieszenia, zaciski hamulcowe, dyfuzor i boczne osłony z wlotami chłodzącymi.
Auto nie jest statyczną bryłą sunącą po torze. Koła obracają się zgodnie z prędkością, przednie skręcają, a każde ma niezależny skok zawieszenia, więc samochód widocznie się dociąża i układa, gdy zmienia się nawierzchnia. Fizykę jazdy przetestowano jednostkowo przed ostatnim przejściem przez rozgrywkę.
Tor to zamknięta pętla o długości jednego przecinek dwudziestu siedmiu kilometra z prawdziwymi zmianami wysokości: płaskowyże, klify i las. Astra sprawdza geometrię trasy, żeby droga przypadkiem nie przecięła samej siebie. Buduje teren dookoła, miesza materiały asfaltu, ściółki i żwiru, wytłacza bariery wzdłuż krawędzi, robi żwirowe strefy wybiegu i stawia w oddali pasma gór ze skalistymi śnieżnymi czapami. Oświetlenie korzysta ze środowiska H D R I, więc węglowe nadwozie reaguje na prawdziwe światło sceny, a nie na płaski kolor. Zamglenie odsuwa dalekie góry.
Własny przebieg produkcyjny dostały nawet drzewa. Astra oceniła, że pierwotny iglak ma zbyt rzadką sylwetkę w porównaniu z obrazami koncepcyjnymi, więc wygenerowała gęstszy egzemplarz w Blenderze, wyrenderowała go do atlasu tekstur z wielu kątów i zrobiła wersje o niższej szczegółowości, którymi da się zapełnić zbocza bez zabijania wydajności.
Gotowa gra ma cztery tryby kamery: pościgowy, bliski pościgowy, z kokpitu i znad przedniego skrzydła. Jest pomiar okrążeń, zapamiętywanie najlepszego czasu i zmiany wysokości oddane ruchem kamery. Po wdrożeniu użytkownik zauważył odwrócone sterowanie: A skręcało w prawo, D w lewo. Astra cofnęła się do znaku przy odchyleniu, odwróciła go, przebudowała projekt i ponownie wdrożyła wersję na żywo.
Co siedzi pod spodem
Abacus używa dwóch ról modelowych. Jedna odpowiada za planowanie przestrzeni, korzystanie z narzędzi, generowanie koncepcji i ocenę wizualną. Druga to dedykowany model kodujący pracujący na maksymalnym wysiłku po stronie silnika i kodu.
Sam superkomputer zostaje online między wiadomościami. To istotne, bo projekt, środowisko Blendera, serwer gry i stan wdrożenia nie znikają za każdym razem, gdy wracasz do rozmowy. Wdrożenie też jest częścią przepływu: projekt można zatwierdzić w gicie, utrzymać przy życiu jako usługę systemową, postawić za serwerem Nginx i wystawić pod publicznym adresem. System sprawdza jeszcze, czy wdrożona gra faktycznie ładuje się w przeglądarce, zanim uzna zadanie za skończone.
Gdzie są granice
To nie są skończone gry komercyjne. Porównywanie ich wprost z Ligą Legend, Elden Ringiem czy nowoczesną grą o formule, robioną przez setki osób przez lata, nie miałoby sensu. Abacus mówi o tym dość otwarcie.
Astra potrafi powiedzieć, kiedy to, o co prosisz, jest realistycznie wieloletnim projektem komercyjnym, a nie czymś, co da się w całości wyprodukować w jednej sesji.
Zgłasza też, kiedy jej własne środowisko schodzi do renderowania programowego bez G P U i kiedy powoduje to niską liczbę klatek podczas sprawdzania zrzutów ekranu. Z tej perspektywy jest to raczej bardzo zaawansowane środowisko do produkcji i prototypowania grafiki trójwymiarowej niż magiczny generator gier klasy AAA. Przepływ działa w ramach superkomputera Abacus A I.
Koniec artykułu.