Devlog #10: kompilacja (rzeczy, nie kodu)

BLOG
9V
user-54005 main blog image
Rankin | Dzisiaj, 09:03
Poniżej znajduje się treść dodana przez czytelnika PPE.pl w formie bloga.

Yo.

Ładny kawał czasu upłynął odkąd ostatni raz coś tutaj pisałem. Jest tak między innymi dlatego, że szarpnąłem się i postawiłem sobie websajta i tam teraz wrzucam teksty. Jest też muzyka i, eee, komiksy.

Well, anyway, jeśli chodzi o gamedev, i nawet nie ukrywam że do napisania czegoś zmotywował mnie pewien kot w JS, przez ostatnie półtora roku działy się rzeczy. Przede wszystkim wypchnąłem grę na gamejam, prostą i krótką platformówkę w stylu wariana. Tytuł był dla mnie eksploracją systemów fizycznych godota, a także była okazja posprawdzać praktycnzie różne rzeczy typu paralaksy, tilemapy, scrolle i inne rzeczy na poczet ProjEx. Choć może brzmi to dość narcystycznie, ta moja gierka mi się podoba i myślałem nad rozbudowaniem jej w pełnoprawny tytuł, tylko że kurde brak czasu.

Jeśli chodzi o Project Exploder to od paru miesięcy jest na przełomowym kroku gdzie lada moment wypchnę grę, a raczej jej 1-poziome, powiedzmy "shareware", demko w świat. Tylko że ciągle coś wypada, a to tutaj coś doszlifować, a to tam coś poprawić, a to sekretne poziomy, a w kwietniu gdzieś to w ogóle strzeliło mi do głowy rozwinąć zawartość w taki sposób, że zamiast jednego pojazdu z 3 typami broni będą 3 pojazdy, każdy z 2 typami broni. Spędziłem więc trochę czasu rysiując drugi z trzech pojazdów i arty myśliwców na ekran wyboru:

Spędziłem też jakiś czas przepisując kod na bardziej otwartą architekturę, która udźwignie trzy różne pojazdy, ale nawet nie zdążyłem go dobrze przetestować, gdy wyszła nowa edycja gierkowego dżemu, w którym uczestniczyłem w zeszłym roku. Ponownie czasu jest bardzo powabne dwa miesiące i ponownie z początku nie za bardzo chciało mi się w nim brać udział... ale potem miałem wizję.

Wizją było coś, co wykluło mi się w głowie po paru sesjach popylania w Torus Trooper: gracz śmiga w trójwymiarowej tubie, miało być szybko, tuba miała się wyginać, wrogowie nadlatują, czasem podział na dwa kierunki w stylu Outrun. Co prawda możliwości 3D Godota tak średnio nadają się do realizacji tej idei, więc nieco przyciąłem ambicje do możliwości, celując w coś bardziej w stylu Tempest / Tsunami2010. Czyli, ogólnie mówiąc, zabawy w wireframe. Jako że Godot nie obsługuje rysowania linii w 3D, więc od razu przeszedłem w imitację 3D za pomocą lini na płaszczyźnie 2D.

Dopracowanie tego systemu zajęło mi parę tygodni matematyki, trygonometrii i dłubania w kodzie, ale co wywalczyłem to moje. Perypetie, a przynajmniej wczesne ich iteracje, opisałem obszerniej na mojej stronie - choć detale implementacji zdążyły się już sporo zmienić, to logika kroków pozostaje w zasadzie taka sama. Na ten moment generacja kształtu działa, co więcej, ukleiłem ładny system, który płynnie transformuje pole gry między wygenerowanymi kształtami. Byłem z tego tak zadowolony, że nagrałem krótki filmik i wrzuciłem na tubę:

Akurat tak się złożyło, że podczas nagrywania na playerze leciał miękko transowy kawałek Alexa Smitha, "The More Things Change...", który nadał całości specyficzny klimat. Kiedy pokazałem nagranie Marlowi, mojemu stałemu kolaborantowi i kompozytorowi muzyki do wszystkiego co dotąd zrobiłem, stwierdził, że strasznie mu to rez przypomina. Popatrzyłem jeszcze raz i poczułem aktywację neuronów, normalnie:

Nastąpiła więc zmiana planów. Po obgadaniu sprawy z Marlem, gra będzie rail shooterem, czyli gracz będzie wisiał w centrum ekranu gdzieś, celowanie myszką, z opcjonalnym dodge może, a ruchy wrogów i planszy będą zgrane z beatem muzyki. Dodałem deformację "fali", którą zaprzęgnę do muzycznych rzeczy, wibracje siatki, pospinałem różne rzeczy z bitem - gra nie wykrywa rytmu muzyki, to zbyt złożony temat na 2-miesięczny dżemik, Marl po prostu poda mi wartość danego utworu - i zacząłem pracować nad ruchem wrogów. Ten będzie w dwóch rodzajach: jednostki warpujące między węzłami siatki, będą raczej czysto dekoracyjne. Ten tryb ruchu jest w zasadzie gotowy i nagrałem filmik z jednym już docelowym utworem:

Drugi tryb ruchu to płynny przesuw między węzłami. Ten sprawia mi trochę kłopotów, bo muszę na bieżąco kalkulować pozycje pośrednie dla czegoś, co rusza się w układzie pseudo-3D, ale jest rysowane stricte 2D, co więcej, plansza może mi się czasem rozejść i muszę brać to pod uwagę. Choć kod jest w 99% poprawny, ciągle uderzam w jakieś edge case, które muszę uszanować. W zasadzie, gdybym po prostu podczas "płaskiej" planszy spawnował wyłącznie wrogów z ruchem nie sięgającym krawędzi to kod byłby 100% sprawny, no ale trochę mi to na ambicje weszło teraz. Ma działać i już. Gdy to będzie ogarnięte, pora na mechaniki, konkretnie strzelanie do rzeczy. Niby nie powinno to być trudne, ale... Terra incognita, wiadomo. Tutaj wyłamujemy drzwi już otwarte, po omacku.

Oceń bloga:
1

Komentarze (0)

SORTUJ OD: Najnowszych / Najstarszych / Popularnych

cropper