keyclap

keyclap 

МОЛОДОСТЬ 0.2.3 - чисто для души

719subscribers

56posts

goals3
20 of 20 paid subscribers
Честно, я и не думал, что наберётся 10 подписчиков так быстро! Интересно, а 20 наберётся? :)
1 of 3

Отчёт #21 - Огромный прогресс🪩

Всем привет! С момента последнего отчёта многое успело произойти: я наконец-то уделил время личной жизни, сдал на права, нашёл девушку и, естественно, подготовил для вас очень много интересных изменений и улучшений к следующему релизу.
Панорама главная механика обновления
В прошлом обновлении система, отвечающая за отображение панорамных изображений, была сырой и очень примитивной. На слабых девайсах частота кадров падала и сильно нагревала телефоны, что не входило в мои планы...
На видеокарте операция копирования нагружалась на 13%, а иногда доходило до 30%, при учёте, что это ПК. А на телефонах в этих сценах FPS вообще падал до 10 и сильно грел корпус...
Проблема была в том, что фоновые панорамные изображения имеют огромные размеры, которые в несколько раз больше обычных (для 1080р это 5600x2800). Добавление эффектов, таких как свечение музыкальной колонки или мигание телевизора, заставляло видеокарту каждый кадр заново рендерить весь слой панорамы, что приводило к сильной нагрузке. И исправить это получилось очень интересным способом.
Было сделано два вида эффектов, которые по-разному накладываются поверх фона. Первый добавляет эффект, не прибегая к панорамному искажению. То есть картинка на экране идеально точно находит положение объекта и просто крепит себя к этому месту. Получается так, что вся анимация происходит отдельно от всего фона и видеокарте не нужно заново просчитывать весь огромный слой. Сейчас это используется в качестве свечения от ламп и солнечных бликов, что очень красиво анимируется при поворотах камеры.
Но это только минимум того, что необходимо было для оживления сцен, потому что это не позволяло добавлять анимации сложных форм. А вдруг понадобится добавить танцующих персонажей, как в OBD?
Для этого был написан отдельный шейдер, который искажает только один небольшой слой, но делая это так, будто картинка всё ещё вписана в фон. Таким образом анимированный слой будет обновляться так же отдельно от фона, но с правильным искажением и позиционированием. И это сработало просто идеально.
Нагрузка на видеокарту снизилась практически до нуля, а на телефонах FPS в этих сценах перестал падать!
Стало возможным добавление анимаций разных объектов, экранов телевизоров, освещения. И более того, были добавлены модификаторы анимаций. Например, модификатор шума, который анимирует свечение для мигающих ламп накаливания; или модификатор дистанции, который усиливает свечение при наведении камеры и снижает общую яркость, что очень похоже на эффект авто-экспозиции в 3D играх.
Ну и ещё несколько других эффектов, влияющих на ощущение от сцены: хроматическая аберрация, затемнение по краям, усиление яркости светлых объектов и размытие в движении, которое включается при опьянении главного героя.
Всё это сильно улучшило графику и сделало локации более живыми.
Помимо этого, был переписан код, отвечающий за аудио-фильтры во всём проекте, что позволило использовать их и в панораме. Теперь один и тот же файл звука дождя или пения птиц звучит по-разному в помещении и на улице, а тиканье часов в офисе отдаётся небольшим эхом, что офигеть как сказывается на ощущении.
kPanorama делаем сложное простым
Для работы с панорамными изображениями я искал программу, которая позволила бы просто обрезать картинки и получать координаты. И только Photoshop кое-как был способен на это. Однако, один только его файл проекта мог занимать до 600мб, а вся работа в программе происходила вручную и сильно была усложнена всякими ограничениями.
В какой-то момент стало понятно, что продолжать рвать очко себе дороже, и можно просто сделать что-то своё.
Благодаря ChatGPT за пару бессонных дней было сделано всё, что нужно было, и даже больше. kPanorama умеет автоматически обрезать картинки, создавать маску, сохранять координаты в метадаты, которые игра теперь сама считывает. И самое крутое то, что свечения для эффектов, которые я рисовал в Photoshop вручную, здесь рисуются намного проще и быстрее.
Как видно, программа позволяет делать очень детализированные эффекты и максимально упрощает работу над открытым миром, а сами файлы проектов теперь весят в 8 раз меньше, что спасает от покупки лишних жёстких дисков.
kConverter делаем сложное ещё более простым
Так как для конвертации рендеров под разные версии игры и билды использовались отдельные .bat файлы, со временем становилось всё труднее и труднее контролировать этот процесс. В будущем это бы привело к огромным проблемам, из-за которых некоторые картинки отсутствовали бы или были смещены…
Для исправления этого была выделена одна неделя, за которую была написана простая, но очень полезную программка, которая теперь отвечает за билд абсолютно всего контента игры (изображения, анимации, панорама, панорамные анимации и аудио).
Но что самое крутое - это дополнительная оптимизация эффектов. То есть некоторые световые эффекты из kPanorama автоматически конвертируются в пониженном разрешении, чтобы избежать лишнего потребления памяти ваших видеокарт.
И для каждого билда это всё адаптируется, еее.
Радиальное меню как и должно было быть
Вместо скучного списка с кнопками выборов было добавлено новое радиальное меню, которое лучше вписывается в механику открытого мира.
И это оказалось очень удобным из-за того, что кнопку назад теперь заменяет нажатие на фон или ПКМ.
Анимации критическое нововведение
Обычные повторяющиеся анимации - это прошлый век, особенно когда они имеют одну и ту же скорость и звуки. Поэтому, чтобы привнести что-то новое, я нашёл способ изменять скорость анимаций через код. В самом движке этой функции нет, поэтому был написан кастомный канал.
Теперь у вас будет возможность контролировать скорость анимаций и их вариативность. Разные звуки (шлепки, хлюпанья, голоса) из библиотеки будут проигрываться в нужные моменты случайно, а их громкость будет зависеть от скорости.
Fresco небольшие улучшения для анимаций
Над сердцем проекта тоже была проделана небольшая работа, так как анимации делать это вам не хухры-мухры. Особенно если они повторяющаяся и имеют симуляцию.
Так же добавлены волосы на руках, спине, подмышках и впервые была использована симуляция жидкости и физика тела. Некоторая работа была проделана и над шейдерами кожи, так как при анимации были сдвиги микродетализации. Звучит странно, но просто знайте, что теперь поры не двигаются по телу как тараканы.
Изображения чёткость и качество
Так как система, отвечающая за открытый мир, стала лучше кешировать изображения, было решено полностью перейти с формата изображений JPEG на WebP, что очень-очень сильно повлияло на качество и размеры картинок.
В местах, где раньше текст был в шакальном качестве, сейчас он выглядит максимально естественно, а размер файлов при этом стал даже немного меньше.
На телефонах было уменьшено разрешение картинок в 0.75 раз, что практически не изменило их детализацию, но позволило использовать более большие файлы для сохранения качества. А вот панорамные изображения на телефонах наоборот увеличены в 1.25, ибо они были ну слишком мыльные…
Ну и к слову, kConverter теперь дополнительно применяет фильтр резкости, чтобы сохранить чёткость.
Аудио оптимизация памяти
В билдах под телефоны теперь используется аудио с 64kbps битрейтом, вместо 192kbps. Так размер всех аудиофайлов был уменьшен в 3 раза, что критически важно, особенно когда игроки на телефонах играют без звука ;(
Поддержка ИИ моделей звучит страшно
Да-да, вы не ошиблись. Игра теперь поддерживает подключение облачных и локальных ИИ моделей. Хеее, я специально это сюда спрятал, чтобы только интересующиеся увидели это, ведь это реально что-то очень крутое. Но на кой хер оно нужно?
В игре реализован очень продвинутый мессенджер, однако в нём нельзя писать свой текст, что очень тупо…
Так вот, теперь можно. После подключения модели в мессенджере появляется поле для ввода, где вы сможете общаться с персонажами. Но это не просто тупое общение с чатом, персонажи осведомлены о себе, своём прошлом, своём профиле (друзьях, подписчиках, подписках, постах, лайках, комментариях) и могут видеть профили своих друзей, включая ваш. Понимают, какой сейчас день недели, какое время и какая погода.
По мере прохождения игры у персонажей появляются мнения, которые видны в панели отношений. Они влияют на то, как модель общается с вами. На стиль общения влияют параметры персонажа (доброта, популярность, образованность, уверенность, либидо). У каждого есть свои любимые эмодзи, своя структура сообщений и манера речи. В игре так же есть контекстные точки, то есть персонажи знают о том, какие события происходили и как давно они были.
Полная инструкция по настройке есть в игре.
Для совместимости и эстетичности был полностью изменён код, отвечающий за эмодзи. В Ren’Py уже есть возможность отображения текстовых эмодзи, но они выглядят не так стильно, как хотелось бы. Поэтому вручную была собрана библиотека в хорошем качестве, а при подключении ИИ модели рядом с полем ввода текста появляется кнопка, которая открывает список доступных эмодзи.
keyclap connect взамен засраного главного меню
Отдельное окно для просмотра новостей, доступных дополнений, входа в аккаунт, просмотра статуса разработки и достижений (для будущего выхода в Steam).
Spark Build iOS билд
В прошлых отчётах я уже говорил про поддержку iOS платформ, и да, игру можно было запускать через эмулятор Spark, но не было собственного билда. В следующем релизе уже будет отдельный билд, который будет полностью протестирован на айфонах.
Пришлось повозиться с поддержкой старых версий Ren’Py и исправлением его кода прямо через игру, потому что эмулятор имеет только старые версии движка.
К слову, на моём дряхлом iPhone 13 всё работает гладко.
Первое пополнение в команде! Сайт и стикеры
Мне очень повезло, что моя девушка самый настоящий Web Designer и умеет делать сайты. И это у неё очень круто получается. Дизайн она сама придумала, я лишь покупал ей энергетики ;)
А ещё она нарисовала несколько стикеров для BonBond:
Невидимые улучшения и исправления
Код игровых переменных улучшен, исправлены пердящие басы при применении аудио-фильтров, интерфейс оптимизирован, исправлено отображение текста в некоторых местах, исправлены обрывающиеся рамки в меню, оптимизировано отображение телефона и элементов игрового интерфейса в открытом мире, исправлен критический баг, который на некоторых девайсах не давал отобразить ни одну картинку, сильно повышена плавность всей игры.
Таким вот образом обновление 0.2.3 станет огромнейшим шагом вперёд в разработке самого лучшего открытого мира для визуальной новеллы. Теперь, когда есть такая база, можно строить остальные локации, делать их максимально живыми, добавлять ивенты, мини-активности и заполнять мир контентом.
Спасибо большое за то, что поддерживаете разработку! 🖤
С вами мы уже достигли того, чего нет в 99% других игр, и на данном этапе догнать этот проект другим разработчикам практически нереально :D
А следующий релиз запланирован на 7 октября.
Крутой
А че за деваха в зеленных носках?
Кто ты, воин?
Братец, главное - не перегореть на этапе технички. Уж очень много проектов схлопывалось, так и не реализовав хоть какую-то историю, увязнув в коде и тесте билдов.
Я очень надеюсь, что данный проект дойдет до финала и мы увидим полноценную крутую историю! Со своей стороны обещаю финансовую поддержку в виде ежемесячной подписки здесь, на Бусти.
Скажу без толики негатива, только позитив, ты чё конченый? face_screaming законно быть настолько офигенным и продуктивным? beaming_face
Ладно, если без шуток. Все звучит и выглядит хорошо. Ты и вы, большие молодцы.
А нам остаётся ждать новых версий и таить надежду релиз moonsun
Здравствуйте! Я слежу за проектом ещё с "Our Bright Days" и хотел бы поделится предложением.
Мне очень нравилась анимация при входе в игру и сопровождавший её саундтрек, которые были до реворка и смены названия на новое "MOLODOST". Сейчас, после обновления и добавления новых механик, их очень не хватает.
Было бы отлично вернуть эту анимацию вместе с музыкой (или добавить возможность выбрать её настройках, чтобы каждого был выбор). На мой взгляд, они создавали невероятную атмосферу при запуске.
Спасибо за вашу проделанную работу и за то, что не забрасываете игру!
Subscription levels6

Помощь 🍩

$0.65 per month
Для тех, кто хочет быть в курсе событий.
 
• Моя благодарность ♥
• Доступ к закрытым новостям и отчётам
 
Роль в Discord · Помощь
+ chat

Суперпомощь 🥯

$1.3 per month
Для тех, кто просто хочет поддержать меня.
 
• Моя огромная благодарность ♥
• Те же привилегии, что из предыдущей подписки

Роль в Discord · Суперпомощь
+ chat

Базовый минимум 🧡

$2.59 per month
Для тех, кому не терпится поиграть.
 
• Доступ к закрытым новостям и отчётам
• Ранний доступ к обновлениям игры
 
Роль в Discord · Базовый минимум
+ chat

Главный фанат 💛

$5.2 per month
Для тех, кому нужен весь контент, который есть.
 
• Доступ к закрытым новостям и отчётам
• Ранний доступ к обновлениям игры
• Посты с рендерами и обоями
• Внутриигровая галерея
• Дополнения (DLC 4K)
 
Роль в Discord · Главный фанат
+ chat

Взломщик 💜

$10.4 per month
Для тех, кому нужен полный контроль над всем.
 
• Доступ к закрытым новостям и отчётам
• Ранний доступ к обновлениям игры
• Посты с рендерами и обоями
• Внутриигровая галерея
• Дополнения (DLC 4K)
• Читы, анлокер и помощник прохождения
 
Роль в Discord · Взломщик
+ chat

Инвестор 🪙

$20.8 per month
Если просто хотите очень сильно поддержать :>
 
• Все доступные плюшки!
 
Роль в Discord · Инвестор
+ chat
Go up