API для онлайн игр - описание

При создании многопользовательских игр встает вопрос про создание серверной части , способных объединить множество игроков в игровом мире 

Часто эту задачу решают в каждой игровой студии созданием своего продукта, нанимая штаб специалистов узкого профиля и способностей, либо используют готовые западные решения которые в целом ограничены их функционалом

Это - Российский проект , который включает в себя само API для взаимодействие между клиентами (игроками) и сервером, а так же систему управления игровым миром (CMS) позволяющий превратить любую offline игру (браузерную, компьютерную , для мобильных устройств Android или ios, консоли и тп )  в online 

Цель проекта дать возможность создавать онлайн в играх не сложнее чем создавать сайты (речь идет исключительно об онлайн функционале, сам игровой клиент , те сама игра делается вне продукта самостоятельно на любой платформе, а продукт лишь реализует популярные механики в онлайн, например : хранение данных для сервера, прием - отправку команд от игроков и NPC, движения , поиск пути, искусственный интеллект монстров, доставку/модерацию контента, Таловые карты, манипуляции с объектами на картах и тп )

Так же проект идеально подойдет для создания игр связанных с криптовалютой, blockchain и smart контрактами

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


Возможности на текущий день - жанр RPG

Возможности на текущий день - жанр Стратегии


Общие возможности

  • ✅ Хранение игровых данных на сервере (карты включая графику, переводы текстов игры, сохранений, балансов)
  • ✅ Перезагрузка служб сервера
  • ✅ Загрузку игрового мира по Api в клиент 
  • ✅ Авторизация - регистрация по API из клиента (в тч через крипто кошельки Metamask и др )
  • ✅ Одновременная работа с разными картами (локациями)
  • ✅ Мультиплеер игроков (ни один из которых сервером не является и расчеты подделать не может)
  • ✅ CMS для управления игровым миром (редактирование, удаление модерация объектов )
  • ✅ Отладка API для браузерных игр (аналог Swagger)


Средние показатели разработанного продукта (в мс) на других страницах:

В настоящее время проект работает с характеристиками:




- Может ли продукт на PHP работать быстро?

- Да может! PHP не требователен к ресурсам сервера, в классическом виде  работает через HTTP протокол с "посредником" (apache или nginx) имеющего некое ограничение на количество одновременно работающих пользователей. Все это создает накладные расходы на соединения которые уже могут превышать ожидаемую скорость PING. Данная разработка не использует посредников и работает в режиме CLI, те как обычное приложение запущенное на сервере и взаимодействует благодаря постоянному соединению TCP между сервером и клиентом. Помимо прочего используются современные библиотеки предкомпиляции в тч JIT компиляция с Opcache (как известно php язык который компилируется каждый раз при обращении к нему выражаясь простыми словами), а так же библиотеки кеширования данных такие как Redis, APCU Cache и прочими... 

В купе с грамотно построенной архитектурой приложения, хранилища данных и возможностью масштабировать сервисы продукт способен обеспечить скорость выше, чем аналогичный написанный другими людьми на компилируемых языках таких как С# или GO

Подробнее о тех характеристиках читайте на странице Фреймворк



Для демонстрации работы создана Онлайн игра - Игорь

Панель CMS - Вход