2012-04-09 1 views
0

ОК, вот что я делаю. Я планирую браузерную игру, но мне нужен аспект реального времени. В принципе, игрок может бродить по карте города и сталкиваться с случайными NPC и врагами. Я хочу знать, есть ли способ постоянно работать над сценарием, отдельно от просмотра пользователя, который будет управлять такими вещами, как движение NPC (перемещать их раз в секунду или около того и т. Д.)?Сценарий на стороне сервера реального времени, контролирующий внешние переменные и значения

Таким образом, пользователь будет играть в игру (на определенной области карты), и будет что-то подобное игровому клиенту (например, WoW), контролирующему NPC и т. Д., Но контролируемому на стороне сервера. (Это общий хостинг, кстати, если мне нужен выделенный или какой-либо другой вариант, это тоже вариант.) Я действительно не хочу, чтобы браузер пользователя отправлял запрос каждую секунду, прося местоположение всех NPC по всему миру , Я просто пытаюсь найти альтернативный способ сделать это, имея при этом аспект реального времени.

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

ответ

1

Вы, вероятно, должны Google для этого: «PHP демон HOWTO»

Демоны программы, которые находятся в памяти и может управляться сигналами.

Печально то, что php очень плохо разбирается в асинхронных событиях, таких как отправка некоторых данных и ожидание ответа при продолжении работы.

Я столкнулся с этой проблемой при написании sms-daemon - клиент положил sms в очередь, демон отправил и ожидал подтверждения. Но, ожидая, он должен продолжать получать очередные сообщения из очереди.

+0

Мне нравится это сообщество. Это, кажется, идеальный ответ на то, что я искал. Для других, которые могли бы прочитать это, я нашел один учебник по адресу http://kevin.vanzonneveld.net/techblog/article/create_daemons_in_php/, который использует пакет Pear, и он выглядит очень прост в использовании. Дело в том, что похоже, что вам нужен полный доступ к веб-серверу, и в настоящее время я использую общий веб-хостинг. Как правило, выделенный пакет сервера решает эту проблему? – TerranRich

+1

Выделенный сервер может быть дорогостоящим решением. Если вы привлечете тысячи пользователей, вам придется получить выделенный сервер. Но для начала достаточно VPS/VDS (http://en.wikipedia.org/wiki/Virtual_private_server). Современные хостеры предоставляют эту услугу. Вы будете чувствовать себя как root на своем собственном сервере. –

Смежные вопросы