от разработчиков
November 7, 2022

Юля Кожемяко | Глитчи как часть мира в Yuha’s Nightmares (2019)

Юля Кожемяко написала для нас небольшую, но подробно иллюстрированную заметку о своей новой игре, Yuha’s Nightmares, где глитчевые элементы участвуют в формировании виртуального пейзажа и становятся полноправными участниками игрового процесса, переплетаясь с логикой сновидения.

Хочу познакомить со своим новым проектом — игрой Yuha’s Nightmares. В этой игре можно смотреть сны, просыпаться, ловить жутковатые вайбы, застревать в текстурах, видеть меши насквозь, ходить по уровню в неположенных местах. Проект еще на начальной стадии разработки, но пощупать основные идеи можно уже сейчас: есть альфа-демо одного уровня, посвященного падению как мотиву кошмаров. Из названия ясно, что кошмарные сны, в которые придется погрузиться игроку, принадлежат некоей Юхе. Yuha — это персонаж, который помогает мне взаимодействовать с реальным и виртуальным мирами. Познакомиться с ней поближе можно тут.

Идея проекта выросла из моего интереса к 3д-графике в ее «незавершенном» и даже искаженном виде, глитчам. В играх часто можно найти пути, чтобы заглянуть в не предусмотренные разработчиками места, проникнуть между коллизиями, увидеть «изнанку» уровня и т.д. Есть игры, вроде Goat Simulator, которые намеренно используют эти неизбежные «упущения» игроделов или особенности движка чтобы у игрока было больше возможностей для фана. А я делаю игру, в которой «изнанка» 3д-мира и глитчи будут полноценной частью окружения и геймплея.

пробуждение

Основная механика игры, позволяющая игроку выйти из разных ситуаций — пробуждение. Сначала сон выглядит реалистично, но в некоторых ситуациях и перед пробуждением среда меняется. Вместо фактурных поверхностей, имитирующих реальность, игрок видит сети полигонов, а некоторые объекты окрашиваются в нежные цвета карт нормалей. Так игрок оказывается в переходном/промежуточном состоянии между сном и реальностью (или другим сном). А просыпаясь, игрок попадает в уровень-меню или в другой сон или выходит из игры.

падение

Как я уже упоминала, первый в проекте сон посвящен одному из популярных мотивов кошмаров — падению. И падать здесь можно из нескольких мест. Падения как правило неожиданны, некоторые приводят к «переходному состоянию»:

застревание в текстурах

На уровне есть несколько невидимых объектов, заставляющих игрока упасть со скалы. А самые удачливые с их помощью могут провалиться сквозь коллизию лендскейпа. Вероятность такого провала во многом зависит от поведения юзера и для текущего уровня-сна не играет большой роли, но я обязательно использую это средство в другом сне. А пока это скорее баг, чем фича:

присутствие монстра

Один из поводов проснуться — присутствие поблизости чего-то невидимого, но приносящего дискомфорт. При приближении к опасным и страшным объектам можно увидеть их wireframe-анатомию и проснуться из-за попытки с ними взаимодействовать:

какой криворукий человек это моделил?

Кое-где реальность сна рушится даже без какого-либо воздействия пользователя на него. Это проявляется в растянутых, «неправильно» наложенных текстурах, недостающих полигонах и других «плохо сделанных» элементах.

Пришлось немного побороться с Cinema 4D чтобы текстурные координаты не были слишком «правильными»:

Однообразно повторяющиеся одинаковые элементы: процедурно сгенерированный, а не естественно-природный объект:

Глитчующее местечко на самой вершине скального домика: в него невозможно попасть, но тут есть окно, в которое можно увидеть внутренность-сетку:

main level

На уровне-меню можно выбрать сон, который вы собираетесь посмотреть. Сны выглядят стилизованными под ноды Blueprints — системы визуального скриптинга в Unreal Engine 4, на котором разрабатывается игра.

перспективы

Ясно что текущая демка сырая и предстоит много работы. Некоторые вещи, о которых идёт речь в этой заметке реализованы не так убедительно, как хотелось бы, а некоторые — пока только планы на будущее. Чтобы следить за развитием проекта, подпишитесь на мой паблик и Юхин инстаграм

Скачать демо можно по ссылке: https://drive.google.com/file/d/1Hcvd6Zm_i8pFQcw2G6oOt9CvOF1OunZB/edit