Общие

  • ✅ Готовая демонстрационная игра с клиентской частью на Unity
  • ✅ Панель администратора со справочными материалов пользования на каждой ее странице с ознакомительным доступом через интернет
  • ✅ Функционал изменение и добавлением данных игроков, npc, объектов в игру через панель
  • ✅ Добавление неограниченных параметров (мана, жизни, заклинания и тд) игровым объектам через панель
Система добавления вспомогательного пользовательского кода программирования через панель и его безопасное выполнение в изолированной среде игрового сервера на языках программирования:
Добавлении указанного кода в админ панели
  • ✅ Для добавления новых игровых  событий (команд игроков) с описание в коде их действия меняющих данные сущности и добавляющее события другим 
  • ✅ Возможность через код изменять события существ с других смежных локаций (в том числе на разных физических машинах)
  • ✅ Изменения сущности при входе в игру (добавление базовых общих событий, добавления в матрицу игровой карты для расчета столкновений и поиска пути и т.п.) 
  • 🔲 Изменения сущности при удалении из игры (удаление с матрицы карты и т.п.) 
  • ✅ Изменения сущности и окружающего мира при изменении значения его параметров (анимация урона при уменьшении жизней. анимация смерти по области при нулевой жизни и т.д.)
  • 🔲 Создания раздела набора классов и библиотек которые для использования в разделах выше

Работа с игровыми картами
  • ✅ Интеграция с программой Tiled для загрузки догружаемых в игру 2D карт 
  • 🔲 Редактор загруженных карт и создание новых через админ панель 
  • 🔲 Работа с картами 2.5D
  • ✅ Открытый бесшовный мир

  • ✅ Возможность создать к игре сайт и добавления контента (новости, редактирование дизайна страниц)
  • ✅ Просмотр скриншотов игры отдельных игроков через админ панель
  • 🔲 Добавление догружаемой в игру музыки, звуковых фаилов SFX эффектов запускаемой по команде из сервера
  • 🔲 Добавление догружаемой в игру графики анимации npc и персонажа (move, hit и тп) из программы Spriter
  • 🔲 Создание раздела по работе с предметами игрового мира с их спрайтами , характеристиками
  • 🔲 Возможность регистрации в сервисе для создания (в т.ч. бесплатного) своего собственного сервера к игре
  • 🔲 Радел участника сервиса с персональными настройками режима работы сервера (подключение к единой метавселенной, частота кадров игры, подключение сторонних библиотек, увеличение выделенной серверной мощности и макс. числа игроков) 
  • 🔲 AppStore с платными и бесплатными авторскими картами для игр, музыки, анимациями и графикой объектов, библиотек по работе с физикой и тп

Технические

  • ✅ Разработка архитектуры СУБД
Интеграция API с популярными игровыми движками для создания на них клиентской части
  • ✅ Unity
  • 🔲 Unrel Engine
  • 🔲 Phaser

  • ✅ Разработка базовой документации по работе с сервером через API
  • Параллельная работа в отдельных потоках (thread) CPU websocket и игрового сервера
  • ✅ Горизонтальное масштабирование локациями (добавление новых физических серверов для уменьшения нагрузки и увеличения максимального числа одновременно играющих)
  • ✅ Контроль работы состояния серверов (остановка-перезапуск в тч удаленных серверов)
  • ✅ Загрузка браузерный игры на сайт для визуальной отладки запросов команд игроков через API сервера в т.ч. до их реализации в клиенте (по аналогии программы Swagger)
  • ✅ Система контроля доступа в админ панель (пользователи, роли)
  • ✅ Система аналитики нагрузки серверов (в том числе расположенных на разных физических машинах) и скорости работы игровых механик
  • 🔲 Добавить систему хранение конфигураций сервера Dotenv
  • 🔲 Реализовать собственный http сервер как приложения
  • 🔲 Добавить  систему Unit тестов и UI интерфейс запуска их через панель
  • ✅ Перезагрузка сервера (в т.ч. его кодовой базы) без отключения игроков от игры с доставкой нового контента
  • ✅ Система логирования работы сервера
  • ✅ Резервные копии баз данных
  • ✅ Запуск серверов в режимах профилирования кода c Xdebug 
  • ✅ Асинхронное сохранение во время игры игроков в базу данных (изменившиеся компоненты, события, основные данные)
  • 🔲 Сохранение в базу данных во время игры в параллельно работающем  игровому серверу потоке программы
Совместная работа программистов над проектом ядра фреймворка
  • ✅ Автоматическое и ручное обновление кода системы из GIT и зависимых библиотек фреймворка из Composer
  • 🔲 Docker образ Linux системы для развертывания проекта на отдельном сервере
  • 🔲 Возможность смены GIT версии проекта через админ панель
  • 🔲 Вынос отдельных приложения и ядра фреймворка в публичный доступ системы Composer
  • 🔲 Добавления библиотеки Doctrine Migrate для совместной работы над проектом в части изменений в базе и изменения ее версии

Обучение



Демонстрационная панель администратора




Что нового?


Статьи про разработку продукта

Intro Image

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

В статье я расскажу как разработчиков вводят в заблуждение рассказывая что необходимо учесть в первую очередь при разработке серверов (и не только для игр), но умалчивая о реальных "узких местах" (проблемах).

В конце статьи будет приложена видео версия.

Читать далее

Кабинет

Игры