Взаимодействие php

Рейтинг: 1Ответов: 1Опубликовано: 18.12.2014

Как сделать взаимодействие игроков на php? Как арена, например, во всех играх есть браузерных.

Ответы

▲ 4Принят

Попробую понять Вас: браузерная игра предполагает хранение информаци о игроках, некой карты, и, предположим, взаимодействии игроков между собой, с статичными персонажами и, возможно, другими объектами виртуального мира - для этого используются бызы данных, максимум распространения получила СУБД MySQL, но она не панацея.

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

Это было вступление, которое подготавливало к самому ответу.

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

Роль PHP - приём POST запросов от клиента, их обработка на сервере, обновление данных БД, предоставление нужного контента от текущей ситуации в игре, поддержка функциональности сайта, учет внутренней валюты, взаимодействие по API с платежными системами...

P.S. В вопросе явно указано Php, но любой серверный язык программирования с этим справится, следите за нагрузкой.

UPD: во время всего пользования сайтом храните в сессиях id игроков, так вы избежите доступ к боям другими игрокам. Разберитесь с событиями в js - клик мыши, нажатие клавиши... После каждого события во время боя у одного игрока отправляйте информацию о нём, делайте запись, если что-то поменялось (вдруг - промах), и обновляйте другому раз в секунду, к примеру (потому как второй игрок может поменять свои параметры), для того чтобы это было незаметно, делайте длительную анимацию на 2-3 секунды (пока сервер обновляет информацию на экране монитора).