Каждая карта в игре – отдельный сервер. На одной карте могут играть свыше 500 игроков.

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




Для добавления в игру новой обычно требуется 3 специалиста:
  • гейм-дизайнер (кто расставит объекты, продумает дизайн уровня)
  • графический дизайнер (кто нарисует карту)
  • программист (кто интегрирует графику в игру, расставит всю физику)
При изменении карты программист вынужден обновлять игру, выпускать обновления в Play Market и все карты увеличивают размер скачиваемой игры (что особо ощутимо для мобильных и браузерных игр). 

Я разработал приложение которое хранит все карты на сервере, позволит их редактировать и при входе в игру пользователю получает их в онлайн режиме с актуальными изменениями. Каждая такая карта - отдельный сервер. Есть поддержка бесшовного открытого мира и для пользователя переход становится малозаметным. В данном приложении есть возможность менять карту через админ панель , добавлять игровые объекты, физические препятствия и для работы с нужен более не нужен программист.

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

Предлагаю ознакомится с этим приложением в бесплатном демо





Что нового?


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

PHP, Программирование, Разработка игр, Unity, Unreal Engine, php, игровой сервер, разработка сервисов, онлайн-игры, разработка онлайн-игр

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

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

Бонус - архитектура игрового сервера в картинках.

Читать далее
Создание сервера для онлайн ММО игр на PHP ч.14 — Сетевая карта и задержка кадра (Latency frame) по RFC 2544 (1242)
PHP, Проектирование и рефакторинг, Разработка игр, Сетевые технологии, Параллельное программирование, php, go, c#, онлан игры
Создание сервера для онлайн ММО игр на PHP ч.13 — Event-driven паттерн, JSON-RPC и почему не сервисная (SOA) архитектура
PHP, Программирование, Проектирование и рефакторинг, Разработка игр, Алгоритмы, php, event-driven, разработка игр, mmo, mmorpg, шаблон проектирования
Создание сервера для онлайн ММО игр на PHP ч. 12 — Очереди и параллельное программирование на CPU
PHP, Анализ и проектирование систем, Разработка игр, Сетевые технологии, Параллельное программирование, php, go, онлайн-игры, очереди, очереди задач, очереди сообщений, очереди с приоритетом, websocket, unity, ммо

Кабинет

Игры