Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как делаются игры через PHP сервер между двумя игроками?
 
 автор: pavluxa09   (16.06.2012 в 14:13)   письмо автору
 
 

Здравствуйте. Хочу сделать игру "Крестики-нолики" между двумя пользователями через сайт. Т.е на сайте у меня расположен AJAX и обменивается он данными с PHP где в базе хранится ход игры.
Как это всё правильно реализовать, можете пожалуйста подсказать учебники по данному направлению и примеры. Буду очень благодарен

  Ответить  
 
 автор: Саня   (16.06.2012 в 14:20)   письмо автору
 
   для: pavluxa09   (16.06.2012 в 14:13)
 

Организовать можно как угодно. Возьмите любой чат и посмотрите как там всё организовано. Принцип абсолютно такой же.

  Ответить  
 
 автор: pavluxa09   (16.06.2012 в 14:22)   письмо автору
 
   для: Саня   (16.06.2012 в 14:20)
 

Это понятно, но нужно так что бы это было наиболее оптимально. Я думал может есть какой то класс который для этого предназначен, ведь все flash игры типа live-games тоже реализовуются взаимодествием только Flash с PHP, что скажете по этому поводу?

Например зачем постоянно отправлять текущие данные об игре, когда можно смотреть не изменилось ли ничего, если изменилось то уже отправлять, а иначе нет. Т.е много тонкостей, может есть класс в котором всё это уже собрано?

  Ответить  
 
 автор: Саня   (16.06.2012 в 14:27)   письмо автору
 
   для: pavluxa09   (16.06.2012 в 14:22)
 

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

  Ответить  
 
 автор: pavluxa09   (16.06.2012 в 14:42)   письмо автору
 
   для: Саня   (16.06.2012 в 14:27)
 

Это слишком просто, не может быть что бы крупные игровые порталы на AJAX работали именно так, когда в онлайне под милион игроков это сильно нагружает сервер

  Ответить  
 
 автор: Саня   (16.06.2012 в 15:12)   письмо автору
 
   для: pavluxa09   (16.06.2012 в 14:42)
 

HTTP-протокол очень простой, поэтому сложных решений тут не найдёшь. Это в любом случае будет аякс и точка. Веб сокеты в принципе неплохая идея, но она ещё очень сырая и имеет некоторые проблемы с безопасностью.

> онлайне под милион игроков это сильно нагружает сервер
В таком случае рядом ставят ещё один сервер :)

С клиентской стороны выбора почти нет. А заточка под большие объёмы и высокие нагрузки — это уже забота серверной стороны. Вот тут-то можно разгуляться как хочешь. И кластер из серверов, и балансировщики, и любой язык программирования для серверной части, и, и, и... выбор просто огромен. А у клиента только HTTP да JavaScript.

Можно конечно написать логику на flash, java, silverlight или любом другом экзотическом плагине (а то и написать свой!). Но всегда должен быть fallback на аякс, как на технологию, которая работает на 99% устройствах и браузерах. Но в таком случае увеличивается стоимость сопровождения, поэтому крупным порталам проще и дешевле купить новую железяку, чем поддерживать зоопарк решений.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования