Kozlov Dev - Разработка игр
4.11K subscribers
662 photos
176 videos
3 files
275 links
Канал о разработке игр.
Download Telegram
🔥 Система сущностей (Entities) в Cloud — гибкая конфигурация (часть 1)

В любой игре есть слой конфигураций — предметы, валюты, настройки игры, параметры баланса. Всё это нужно где-то описать, структурировать и удобно менять на лету — без необходимости обновлять клиент.

Для этого у нас есть 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
Помимо готовых типов, можно создавать свои.

✔️ Enum — перечисление именованных значений (например, типы урона: Physical, Magic, Fire). Поддерживают режим флагов — можно выбрать сразу несколько значений.
✔️ Structure — типизированная схема данных. Как структура в C# — описываешь поля и их типы, а потом используешь как готовый блок в шаблонах.

Типы создаются в Entities и доступны из любого сервиса.

В SDK
На клиенте всё просто — SDK получает готовый JSON, с которым уже можно работать. Обращаешься по ключу и получаешь нужный конфиг.

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

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

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

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👍32🤯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
😎 Стартуем эвент SCREENSHOT SATURDAY!

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

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

#скриншотник
Please open Telegram to view this post
VIEW IN TELEGRAM
6🔥83👏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
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7🤯2
🔥 Сервера в мультиплеере для Blcowkorld!

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

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

✔️ Написал небольшую утилиту для кастомной сборки сервера в Unity. Она позволяет быстро переключаться на профиль Linux Dedicated Server, делать билд с нужными сценами и возвращаться обратно на целевую платформу.

Аренда
⚡️ Поднял 2 виртуальных сервера с 2 ядрами и 4 ГБ оперативной памяти каждый. Серверы расположены в двух локациях — СПб и Новосибирск. Пинг радует, посмотрим, как пойдёт дальше.

DevOps
✔️ Серверы объединены в кластер — это позволяет быстро разворачивать игровые серверы на любом из них.

✔️ Настроил полный пайплайн деплоя: сборка → коммит → автоматическое развёртывание на пуш в ветку. Для обновления сервера достаточно собрать билд и запушить изменения.

✔️ Настроил два окружения — тестовое и продакшн. В репозитории есть отдельная ветка для теста: при пуше в неё автоматически запускается деплой на тестовый сервер.

✔️ Подключил бэкапы и импорт сохранений. Все сохранения раз в день бэкапятся в S3-хранилище, при необходимости их можно легко восстановить.

👍 По сути мультиплеер уже готовый, можно подключаться к выделенным серверам, играть с другими игроками. Остается только допиливать отвалившиеся модули проекта, самая сложная часть уже позади

P.S пост пересоздал, так как скриншоты не те
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16👍3🤯31
This media is not supported in your browser
VIEW IN TELEGRAM
😎 Стартуем эвент SCREENSHOT SATURDAY!

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

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

#скриншотник
Please open Telegram to view this post
VIEW IN TELEGRAM
52🔥2
✈️ Запасной аэродром

👋 Привет! Завёл ВК-сообщество — на случай, если Телеграм начнёт барахлить или пропадёт доступ.
Там уже вышел приветственный пост, зайдите и оставьте пж комментарий, чтобы я понял что все работает 👍

📌 Подпишись сейчас, пока не забыл — потом не придётся искать - https://vk.com/kozlovdev

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
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10👍2👌2