Как стать автором
Обновить
15
0
Стрельцов Михаил @webrobot

IT архитектор, PHP developer, разработчик игр

Отправить сообщение

ч.15 Игровой авторитарный сервер на процессах и его архитектура в картинках — Создание сервера для онлайн ММО игр на PHP

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров2.6K

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

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

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

Читать далее
Всего голосов 7: ↑7 и ↓0+7
Комментарии0

Создание сервера для онлайн ММО игр на PHP ч.14 — Сетевая карта и задержка кадра (Latency frame) по RFC 2544 (1242)

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров4.4K

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

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

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

Читать далее
Всего голосов 9: ↑7 и ↓2+5
Комментарии38

Создание сервера для онлайн ММО игр на PHP ч.13 — Event-driven паттерн, JSON-RPC и почему не сервисная (SOA) архитектура

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров4K

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

В этой статье я без привязки к коду объясню простым языком и в картинках как можно применять в разработке архитектуры авторитарного сервера для онлайн игр шаблон проектирования Event-driven.

Читать далее
Всего голосов 11: ↑9 и ↓2+7
Комментарии7

Создание сервера для онлайн ММО игр на PHP ч. 12 — Очереди и параллельное программирование на CPU

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров3.4K

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

Будет затронута тема очередей, асинхронного логирования, параллельного программирования на CPU и использования каналов (сhannel) для взаимодействия между процессами (thread - ветками) на языке программирования PHP (аналогичный функционал есть в языке GO).

Читать далее
Всего голосов 6: ↑5 и ↓1+4
Комментарии10

Создание сервера для онлайн ММО игр на PHP и Unity ч. 11 — FPS, Ping, паузы между командами, интерполяция и экстраполяция

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров3.6K

В этой серии статей речь пойдет о том что такое PING и какими приемами можно сгладить задержку пересылки пакетов при его низком значении в realtime онлайн играх с примерами кода на C# в игровом движке Unity для игр на ПК, мобильных устройствах и браузерных игр WebGL.

Статья включает в себя видео примеры, демонстрации кода и алгоритм подсчета PING без использований командной строки устройств

Читать далее
Всего голосов 4: ↑1 и ↓3-2
Комментарии36

Создание сервера для онлайн ММО игр на PHP ч. 10 — Открытый бесшовный мир в 2D игре

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров4.4K

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

Читать далее
Всего голосов 11: ↑10 и ↓1+9
Комментарии13

Создание сервера для онлайн ММО игр на PHP ч. 9 — Игровые серверные механики

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров5K

После успешной оптимизации клиентской части и серверной архитектуры пришла пора писать механики самой игры для взаимодействия по API — я называю их событиями (они вешаются на какой либо игровой объект на сервере, помещаются в очередь и срабатывают когда придет их время).

Суть работы взаимодействия сервера и клиентской части следующая:

Читать далее
Всего голосов 10: ↑7 и ↓3+4
Комментарии31

Создание сервера для онлайн ММО игр на PHP ч. 8 — Клиентская часть на Unity

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров2.3K

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

Т. к. сервер для игры является авторитарным, то клиентская часть должна была содержать.

Читать далее
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

Создание сервера для онлайн ММО игр на PHP ч. 7 — Игровые локации (тайловые карты)

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров2.9K

Продолжая рассказывать о своем пути создания ПО для догружаемого контента в играх в этой статье хотел бы остановится на игровых картах (локациях).

Читать далее
Всего голосов 2: ↑2 и ↓0+2
Комментарии2

Создание сервера для онлайн ММО игр ч. 6 — Выбор технологий, протокола и архитектурный шаблон Entity Component System

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров4.5K

Правительство РФ анонсировало выделение до $50 млрд для выхода РФ в топ-20 стран—разработчиков Игр к 2030 году. Возможно в скором времени разрабатываемый мной сервис наконец увидит свет.

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

Читать далее
Всего голосов 6: ↑3 и ↓30
Комментарии14

Создание сервера для онлайн ММО игр на PHP ч. 5 — LUA и JavaScript

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров4.3K

Продолжая серию статей про разработку сервера для онлайн игр (адрес проекта http://my-fantasy.ru) на языке PHP в это части я хочу рассказать про безопасное добавления пользовательского кода для добавления функционала игровых механик. В статье я опишу существующие решения для PHP , сравню скорость работы приведу видео примеры.

Для тестов будет использовано следующее железо:

Читать далее
Всего голосов 9: ↑5 и ↓4+1
Комментарии14

Создание сервера для онлайн ММО игр на PHP ч. 4 — Redis

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров6K

В предыдущей статье я рассказал о протоколах клиент-серверного взаимодействия и о нагрузке которую может выдержать TCP соединения. В этой статье мы рассмотрим технологию для хранения , записи и публикации данных клиентам - Redis , разберем сколько игроков и NPC мы можем держать с демонстрацией игры, затронем архитектурные решения других игр

Читать далее
Всего голосов 7: ↑3 и ↓4-1
Комментарии36

Создание сервера для онлайн ММО игр на PHP ч. 3 — WebSocket

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров4.6K

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

Читать далее
Всего голосов 4: ↑3 и ↓1+2
Комментарии2

Создание сервера для онлайн ММО игр на PHP ч. 2 — Масштабируемость и асинхронность

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров4K

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

Для тех кто еще не успел ознакомится с первой частью рублике рекомендую прочитать первую статью где я рассказываю о самой идеи API сервиса.

Статья устарела - читайте актуальную статью про масштабирование и открытый мир

Читать далее
Всего голосов 7: ↑5 и ↓2+3
Комментарии6

Создание сервера для онлайн ММО игр на PHP ч. 1 — Введение

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров12K

Привет, Хабр! Мой первый пост и я хочу поделиться с вами своей идеей создание сервиса предоставляющего разработчикам игр и студиям платформу для создания онлайн игр! Поехали!

Читать далее
Всего голосов 16: ↑6 и ↓10-4
Комментарии20

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Backend Developer, Game Developer
Senior
PHP
MySQL
Git
High-loaded systems
C#
Unity3d
Game Development
Redis
OOP
SQL