Сервис друзей в Cloud
Соревновательные сервисы — лидерборды, турниры, челленджи, работают и сами по себе. Но вместе с друзьями они раскрываются куда сильнее: соревноваться интереснее со знакомыми, а не с безымянным топом на миллион человек. Сервис Friends — это социальный слой поверх остального. Игроки легко заводят друзей прямо в игре, видят, кто сейчас онлайн, меряются результатами и зовут друг друга играть вместе. А чем больше у человека знакомых в игре, тем сложнее из неё уйти.
Как это работает
Всё начинается с заявки. Игрок отправляет другому запрос в друзья — у того он появляется во входящих, у отправителя в исходящих. Дальше два варианта:
✔️ Приняли — игроки становятся друзьями. Дружба всегда взаимная: оба видят друг друга в списке, и удаление работает в обе стороны. Не бывает так, что он у тебя в друзьях, а ты у него нет.
❌ Отклонили — заявка закрывается, в список никто не попадает.
Заявку можно отозвать, пока на неё не ответили. А если на заявку не ответили месяц — она пропадает сама, чтобы входящие не копились старьём.
Откуда добавлять в друзья
Друзей не нужно искать в отдельной строке — их добавляют прямо там, где встретили. Сервису достаточно id игрока, поэтому кнопку «Добавить в друзья» можно повесить в любом месте, где игрок видит других:
✔️ в лидербордах, турнирах и челленджах — приметил сильного соперника в таблице
✔️ в чате — познакомился в общем канале
✔️ при поиске игроков через параметры фильтрации в сохранении
Игра сама решает, где показать кнопку, — сервису друзей всё равно, с какого экрана пришёл id.
Список друзей
Можно легко получить текущий список друзей. К каждому другу подтягивается его профиль:
✔️ ник и иконка — как игрок выглядит в игре
✔️ когда он последний раз был в игре
✔️ статус — в сети сейчас или нет
Блокировка
Если кто то не приятен игроку, то игрок может его заблокировать. Блокировка односторонняя и тихая — уведомления не приходят. Пока стоит блок, подружиться нельзя: заявка ни к чему не приведёт.
Рейтинг среди друзей
Список друзей подключается к другим сервисам Cloud. Лидерборд или турнир можно показать не целиком, а только среди друзей. Обогнать друга хочется сильнее, чем незнакомого игрока.
Пример
Игрок встречает сильного соперника в матче и после боя отправляет ему заявку в друзья. Вечером тот заходит, видит 1 новая заявка, принимает — теперь они друзья. На следующий день игрок открывает список, видит, что друг онлайн, и зовёт его в совместный матч.
💬 Если есть вопросы по функционалу — пишите в комментарии, буду рад ответить.
А также подписывайся на нашего тг бота — там будут приходить новости по продуктам хаба😎
‼️ Сервис еще в разработке и скоро выйдет в бета тест
#cloud #game_backend
Соревновательные сервисы — лидерборды, турниры, челленджи, работают и сами по себе. Но вместе с друзьями они раскрываются куда сильнее: соревноваться интереснее со знакомыми, а не с безымянным топом на миллион человек. Сервис 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
👍7❤3🔥2
В прошлой реализации мультиплеера, каждый инстанс приложения (сервера) юнити мог запускать только 1 вселенную (игровой сервер) и для запуска нового игрового сервера приходилось запускать другое приложение. Минус такого подхода в распределении ресурсов сервера, их нужно больше, так как копируется всегда общая база, которая не меняется (конфиги мобов, блоков, предметов и т.д) плюс сам движок Unity - физика, сеть и т.д.
В новой системе лобби, у нас на 1 приложении юнити, может запускаться сразу несколько вселеных (аля мультивселеная), это дает несколько преимуществ.
#blockworld #devlog
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6❤4🤯3
P.S Эвент длится оба выходных
#скриншотник
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰7❤4🔥2👏2🎉1
Городские участки — новый режим в Blockworld!
Добавили новый режим, в нем у каждого игрока появляется свой участок земли, на котором он может стоить что угодно, на чужих участках строить нельзя.
Отличительной особенностью нашего режима является в том что между участками создается городская дорога, ее может редактировать любой игрок, это расширяет геймплей и дает возможности:
✔️ Оставить дорогу, но построить на ней автомобили
✔️ Убрать дорогу и сделать связь между 2 участками
За счет этого и появляется ощущение города из различных строений игроков, связанных между собой дорогой.
В будущем режим можно расширить и доработать. Например добавить функционал продажи или покупки новых участков. Добавления других игроков в свой участок, чтобы они могли его редактировать.
Итоговые режимы игры
На релиз мы останавливаемся на 4 режимах игры.
1 — выживание
2 — креатив
3 — мирный
4 — городские участки
Этого более чем хватит, в будущем режимы будут расширяться, уже есть много идей что можно будет добавить, для разнообразия геймплея.
Технические доработки
Для данного режима была добавлена система прав на зоны. Эта система позволяет делить мир на зоны (4 на 4, 5 на 6 и т.д) и выставлять им права, кто владеет каждой зоной. Права гибкие, хоной может владеть сервер, игроки (игрок владелец и его друзья), а так же все игроки что есть в мире. Это позволяет гибко использовать систему, как в игровых режимах, так и для создания лобби на сервере, чтобы игроки не могли его ломать.
#blockworld #devlog
Добавили новый режим, в нем у каждого игрока появляется свой участок земли, на котором он может стоить что угодно, на чужих участках строить нельзя.
Отличительной особенностью нашего режима является в том что между участками создается городская дорога, ее может редактировать любой игрок, это расширяет геймплей и дает возможности:
За счет этого и появляется ощущение города из различных строений игроков, связанных между собой дорогой.
В будущем режим можно расширить и доработать. Например добавить функционал продажи или покупки новых участков. Добавления других игроков в свой участок, чтобы они могли его редактировать.
Итоговые режимы игры
На релиз мы останавливаемся на 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
👍7❤4🔥4
P.S Эвент длится оба выходных
#скриншотник
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6🔥6🥰5
КРИ 2026 пройдет в Московском кластере видеоигр и анимации
Узнать больше о КРИ и стать частью события можно на сайте: https://kri.dev/
Вход бесплатный по регистрации!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3⚡1👍1👌1
Media is too big
VIEW IN TELEGRAM
Девлог по Blockworld!
На этой недели реализовали большой функционал по модерации сервера и удобной настройкой лобби через чат команды.
Игрок
Для каждого аккаунта игрока добавилось новое поле username, это поле уникальное для каждого игрока, оно служит для удобного обращения в чат командах при модерации (кик, мут и т.д).
Система ролей
Позволяет выдавать аккаунту спецальные возможности, наприрме для тестировщиков ранний доступ на фичи. Или модераторам возможность банить или мутить игроков в лобби.
Сам функционал разбит на 2 слоя:
✔️ Глобальные роли — настраиваются через админку, за счет них можно дать аккаунту нужные права, например сделать админом, тестировщиком, модератором на всю игру.
✔️ Лобби роли — роль выдается на скоуп лобби, например что бы в каком то конкретном режиме выдавать роль администратора, модератора и т.д. Так же эти роли зависят от глобальных ролей, если у аккаунта есть роль админа, то и в самом лобби будет такая роль. Админы могут выдавать роли через команды чата для других игроков
Чат команды
Общая система позволяющая регистрировать различные команды и выполнение любой логике при их вызове. Команды начинаются с знака / . На данный момент список команд следующий:
каждая команда может иметь различные параметры для активации, например передача координат, id блоков, id предметов и т.д.
#blockworld #devlog
На этой недели реализовали большой функционал по модерации сервера и удобной настройкой лобби через чат команды.
Игрок
Для каждого аккаунта игрока добавилось новое поле 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
P.S Эвент длится оба выходных
#скриншотник
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍3❤1
Геймджем
Ребята проводят юбилейный геймджем, с хорошими денежными призами🤑 .
👍 Кто любит участвовать в джемах или хочет испытать подобный опыт, крутая возможность поучаствовать.
Ребята проводят юбилейный геймджем, с хорошими денежными призами
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
Даем шанс каждой игре быть сыгранной.
Мы дошли до десятого уровня. Это значит, что пора снова собрать команды, придумать безумную идею, поспать меньше нормы и сделать игру за 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 и реактивные привязки — пишешь
✔️ Темы — все цвета, пресеты описываются в одном месте, при желании можно сделать разные темы для ui
✔️ Анимации — система твинов, задаются прямо в JSON, без кода
✔️ Виджеты — заготовки элементов интерфейса: слайдеры, тумблеры, прогресс-бары, счетчик валют и т.д. Описал один раз и испольуещь где угодно
✔️ Safe-area — встроенная поддержка безопасной зоны, ui всегда располагается в ней, не будет проблем с вырезами и чёлкой на телефонах и планшетах
🔥 Hot-reload — правим вёрстку прямо во время игры, экран пересобирается на лету.
✔️ Редактор инструменты — превью в редакторе, без захода в Play Mode. Итерации с нейронкой стали в разы быстрее, она сама может быстро смотреть результат и делать скриншоты для анализа.
🤖 Нейронка наш верный друг
Так же удобно создавать интерфейсы через нейронку, экономя кучу времени и сил. С json нейронка работает намного лучше, чем с префабами юнити. Просто говорим нейронке что хотим и она собирает это. Специально для этого был создан отдельный скилл, в котором описаны правила и лучшие практики по дизайну и работе с новой системой, так чтчо нейронка сразу понимает какие есть стили, готовы виджеты и т.д, плюс может предложить что то новое, чего еще нет.
🧩 База под моддинг
Blockworld идёт к кастомным режимам и пользовательским мини-играм. Новая система открываем крутые возможности для этого. Игроки и мы разработчики в частности, сможем делать интерфейс прям в игре (в режиме создания кастомного лобби). Все сохраняется в json и легко хранится в базе данных и передается по сети.
📌 Прикрепил видосы с демонстрацией адаптива, плюс в коменты выложил пример как это выглядит в json.
#blockworld #devlog #gamedev
Полностью переписали UI в игре. Старый интерфейс в Blockworld жил на «классическом» Unity UI (uGUI). Каждый экран — отдельный префаб, всё расставлено руками. Долго, неудобно, а переход на новый дизайн растягивается на немалый срок.
Можно было взять UI Toolkit от Unity, но для рантайма он нормально заработал только в Unity 6 — а мы сидим на 2022-й версии движка. Там он ещё сырой. Поэтому сделали свой движок интерфейса
Новый подход
В новой системе интерфейс описывается текстом (JSON), а не собирается в редакторе. Вёрстка, логика и внешний вид разнесены по разным местам. Это позволяет быстро собирать интерфейс и стилизовать его, описывая правила как в том же css.
Что уже умеет движок:
"Text": "@PlayerName" в JSON, и текст сам обновляется при смене значения. Двусторонние привязки для слайдеров и тумблеров — из коробки.Так же удобно создавать интерфейсы через нейронку, экономя кучу времени и сил. С json нейронка работает намного лучше, чем с префабами юнити. Просто говорим нейронке что хотим и она собирает это. Специально для этого был создан отдельный скилл, в котором описаны правила и лучшие практики по дизайну и работе с новой системой, так чтчо нейронка сразу понимает какие есть стили, готовы виджеты и т.д, плюс может предложить что то новое, чего еще нет.
🧩 База под моддинг
Blockworld идёт к кастомным режимам и пользовательским мини-играм. Новая система открываем крутые возможности для этого. Игроки и мы разработчики в частности, сможем делать интерфейс прям в игре (в режиме создания кастомного лобби). Все сохраняется в 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
P.S Эвент длится оба выходных
#скриншотник
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3