Kozlov Dev - Разработка игр
4.12K subscribers
660 photos
176 videos
3 files
274 links
Канал о разработке игр.
Download Telegram
Сервис друзей в Cloud
Соревновательные сервисы — лидерборды, турниры, челленджи, работают и сами по себе. Но вместе с друзьями они раскрываются куда сильнее: соревноваться интереснее со знакомыми, а не с безымянным топом на миллион человек. Сервис Friends — это социальный слой поверх остального. Игроки легко заводят друзей прямо в игре, видят, кто сейчас онлайн, меряются результатами и зовут друг друга играть вместе. А чем больше у человека знакомых в игре, тем сложнее из неё уйти.

Как это работает
Всё начинается с заявки. Игрок отправляет другому запрос в друзья — у того он появляется во входящих, у отправителя в исходящих. Дальше два варианта:
✔️ Приняли — игроки становятся друзьями. Дружба всегда взаимная: оба видят друг друга в списке, и удаление работает в обе стороны. Не бывает так, что он у тебя в друзьях, а ты у него нет.
Отклонили — заявка закрывается, в список никто не попадает.

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

Откуда добавлять в друзья
Друзей не нужно искать в отдельной строке — их добавляют прямо там, где встретили. Сервису достаточно id игрока, поэтому кнопку «Добавить в друзья» можно повесить в любом месте, где игрок видит других:
✔️ в лидербордах, турнирах и челленджах — приметил сильного соперника в таблице
✔️ в чате — познакомился в общем канале
✔️ при поиске игроков через параметры фильтрации в сохранении

Игра сама решает, где показать кнопку, — сервису друзей всё равно, с какого экрана пришёл id.

Список друзей
Можно легко получить текущий список друзей. К каждому другу подтягивается его профиль:
✔️ ник и иконка — как игрок выглядит в игре
✔️ когда он последний раз был в игре
✔️ статус — в сети сейчас или нет

Блокировка
Если кто то не приятен игроку, то игрок может его заблокировать. Блокировка односторонняя и тихая — уведомления не приходят. Пока стоит блок, подружиться нельзя: заявка ни к чему не приведёт.

Рейтинг среди друзей
Список друзей подключается к другим сервисам Cloud. Лидерборд или турнир можно показать не целиком, а только среди друзей. Обогнать друга хочется сильнее, чем незнакомого игрока.

Пример
Игрок встречает сильного соперника в матче и после боя отправляет ему заявку в друзья. Вечером тот заходит, видит 1 новая заявка, принимает — теперь они друзья. На следующий день игрок открывает список, видит, что друг онлайн, и зовёт его в совместный матч.

💬 Если есть вопросы по функционалу — пишите в комментарии, буду рад ответить.

А также подписывайся на нашего тг бота — там будут приходить новости по продуктам хаба 😎

‼️ Сервис еще в разработке и скоро выйдет в бета тест

#cloud #game_backend
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍73🔥2
😍 Мультивселеная или новая система лобби в Blockworld!

В прошлой реализации мультиплеера, каждый инстанс приложения (сервера) юнити мог запускать только 1 вселенную (игровой сервер) и для запуска нового игрового сервера приходилось запускать другое приложение. Минус такого подхода в распределении ресурсов сервера, их нужно больше, так как копируется всегда общая база, которая не меняется (конфиги мобов, блоков, предметов и т.д) плюс сам движок Unity - физика, сеть и т.д.

В новой системе лобби, у нас на 1 приложении юнити, может запускаться сразу несколько вселеных (аля мультивселеная), это дает несколько преимуществ.
✔️ Экономия ресурсов, так как общая часть делится между вселенными.
✔️ Такой подход позволяет реализовать запуск серверов игроками, когда игрок может запустить отдельное лобби и играть вместе с друзьями.

😭Но при этом появляется и минус, если поляжет само приложение сервера, то и все лобби в нем отвалятся, потеря не особо критичная, так как само приложение перезапускается и лобби восстановятся.

🚀 На текущий момент развернуто 2 сервера в разных регионах. На каждом сервере развернуто по 1 приложению с 3 разными режимами игры. В сумме 6 игровых серверов, за пару кликов.

✔️ Так же были доделаны карточки превью для режимов игры, выглядят хорошо и передают суть режима

#blockworld #devlog
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥64🤯3
😎 Стартуем эвент SCREENSHOT SATURDAY!

❗️ Переходите в наш Game Dev чатик 🔜 ссылка, делитесь своими скриншотами, рисунками, прикрепляйте ссылки на каналы и показывайте прогресс в геймдеве за неделю

P.S Эвент длится оба выходных

#скриншотник
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰74🔥2👏2🎉1
Городские участки — новый режим в Blockworld!
Добавили новый режим, в нем у каждого игрока появляется свой участок земли, на котором он может стоить что угодно, на чужих участках строить нельзя.

Отличительной особенностью нашего режима является в том что между участками создается городская дорога, ее может редактировать любой игрок, это расширяет геймплей и дает возможности:
✔️ Оставить дорогу, но построить на ней автомобили
✔️Убрать дорогу и сделать связь между 2 участками

За счет этого и появляется ощущение города из различных строений игроков, связанных между собой дорогой.

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

Итоговые режимы игры
На релиз мы останавливаемся на 4 режимах игры.
1 — выживание
2 — креатив
3 — мирный
4 — городские участки

Этого более чем хватит, в будущем режимы будут расширяться, уже есть много идей что можно будет добавить, для разнообразия геймплея.

Технические доработки
Для данного режима была добавлена система прав на зоны. Эта система позволяет делить мир на зоны (4 на 4, 5 на 6 и т.д) и выставлять им права, кто владеет каждой зоной. Права гибкие, хоной может владеть сервер, игроки (игрок владелец и его друзья), а так же все игроки что есть в мире. Это позволяет гибко использовать систему, как в игровых режимах, так и для создания лобби на сервере, чтобы игроки не могли его ломать.

#blockworld #devlog
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍74🔥4
😎 Стартуем эвент SCREENSHOT SATURDAY!

❗️ Переходите в наш Game Dev чатик 🔜 ссылка, делитесь своими скриншотами, рисунками, прикрепляйте ссылки на каналы и показывайте прогресс в геймдеве за неделю

P.S Эвент длится оба выходных

#скриншотник
Please open Telegram to view this post
VIEW IN TELEGRAM
6🔥6🥰5
👍 Ребята попросили осветить мероприятие
КРИ 2026 пройдет в Московском кластере видеоигр и анимации

🔥 Крупнейшее профессиональное событие в российской игровой индустрии вернулось. ИГРОПРОМ проведет Конференцию разработчиков игр (КРИ) в Сколково на площадке Московского кластера видеоигр и анимации.

Когда? 26 июня 2026 года

🗺 Где? Сколково, Большой бульвар, 40

Узнать больше о КРИ и стать частью события можно на сайте: https://kri.dev/

Вход бесплатный по регистрации!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥31👍1👌1
Media is too big
VIEW IN TELEGRAM
Девлог по Blockworld!
На этой недели реализовали большой функционал по модерации сервера и удобной настройкой лобби через чат команды.

Игрок
Для каждого аккаунта игрока добавилось новое поле username, это поле уникальное для каждого игрока, оно служит для удобного обращения в чат командах при модерации (кик, мут и т.д).

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

Сам функционал разбит на 2 слоя:
✔️ Глобальные роли — настраиваются через админку, за счет них можно дать аккаунту нужные права, например сделать админом, тестировщиком, модератором на всю игру.
✔️ Лобби роли — роль выдается на скоуп лобби, например что бы в каком то конкретном режиме выдавать роль администратора, модератора и т.д. Так же эти роли зависят от глобальных ролей, если у аккаунта есть роль админа, то и в самом лобби будет такая роль. Админы могут выдавать роли через команды чата для других игроков

Чат команды
Общая система позволяющая регистрировать различные команды и выполнение любой логике при их вызове. Команды начинаются с знака / . На данный момент список команд следующий:

Режим
/fly [on|off] — Включить/выключить полёт
/instabreak [on|off] — Мгновенная ломка блоков
/unlimited [on|off] — Бесконечный инвентарь
/falldamage [on|off] — Урон от падения

Игрок
/heal [username] — Восстановить здоровье (себе или игроку)
/kill [username] — Убить себя/игрока
/clear [username] — Очистить инвентарь
/give <item> [count] [username] — Выдать предмет

Телепорт
/spawn — Телепорт на точку спавна
/tp <x> <y> <z> | <username> — Телепорт к координатам или к игроку

Мир
/summon <mob> [count] — Заспавнить моба
/setblock <x> <y> <z> <block> — Поставить блок
/time <day|night|tick> — Установить время суток
/weather <clear|rain|snow> — Установить погоду

Администрирование / модерация
/role <username> <member|moderator|admin> — Назначить роль игроку
/kick <username> — Кикнуть игрока
/mute <username> — Замьютить в чате
/unmute <username> — Размьютить

каждая команда может иметь различные параметры для активации, например передача координат, id блоков, id предметов и т.д.

#blockworld #devlog
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14👍2
😎 Стартуем эвент SCREENSHOT SATURDAY!

❗️ Переходите в наш Game Dev чатик 🔜 ссылка, делитесь своими скриншотами, рисунками, прикрепляйте ссылки на каналы и показывайте прогресс в геймдеве за неделю

P.S Эвент длится оба выходных

#скриншотник
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍31
Геймджем
Ребята проводят юбилейный геймджем, с хорошими денежными призами 🤑.
👍 Кто любит участвовать в джемах или хочет испытать подобный опыт, крутая возможность поучаствовать.
Please open Telegram to view this post
VIEW IN TELEGRAM
MyIndie Level 10 — юбилейный геймджем открыт!

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

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

📅 Даты:
Регистрация: до 26 июня, 18:00
Разработка: 26 июня, 18:00 — 4 июля, 18:00
Оценка сообществом: 4 — 10 июля
Судейство: 10 — 19 июля
Награждение: 19 — 26 июля

🎁 Призы

🥇 1 место — 10 000 рублей + статуэтка Нердозавра
🥈 2 место — 7 000 рублей + статуэтка Нердозавра
🥉 3 место — 5 000 рублей + статуэтка Нердозавра

🏆 Лучший девблог — 5 000 рублей
🏆 Лучший геймплей — 4 000 рублей
🏆 Лучший внешний вид — 4 000 рублей
🏆 Лучший нарратив — 4 000 рублей
🏆 Лучший звук — 4 000 рублей
🏆 Лучший постер для джема — 3 000 рублей KISELEV P. Уже можно поздравить!
🌟 Выбор зрителей — статуэтки Нердозавра

Каждый участник получит уникальный сертификат, а победители — особый тег в сообществе и дополнительные права на мероприятиях MyIndie. Да, включая влияние на темы будущих джемов.

Что будет на джеме:
— 7 дней разработки
— оценка от сообщества
— оценка от других разработчиков
— судейство от экспертов
— номинации
— девблоги
— Нердозавр уже всё видел и хочет к вам на полку отдыхать

Тема будет объявлена на старте разработки.

Участвовать можно одному или командой. Можно быть новичком. Можно быть опытным. Можно прийти с идеей, без идеи, с другом, без друга, но с тревожным желанием сделать игру за неделю.

Главное — сделать игру и показать её людям.

👉 Участвовать:
https://myindie.ru/jams/jam/myindie-level-10

Даем шанс каждой игре быть сыгранной.
1👍3
🎨 Новая декларативная система интерфейса в Blockworld!
Полностью переписали UI в игре. Старый интерфейс в Blockworld жил на «классическом» Unity UI (uGUI). Каждый экран — отдельный префаб, всё расставлено руками. Долго, неудобно, а переход на новый дизайн растягивается на немалый срок.

😭 Отдельная боль — адаптив. Из коробки Unity почти не умеет подстраиваться под разные экраны: якоря и стандартные лайауты не вывозят, и под нормальную вёрстку всё равно приходится писать кучу своих компонентов.

Можно было взять UI Toolkit от Unity, но для рантайма он нормально заработал только в Unity 6 — а мы сидим на 2022-й версии движка. Там он ещё сырой. Поэтому сделали свой движок интерфейса 😏.

Новый подход
В новой системе интерфейс описывается текстом (JSON), а не собирается в редакторе. Вёрстка, логика и внешний вид разнесены по разным местам. Это позволяет быстро собирать интерфейс и стилизовать его, описывая правила как в том же css.

Что уже умеет движок:
✔️ Свой layout-движок — flex/grid как в вебе, адаптив из коробки
✔️ MVVM и реактивные привязки — пишешь "Text": "@PlayerName" в JSON, и текст сам обновляется при смене значения. Двусторонние привязки для слайдеров и тумблеров — из коробки.
✔️ Темы — все цвета, пресеты описываются в одном месте, при желании можно сделать разные темы для ui
✔️ Анимации — система твинов, задаются прямо в JSON, без кода
✔️ Виджеты — заготовки элементов интерфейса: слайдеры, тумблеры, прогресс-бары, счетчик валют и т.д. Описал один раз и испольуещь где угодно
✔️ Safe-area — встроенная поддержка безопасной зоны, ui всегда располагается в ней, не будет проблем с вырезами и чёлкой на телефонах и планшетах
🔥 Hot-reload — правим вёрстку прямо во время игры, экран пересобирается на лету.
✔️ Редактор инструменты — превью в редакторе, без захода в Play Mode. Итерации с нейронкой стали в разы быстрее, она сама может быстро смотреть результат и делать скриншоты для анализа.

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

🧩 База под моддинг
Blockworld идёт к кастомным режимам и пользовательским мини-играм. Новая система открываем крутые возможности для этого. Игроки и мы разработчики в частности, сможем делать интерфейс прям в игре (в режиме создания кастомного лобби). Все сохраняется в json и легко хранится в базе данных и передается по сети.

📌 Прикрепил видосы с демонстрацией адаптива, плюс в коменты выложил пример как это выглядит в json.

#blockworld #devlog #gamedev
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16👍5🤯4
😎 Стартуем эвент SCREENSHOT SATURDAY!

❗️ Переходите в наш Game Dev чатик 🔜 ссылка, делитесь своими скриншотами, рисунками, прикрепляйте ссылки на каналы и показывайте прогресс в геймдеве за неделю

P.S Эвент длится оба выходных

#скриншотник
Please open Telegram to view this post
VIEW IN TELEGRAM
3
Кайфую от новой ui системы
Продолжаем работу по переносу проекта на нашу новую самописную ui систему, про нее я рассказывал в прошлом посте.

Движок
С того момемнта было проделано много работы по ее улучшению, одним из главных моментов был переход описания конфигов с json, на кастомный uixml (чем то похожим на html формат). Переход был связан с тем что json формат было уже сложно читать, так как элементов на экранах много, новая структура стала более компактной и читаеется лучше.

✔️ Было добавлено много новых возможностей, например автоматическое скрытие скролл бара, стили для прозрачности цвета и отдельно для целой группы элементов (для плавного появления и исчезания).

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

🤯 Списочек уже внушительный, остается еще большая часть в самом геймплее, собтсвенно чем мы и займемся на этой недели.

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

P.S прикрепил еще в коменты для сравнения как выглядила старая json описание ui и как выглядит новая.

#blockworld #devlog #gamedev
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍2🥰2