Униванг 3-9, демо vangers-like игры на Godot

в 7:30, , рубрики: 3d, devlog, gamedesign, linux games, racing, вангеры, игростроение, невангеры, прототипирование

Что если вместо Невангеров делать аналог Вангеров, подумал я и сделал прототип торгово-гоночной игры на движке Godot. Собрав в нём некоторое комбо из различных наработок за все годы и заложив в игру классический вангерский процесс - развоз грузов. Естественно, с какими-то своими особенностями тоже.

Униванг 3-9, демо vangers-like игры на Godot - 1

Униванг - альтернативные Вангеры

Униванг 3-9, демо vangers-like игры на Godot - 2

Лорное обоснование, по сути, следует уже из названия - как известно, события оригинальной игры разворачивались внутри сборки вселенной под номером 3/8. А миры/расклады следующей версии уже содержат в себе различные изменения/переосмысления.

В качестве основы был выбран проект Биом, где посчитал нужным оставить gles3 рендер (несмотря на то, что он тяжелее чем gles2 и в конкретном браузере он может проблемно запускаться), но переработать многое с нуля. Какое-то легаси сохранилось или используется временно, многое было вовсе удалено - для облегчения размера или просто не подходило под новые архитектурные принципы.

В итоге на данный момент прототип дорос до второй демоверсии (билды для windows, linux и вёб-вариант):

Мини-видеонарезка геймплейных моментов:

На сей раз перед разработкой сразу было принято довольно много ключевых решений по используемой технологии, базовым игромеханикам и общему видению, чтобы вместо исследований на тему собирать что-то вполне определённое. Сложные (и по сути-то совершенно не принципиальные) эксперименты, которые присутствовали в Biom'e, были убраны - вроде механики перекладки уровня, переселения душ, полноценных машин в качестве противников. Всевозможные полировки тоже были сведены к минимуму (хотя, совсем собирать всё из "белых коробок" тоже не стал), чтобы не отвлекаться на фасад и заложить как можно больше фундаментальной логики.

Униванг 3-9, демо vangers-like игры на Godot - 3

В итоге имеется мир с тремя "магазинами", между которыми можно возить грузы. В каждом есть несколько желаемых товаров, за которые гонщик-тогровец получит бонус. Прочие товары покупаются-продаются по своей себестоимости, то есть купив что-то не то можно сдать эту вещь и получить обратно все средства целиком. Правда это правило не касается, например, покупки новых машин, которые становятся доступны после первых успехов в торговле/доставке.

Что касается технических решений, то для поверхности уровня, например, используется техника вертексной поркаски (даёт цвета) совмещённая с монохромной трипланарной текстурой (чёрно-белая, с нормалями и шероховатостью). Машинки, вероятно, тоже стоит перевести на комбинированную вертексную покраску (одна уже), так как у тех же биомашинок, например, достаточно плотная сетка и повертексно их можно красить более гибко, чем повторяемой текстурой. А вот различные модели с костной анимацией (всякая враждебная фауна) неудобно перекрашивать/переиспользовать/доанимировать при таком способе, поэтому там имеет смысл использовать обычную покраску текстурой.

Униванг 3-9, демо vangers-like игры на Godot - 4

Сам уровень можно было красить шейдером, смешивающим несколько текстур по rgb-маске (по крайней мере я отдельно написал и протестировал вариант подобного шейдера тоже), но такое сложно чётко затекстурить в 3д-редакторе, нужно много текстур на материал, в шейдер пришлось встраивать дополнительные ползунки с регулировкой черноты каждой текстуры, а результат не слишком то визуально превосходит текущий микс из цветов вертексов и монохромного трипланара. Так что решил не использовать подобное, хотя это тоже подходящее направление, пусть и трудоемкое в приготовлении.

Собственно, всякие подробности я разбираю в паре видеообзоров по данному проекту.

Первая альфа-версия:

Текущая версия:

Униванг 3-9, демо vangers-like игры на Godot - 5
Униванг 3-9, демо vangers-like игры на Godot - 6
Униванг 3-9, демо vangers-like игры на Godot - 7

Wild Engines - гоночные Невангеры

Что касается серии проектов Невангеры - туда тоже добавился ещё один концепт, который я ранее не пробовал. Это просто гонки. Своеобразные гонки на время. Игрок выбирает одну из машинок и одну из трасс с препятствиями, где вместе с ним едут специальные соперники из которых можно выбить дополнительное время и успеть проехать трассу.

Попробовать демку можно здесь (в этом проекте используется более простой рендер - gles2):

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js