В любой игре есть слой конфигураций — предметы, валюты, настройки игры, параметры баланса. Всё это нужно где-то описать, структурировать и удобно менять на лету — без необходимости обновлять клиент.
Для этого у нас есть Entities — базовая платформа конфигураций для всего проекта.
Что умеет Entities?
Это базовая система конфигураций. Описываешь типы данных, шаблоны и структуры один раз — после чего использовать их в Экономике, Лидербордов, Турниров и любого другого сервиса. Не нужно дублировать одни и те же конфиги в разных местах.
Шаблоны и конфиги (Templates & Configs)
Пример: шаблон «Оружие» содержит поля: название, урон, скорость атаки, иконка. На его основе создаёшь конфиги: «Деревянный меч» (урон 10, скорость 1.5), «Огненный посох» (урон 40, скорость 0.7).
Шаблоны поддерживают наследование.
Создаёшь базовый шаблон «Оружие», от него наследуешь «Автомат» с дополнительным полем — патроны. Все поля базового шаблона подтягиваются автоматически. Изменил что-то в базовом — изменилось у всех наследников.
Готовые типы полей
Каждый узел в шаблоне имеет тип. Из коробки доступны:
— Базовые: String, Int, Float, Double, Decimal, Boolean
— Коллекции: Object, Array
— Игровые: Vector3, Color, Image
— Контент: Localization, ConfigRef (ссылка на другой конфиг)
— Время: Time, DateTime, DateOnly
Этого хватает для большинства задач. А если нужно больше — есть кастомные типы.
Кастомные типы — Enums и Structures
Помимо готовых типов, можно создавать свои.
Типы создаются в Entities и доступны из любого сервиса.
В SDK
На клиенте всё просто — SDK получает готовый JSON, с которым уже можно работать. Обращаешься по ключу и получаешь нужный конфиг.
А также подписывайся на нашего тг бота — там будут приходить новости по продуктам хаба
P.S Дизайн на скриншотах пока тестовый — будет ещё дорабатываться.
PP.S Название сервиса тестовое, если у вас идеи как понятнее его назвать, пишите в комментарии
#cloud #game_backend
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12👍3❤2🤯1
Мы решили ускориться и взять в команду еще одного художника на проект Blockworld.
Что нужно делать
Что предлагаем
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13🤔3👍1
This media is not supported in your browser
VIEW IN TELEGRAM
P.S Эвент длится оба выходных
#скриншотник
Please open Telegram to view this post
VIEW IN TELEGRAM
6🔥8⚡3👏3😁2
Система сущностей (Entities) в Cloud — атрибуты и валидация конфигов (часть 2)
В первой части я рассказал про шаблоны, конфиги и типы данных. Но схема сама по себе не защищает от ошибок. Геймдизайнер может вписать урон -100, забыть обязательное поле, превысить лимит. Проверять это вручную — боль.
Для этого у нас есть система атрибутов — правила валидации и настройки отображения прямо в схеме.
Атрибуты назначаются на поля шаблона и делятся на две категории:
Валидация
Ограничивают допустимые значения полей. Если данные не проходят проверку — сохранить конфиг не получится.
✔️ Range — диапазон значений (мин/макс)
✔️ Required — обязательное поле
✔️ MinLength / MaxLength — ограничение длины строки или массива
✔️ Pattern — проверка по регулярному выражению
✔️ MinItems / MaxItems — количество элементов в массиве
✔️ UniqueItems — все элементы массива должны быть уникальными
✔️ MultipleOf — число должно быть кратным заданному значению
✔️ LockShape — запрет добавления и удаления элементов массива
Пример: поле «урон» — Range от 1 до 9999. Поле «название» — Required + MaxLength 64. Теперь при заполнении конфига невозможно ввести не валидные данные.
UI
Настраивают отображение полей в редакторе, делая его понятным и удобным.
✔️ Header — заголовок секции над полем
✔️ Tooltip — всплывающая подсказка
✔️ Placeholder — текст-заглушка в пустом поле
✔️ Readonly — поле нельзя редактировать
✔️ Multiline — многострочный ввод для текста
✔️ CardIcon — пометить картинку как иконку карточки
В итоге геймдизайнер работает с понятным редактором — и физически не может сохранить невалидные данные.
💬 Если есть вопросы по функционалу — пишите в комментарии, буду рад ответить.
А также подписывайся на нашего тг бота — там будут приходить новости по продуктам хаба😎
❗️ Продукт еще в разработке
P.S Дизайн на скриншотах пока тестовый — будет ещё дорабатываться.
PP.S Название сервиса тестовое, если у вас идеи как понятнее его назвать, пишите в комментарии
#cloud #game_backend
В первой части я рассказал про шаблоны, конфиги и типы данных. Но схема сама по себе не защищает от ошибок. Геймдизайнер может вписать урон -100, забыть обязательное поле, превысить лимит. Проверять это вручную — боль.
Для этого у нас есть система атрибутов — правила валидации и настройки отображения прямо в схеме.
Атрибуты назначаются на поля шаблона и делятся на две категории:
Валидация
Ограничивают допустимые значения полей. Если данные не проходят проверку — сохранить конфиг не получится.
Пример: поле «урон» — Range от 1 до 9999. Поле «название» — Required + MaxLength 64. Теперь при заполнении конфига невозможно ввести не валидные данные.
UI
Настраивают отображение полей в редакторе, делая его понятным и удобным.
В итоге геймдизайнер работает с понятным редактором — и физически не может сохранить невалидные данные.
А также подписывайся на нашего тг бота — там будут приходить новости по продуктам хаба
P.S Дизайн на скриншотах пока тестовый — будет ещё дорабатываться.
PP.S Название сервиса тестовое, если у вас идеи как понятнее его назвать, пишите в комментарии
#cloud #game_backend
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7🤯2
Рад сообщить, что завершил один из самых сложных этапов в разработке онлайн-игры — развёртывание инфраструктуры.
Игровой сервер
Аренда
DevOps
P.S пост пересоздал, так как скриншоты не те
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16👍3🤯3❤1
This media is not supported in your browser
VIEW IN TELEGRAM
P.S Эвент длится оба выходных
#скриншотник
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5⚡2🔥2
Там уже вышел приветственный пост, зайдите и оставьте пж комментарий, чтобы я понял что все работает
P.S. Телеграм остаётся главной площадкой — уходить я из нее не собираюсь.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥3🌭2🥰1
Итоги первого квартала по Cloud в этом году!
Сегодня подвели итоги первого квартала по Cloud. Проделали огромный объём работы — думаю, это один из самых продуктивных кварталов за более чем 1.5 года разработки.
По цифрам:
✔️ 9 новых сервисов
✔️ 6 обновлённых сервисов
✔️ 30+ сервисов в продукте
Сюда входят и технические сервисы, которые не видны пользователям, но используются другими сервисами под капотом.
Рад, что удалось реализовать такой объём функционала — и это только начало, продолжаем развивать платформу дальше.
📌 Прикрепляю несколько слайдов из презентации, к сожалению всю презентацию скинуть не могу)
#cloud #game_backend
Сегодня подвели итоги первого квартала по Cloud. Проделали огромный объём работы — думаю, это один из самых продуктивных кварталов за более чем 1.5 года разработки.
По цифрам:
Сюда входят и технические сервисы, которые не видны пользователям, но используются другими сервисами под капотом.
Рад, что удалось реализовать такой объём функционала — и это только начало, продолжаем развивать платформу дальше.
#cloud #game_backend
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10👍2👌2