TGViewer
Channel Public Channel
Racing Heart inc.

Racing Heart inc.

@racingheartdev

Racing Heart - DevLog о разработке инди-игр, где главное - дрифт, скорость и чистое удовольствие от вождения.
Без рекламной шелухи: только рабочий процесс, тесты, провалы, обновления и капля бензиновой романтики.
Subscribers
31
Photos
54
Videos
12
Links
22

Showing posts older than #53 · Back to latest

Older Posts 14 shown
Post #51 700
🔥 Анонс фичи кастомизации машин! 🔥

Пока я на выходных, не так просто перестать думать о работе. Скоро в игре появится кастомизация машин

Стартовая версия будет простая:
-выбор цвета кузова
-цвет дисков

Хочу сделать так, чтобы твоя тачка реально становилась своей, а не просто выглядела как все.

А пока скажи, что добавить первым?

Внизу будет опрос какие цвета хотелось бы увидеть на этой тачке:

Будем делать это вместе 🚀

RacingHeartDev

#RacingHeartDev #Game
  • 👍 4
  • ❤ 1
Post #50 129
С Новым годом Господа! Все будет хорошо 🎊🥳
  • ❤‍🔥 4
  • ❤ 1
Post #48 855
Обновил сборку на Яндексе - версия 0.4.3 🚗✨

В этом обновлении:

переделал все трассы
оптимизировал игру
исправил ошибки
ввёл ряд мелких, но приятных улучшений

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

Поздравляю всех с наступающим Новым годом!🎄
Отдельное спасибо за отзывы, советы и замечания - они помогают делать игру лучше и двигаться в нужном направлении.

После праздников вернусь к проекту с новыми силами и продолжу обновлять игру - дальше будет еще веселее, но об этом как всегда позже 😉🚀

RacingHeartDev

#Game
  • 🎉 4
  • 🔥 1
Post #47 127
Подведу итог по работе со сценами.

Для начала нужно убрать всё, что не требуется.
Поскольку проект собирается под WebGL, каждый лишний объект в сцене превращается в прямую потерю ресурсов. Браузер и без того ограничен, поэтому первый шаг - очистить сцену от всего, что не участвует в игровом процессе.

Когда сцена стала минимальной, я двинулся по пунктам, которые дают наибольший выигрыш

Mesh Combine
Мелкие меши объединил в один большой. Количество draw calls упало сразу, и батчинг заработал заметно лучше. Для эффективной работы я придерживался правила: 1 материал - 1 сабмешь = 1 батч.

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

LOD’ы
Для объектов, которые находятся вдали от камеры, добавил радиус видимости. Рядом видна полная геометрия, вдали - нечего - экономия полигонов ощутима.

Occlusion Culling
Теперь объект не рисуется, если за стеной или за поворотом трассы. На извилистых участках трассы прирост производительности оказался наиболее заметным.

Статика
Часть окружения пометил как статическую которую не попала под комбайн. Движок заранее просчитывает для неё оптимизированные данные, и GPU тратит меньше времени на каждый кадр.

Тени
В заключении отключил все тени. В будущем либо сделаю их упрощенными либо разделю на разный пайплайн графики.

Полученный результат не претендует на идеал, но для WebGL-версии на текущем этапе - вполне достаточный запас производительности. Можно переходить к следующим задачам, не боясь вылезти за лимиты браузера 🚀

#game #optimization
  • ❤ 3
  • 🔥 1
Post #43 799
Завершил оптимизацию сцен

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

По итогу:
батчи: ~2000 -до 90 (примерно x22)
FPS: ~200 до 400 в среднем

Для текущей стадии хватит, чтобы идти дальше и не застрять в бесконечной доработке сцен.

Завтра выложу пост и расскажу, какими способами удалось в разы уменьшить число батчей, как и обещал.
До 31 числа внесу все изменения в билд и поедем дальше по плану

Кратко: ядро стало стабильным и плавным, дальше будет интереснее.

RacingHeartDev
  • 🔥 5
Post #41 257
Поймал забавный баг

Во время тестов заметил: при ударе машина вдруг отлетает. Скорее отскакивает, подпрыгивает и кувыркается, будто вспомнила аркадные гонки детства

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

Пока чиню и привожу к нормальному виду, но вопрос остаётся: всё-таки баг… или фича? 😏

RacingHeartDev

#Game
  • 😁 4
Post #38 250
Завершил первый круг оптимизации ⚙️. Сейчас главной задачей было убрать гору батчей - именно они глушили производительность.

Удалось сжать пик с 3000 до 120 батчей (17 остались у канваса, я его пока не трогал) - в 21 раз меньше 🚀. FPS поднялся с 190 до 320, почти вдвое.

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

Если хочется узнать, как получилось такое ускорение, ставьте палец вверх 👍. В следующих заметках разберу детали и покажу конкретные приёмы.

#gamedev #unity #drift #arcade #game #optimization
  • 👍 7
Post #37 85
Хочу немного поделиться планами 🎯 До Нового года осталось совсем немного, поэтому впереди короткий, но очень плотный отрезок работы. Нужно успеть подтянуть игру и улучшить её по всем важным направлениям.

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

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

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

Времени не так много, но выложусь по максимуму, чтобы всё успеть в срок 💪 P.S. Кстати, по оптимизации уже есть первые успехи - расскажу об этом чуть позже 😉
  • 🔥 5
Post #35 239
Время обновления 🚀

За это время я внимательно изучил игру и внёс большой пакет правок

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

Буду очень благодарен за любую обратную связь 🙏
Она действительно помогает двигаться в нужном направлении.

Ссылка на игру: https://yandex.ru/games/app/471288?draft=true&lang=ru

Дальше планирую подготовить сборку для itch.io и отдельно рассказать, что ожидать в будущем и куда всё это движется. Работа продолжается 💪

#gamedev #unity #drift #arcade #game
  • 🔥 7
Post #33 70
Racing Heart inc. Сегодня немного занялся визуалом и наконец довёл одну из зон до ума. На первом скрине - обновлённая версия. Я добавил песок, барьеры, чуть подчистил окружение и сделал всё живее. Песок тут не просто декор, а часть геймплея: по нему машина идёт тяжелее, дрифт…
Продолжаю финальную причёску перед обновлением
На этот раз добрался до песка.

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

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

Вот такие неуклюжие рабочие в порту
Дальше смотрим, как изменения отразятся на ощущениях от гонки.
  • 👍 5
Post #32 69
Совершенство не предел.. Скоро завезу обновки 😏
  • 🔥 5
Post #31 79
Продолжу рассказ о том, как игра решает, что ты действительно начал дрифт, а не просто повернул руль чуть сильнее обычного 🏎💨

На словах кажется просто, но машине нужно точно знать: ты поворачиваешь, скользишь или просто дернулся по траектории. Для этого система одновременно проверяет несколько ключевых параметров.

1. Угол между направлением машины и направлением движения
Это первое и главное. Система сравнивает, куда смотрит кузов и куда фактически едет машина. Угол маленький - обычный поворот, дальше ничего не считаем. Угол превышает минимальный порог - переходим к следующей проверке. Так защищаемся от ложных срабатываний, когда игрок слегка подруливает.

2. Скорость движения
Даже при хорошем угле дрифт на слишком низкой скорости не засчитывается. Ехать боком на 10 км/ч выглядит эффектно в Slow-mо, но для игровой логики это не дрифт. Скорость ниже порога - система игнорирует попытку.

3. Наличие бокового скольжения
Машина должна реально скользить. Если задняя ось держит сцепление, дрифта нет, даже если угол вроде бы есть. Система сверяет вектор движения и видит, уходит ли машина боком.

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

Когда все условия выполнены, игра сообщает
«Да, чувак, это дрифт - считаем!»

Это делает процесс честным и предсказуемым. Игрок знает: машина стоит боком и ты её держишь - очки идут.
  • 👍 3
  • 🔥 2
Post #30 63
Сегодня хочу рассказать про то, как работает система подсчета очков. На первый взгляд кажется, что всё просто: даем угла - цифры растут. Но под капотом там целая мини-логика, которая решает, когда тебе дать очки, сколько и за что именно 🧠🔥

У меня система опирается на три ключевых параметра:

💨 Скорость
Чем быстрее едешь, тем выше базовое значение. Медленный дрифт выглядит красиво, но игровой ценности даёт меньше.

↩️ Угол заноса
Это главный показатель дрифта. Чем сильнее машина стоит боком, тем выше коэффициент. Но если угол слишком большой - счётчик перестает считать, потому что это уже не дрифт, а почти разворот.

🔁 Множитель дрифта
Это штука, которая делает длинные и стабильные заносы особенно приятными.
Он растёт, пока ты держишь дрифт, и увеличивает итоговые очки.

Работает так:
— дрифтуешь устойчиво - множитель плавно растет 📈
— отпустил газ, выровнял машину или потерял угол - включается кулдаун
— если за кулдаун не вернулся в дрифт - множитель начинает падать
— врезался - сбросился в ноль

Зачем это нужно?
Чтобы наградить именно качественный и долгий дрифт, а не случайные дергания машиной. Система следит за твоей стабильностью, скоростью и контролем - и выдаёт очки честно по результату.

Если сильно упростить формулу, она выглядит примерно так:
Очки = скорость × угол × множитель

Но вся магия - в том, как эти параметры растут, сбрасываются и взаимодействуют друг с другом. Это создаёт тот самый приятный момент, когда удачный длинный дрифт множителем ×4 превращает обычный поворот в маленький праздник 🙌

В следующим посту расскажу как система понимает что дрифт начался.
  • 👍 4
  • ❤ 1
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →