Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   браузерный мультиплеер (http://www.flasher.ru/forum/showthread.php?t=122780)

_Ace_ 18.03.2009 15:52

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

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

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

mre 18.03.2009 16:00

А что, нет игровых серверов Героев?

_Ace_ 18.03.2009 16:10

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

mre 18.03.2009 16:34

Цитата:

Сообщение от _Ace_ (Сообщение 806539)
можно ли обойтись связкой флеш+пхп?

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

Котяра 18.03.2009 16:41

Для пошаговой игры в принципе можно обойтись php без сокетов.
Временный лаг в 3-4 секунды не проблема.
Можно делать имитацию сокетов (я называю это затянувшийся коннект) как в AMFPHP ( кстати посмотрите в эту сторону обязательно если остановитесь на php)

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

_Ace_ 18.03.2009 16:55

mre - да рефреш - не вариант. а не подскажете насколько часто можно посылать запросы на сервер, и сильно ли это будет его грузить? (планируется не больше 3-4 игр одновременно то-есть 6-8 игроков)

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

Спасибо за ответы.

Котяра 18.03.2009 17:15

Это моё антинаучное название поддержки соединения netConnection в BlazeDS по http)
К сожалению, как я посмотрел сейчас — AMFPHP не позволяет двустороннюю связь - только по запросу (гуру если что поправьте).
Ничего страшного в вашем случае нет: флэшка может запрашивать инфу раз в 2-3-4 секунду (без всякого рефреша), как написал mre.
(Скажу по секрету, наши острова до сих пор так и работают - без всяких сокетов)

В самом простом случае, даже без демонов схема такая: (рассматриваю уже начавшуюся игру)
есть 2 скрипта
1)turn.php?sid=sid1&turn=turn
вызывается когда игрок походил. Ищет в базе по сиду игрока, находит связанный с ним бой и текущую инфу по бою. по параметру turn изменяет содержимое инфы о бое

2)info.php?sid=sid. Ищет в базе по сиду игрока, находит связанный с ним бой и текущую инфу по бою и возвращает её в виде XML (AMF,СТРОКА, итп) во флэш.
флэшка смотрит изменилась ли инфа ( обычно по аттрибуту раунда) если изменилась - анимирует изменения, передает ход игроку, если он текущий.

второй скрипт вызывается раз в 3 секунды во время ожидания хода соперника.

BlooDHounD 18.03.2009 17:24

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

Котяра 18.03.2009 17:27

Начните с крестиков ноликов.

Добавлено через 2 минуты
Цитата:

Сообщение от BlooDHounD (Сообщение 806584)
Котяра, AMFPHP вообще никакой связью не обладает. это сериализатор данных, а не их отсыльщик. можно на таймер повесить отсылку запроса.

Связь по запросу - тоже связь.
спросил <-> ответил, только коннект непостоянный.

_Ace_ 18.03.2009 17:32

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

крестики нолики - хороший вариант для проверки =)


Часовой пояс GMT +4, время: 00:39.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.