1

Ответ на пост «Я делаю медитативную игру про каплю краски: настоящая физика воды, акварель в шейдерах и музыка, которую играет игрок»

Если вы не просто-напросто бездумно скроллите ленту или просматриваете подписки, а собираете нечто вроде цифровой подшивки со статьями и своими заметками по ряду условно взаимосвязанных во славу Императора Френдзоны разных тем – так тоже можно.

391

Я делаю медитативную игру про каплю краски: настоящая физика воды, акварель в шейдерах и музыка, которую играет игрок

Друзья, всем привет! Меня зовут Илья, я техноблогер и основатель ArtGeneration.me. Три недели назад я воскресил свою мобильную игру 12-летней давности - перетащил её со старого мёртвого движка на Godot и разослал по сторам. А потом сел делать новую, уже с нуля. Выше - четыре минуты живого геймплея, смотрите со звуком, там половина смысла. Игра бесплатная, билды под винду, macOS и линукс - ссылки в конце статьи.

Началась она с лава-лампы

Я всегда любил лава-лампы. Есть у меня проект с заставками на рабочий стол, ему всего пара лет, и один из первых скринсейверов, что я туда завайбкодил, была как раз лава-лампа. А ещё мне всегда хотелось поиграться с физикой. Так вот, эти слипающиеся капли называются метаболами - и ровно та же математика крутится сейчас в моей новой игре.

Почему вообще игра

Когда-то я начинал свой путь в IT с твёрдым намерением делать игры. Не задалось: своя студия была, игры издавал, но в итоге на геймдев я обиделся и ушёл в управление проектами и маркетинг. А сейчас у меня есть возможности делать всё самому. Я всегда восхищался инди-разработчиками, которые могут в одиночку создать целую игру от и до - и вот я вырос, и теперь сам такой. Да, до гениальности мне пока далеко, может быть. Но у меня есть интересные идеи, и с одной из них я планирую выйти в Steam.

Дизайнером я себя не считаю, поэтому в 3D не полез. Все ставки сделал на идею с акварельными шейдерами и водой.

Что это такое

«Osmo» - медитативная игра про каплю краски в акварельной луже. Завязка: ребёнок рисовал красками, макал кисточку в стакан и убежал, а сквозняк опрокинул воду с красками на стол. Игрок - кусок краски: плаваешь, глотаешь другие капли, растёшь.

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

Дольше всего я искал форму

Что игре нужна цель, я знал и так - просто не сразу нашёл способ её дать. Начиналось всё как чистая песочница: плаваешь, ешь, растёшь, красиво. И этого не хватило: цикл «плыви и ешь» исчерпывается минут за десять.

Первым решением было «набрал размер - партия закончилась». Стало только хуже: игра обрывалась ровно на числе частиц, где бы игрок ни находился. У партии не было конца, была отсечка.

А потом появились ворота. Теперь набранный размер не заканчивает игру, а разводит створки: на столе лежит устройство - диафрагма, клин, затвор, задвижка или люк - оно открывается, когда ты дорос, и дальше надо доплыть до него и завести себя в воронку. Концовку делает не число, а дорога и осознанное действие.

Вода тут не нарисована, а посчитана

Жидкость считается частицами целиком на видеокарте, компьют-шейдером. Потолок - 592 000 частиц. Слоя два, и они не смешиваются: вода лужи и краска, то есть герой и еда. Краска лежит НА луже, а не растворяется в ней. Замер на моей 4090: 0.41 миллисекунды на кадр.

Единственное, что нарисовала нейросеть - это предметы

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

Вещей почти три сотни, самой разной тематики - монеты, ключи, расчёски, крышки, кассеты, посуда, инструменты. Каждая снята «фотографически» сверху, вырезана по пурпурному хромакею, и ей посчитаны карта глубины и карта столкновений. По ним тело реально катится: с ребра крышки люка сползаешь, между зубцами расчёски застреваешь.

Лежит всё в натуральную величину: поле - лист A1, монета 24 мм, диск 120, лист стекла 300, и всё это соотносится честно. Отсюда то самое макро и, по-моему, какой-то oddly satisfying в разглядывании обычных вещей вплотную.

Звук: живой банк плюс настоящий синтез

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

Инструменты при этом живые - банк Versilian под CC0, настоящие записи: 7399 файлов, 134 инструмента, в сборку едет выборка на 2150. Принципиально одна студия и один тракт, иначе тембры не сходятся ни по тону, ни по уровню и партия рассыпается. Нота играется ближайшей записанной, дубли идут по кругу - иначе повтор опознаётся ухом как машина.

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

Третий слой - гранулярный синтез, он держит всё непрерывное: ход в воде, трение по сухому, шелест высыхания, впитывание. Живая запись режется на зёрна по 12-180 мс и пересобирается заново.

И да, это ритм-игра. Только наоборот

В обычной ритм-игре музыка играет, а ты попадаешь в её ритм. Здесь музыка мелодию не играет вовсе: она даёт ритм и аккорды, а мелодию своими действиями ведёшь ты. Съел каплю - прозвучала нота, и она всегда попадает в текущий аккорд. Ешь подряд - складывается мелодия, и ошибиться в принципе невозможно, фальшиво не выйдет.

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

И на максимум мир звучит именно тогда, когда ты его активно покоряешь - жмёшь на все кнопки и ешь капли. В спокойном режиме музыка звучит минимально и этим сама подталкивает тебя действовать.

Я хотел сделать добрую игру

Такую, которая не мучает игрока и не вызывает стресса. Стресса в нашем мире и без того хватает: игру, которая вас выбесит, вы найдёте без труда. А сможете ли найти ту, которая вас успокоит? (Postal 2 в режиме апокалипсиса не в счёт.)

Вот я и постарался сделать именно такую. Поэтому многого от неё не ждите: это то самое своеобразное задротское инди, которое поймут не все. Но я очень надеюсь, что своего игрока она найдёт.

Три недели и 413 коммитов

Разработка началась в начале августа - хотя сама идея давно сидела у меня в голове. Сегодня в проекте 413 коммитов и около 32 тысяч строк кода и шейдеров. Движок Godot, чистый GDScript, ни одного C# и ни одного нативного расширения: всё, что должно быть быстрым, вынесено на видеокарту.

И да, это пока не полноценная игра, а скорее демо и концепт. Работы ещё много: улучшить музыку, сделать поинтереснее уровни, добавить больше событий, да и физика иногда чудит. Но мне искренне нравится то, что получается.

Попробуйте сами

Я собрал три билда - для винды, macOS и линукса: планы у меня на Steam, поэтому стараюсь сразу делать кроссплатформу. Игра полностью бесплатная, я ничего лучше не придумал как сложить файлы в тг, подписываться туда не надо, тотлько скачать:

Версия для Windows

Версия для macOS

Версия для Linux

Поиграйте и расскажите, как она вам: чего бы добавили, какие есть идеи. Наверняка я не один такой аутист, которого успокаивает игра с физикой и музыкой.

А вот на мой личный телеграм канал подписаться можно, там я рассказываю про нейросети и другие свои преокты. Всех обнял!

Показать полностью 6
Отличная работа, все прочитано!

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества