Сетевой режим в браузерной игре

Доброго времени суток
Недавно решил для себя сделать браузерную игру с возможностью играть по сети. Делается для повышения опыта.

Жанр игры: tower defense
Движок игры: pixi.js
Все подсчёты происходят на серваке (урон / получение ресурсов / вызов мобов / их координаты и т.д.)

Кое как это всё удалось сделать с базовыми знаниями PHP / MySQL.
Но я застрял на сетевом режиме игры. Может посоветуете что то путное :)

Сейчас я думаю сделать так:
1. При подтверждении двух игроков запускается php скрипт, который будет как раз серверным движком игры
2. Если кто то из игроков нажимает на вызов героя(или любое другое действие игрока), отправляется POST запрос к серверу, который сохраняет команду в базе данных
3. 1 раз в секунду клиент обращается к серверу для синхронизации ресурсов и героев(хп,координат).
4. PHP скрипт управляющий конкретной игрой, раз в 30 сек обращается к таблице(пункт 2), что бы проверить на наличие новых команд + считает движение героев, их удары и тд. Если что то изменилось, записует изменения в таблицу для третьего пункта.


Для одиночного режима меня всё устраивало. Нагрузки нет, задержка в секунду не мешала, да и интернет позволял столько запросов.

Но для сетевой игры думаю это неудачный вариант. Может есть что то получше? как можно реализовать игру между двумя игроками? Учту все упрёки и нарекания :)

  • Вопрос задан
  • 2926 просмотров
Решения вопроса 1
@ki10bit

Вот недавно описывали архитектуру сетевой игры: http://slonik-v-domene.livejournal.com/140508.html

Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
habrahabr.ru
В поиске пишеш браузерная игра и пошло поехало)))
Или пропиши game Dev там же на хабре, что в переводе значит - строительство игр!
Ответ написан
Комментировать
Давай мб в тиму добавляемся и пишем игру вместе...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽