Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Серверные технологии и Flash

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 27.10.2012, 23:55
ZGG вне форума Посмотреть профиль Отправить личное сообщение для ZGG Найти все сообщения от ZGG
  № 1  
Ответить с цитированием
ZGG
 
Аватар для ZGG

Регистрация: Nov 2005
Адрес: 26°58′49.06″ 49°24′35.72″ Ymaps
Сообщений: 119
Отправить сообщение для ZGG с помощью ICQ Отправить сообщение для ZGG с помощью Skype™
Question Как реализован механизм поиска соперника в мультиплеерныхх играх?

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

Пожалуйста, объясните мне, как происходит этот поиск? Как 2 игрока, запустившие игру, соединяются друг с другом? Какая логика? Кто с кем соединяется в первую очередь, кто ждет своей очереди, и тд? По какому принципу ищется соперник? А если для игры требуется 3 игрока?

Буду очень благодарен.
__________________
ЛОГИКА - залог программирования!

Старый 28.10.2012, 00:02
Jewelz вне форума Посмотреть профиль Отправить личное сообщение для Jewelz Найти все сообщения от Jewelz
  № 2  
Ответить с цитированием
Jewelz
 
Аватар для Jewelz

Регистрация: Aug 2008
Адрес: Рязань
Сообщений: 723
насколько я понимаю на сервере существует некие "комнаты" в которых находятся люди ожидающие соперников

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

т.е. обычные запросы к серверу, который решает кого с кем соединить, а само соединение клиентов может осуществляться уже по p2p, либо через тот же или другой сервер, зависит от задачи
__________________
low +

Старый 28.10.2012, 00:59
terbooter вне форума Посмотреть профиль Отправить личное сообщение для terbooter Найти все сообщения от terbooter
  № 3  
Ответить с цитированием
terbooter

Регистрация: Oct 2006
Адрес: Novosibirsk-Kaliningrad
Сообщений: 1,278
Отправить сообщение для terbooter с помощью ICQ Отправить сообщение для terbooter с помощью Skype™
О, я как раз чатрулетку делаю )

Старый 29.10.2012, 12:16
goWalk вне форума Посмотреть профиль Найти все сообщения от goWalk
  № 4  
Ответить с цитированием
goWalk
Banned

Регистрация: Aug 2012
Адрес: Mars: -333; -333;
Сообщений: 87
Записей в блоге: 2
Если p2p, то можно передавать всем параметр canPlay:Boolean=true, и ждать ответа от первого найденного соперника, который ответит, если у него тоже будет параметр canPlay:Boolean=true. Во

Старый 29.10.2012, 12:25
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 5  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Часто в играх бывает просто предрасчитанные действия. Т.е. на самом деле сервер присылает данные о каком-нибудь игроке, на их основе создается персонаж и он же контролируется компом. Плюс этого - не нужен реальный соперник, и всегда есть с кем поиграть. Минус - это тупой бот.

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

Создать новую тему Ответ Часовой пояс GMT +4, время: 13:29.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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