Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Онлайн-игра. Вопросы по архитектуре. 
:(
    Опции темы
mus
Дата 28.5.2013, 13:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 80
Регистрация: 22.5.2005

Репутация: нет
Всего: 1



Здравствуйте!..

О чем речь:
В данный момент решил взяться за написание онлайн-игры (браузерной).
Это для себя, в большей степени, нет дедлайнов, есть время и можно эксперементировать.
Опыт работы с php есть, нормальный. Проблема с тем, что крупным проектов, тем более с таким задействованием javascript, я не писал.

Суть игры:
1. Карточная игра с игровым полем (около 40 клеток для каждой фишки игрока)
2. Кол-во игроков - от 4 до 7.
3. Правила игры и детали разъяснять не буду, для дела не важно.
4. Игрок делает ход, карта вылетает на игровое поле, игроки также делают свои ходы и т.д.
5. По окончании ходов идет подсчет очков и по игровому полю перемещается слоник по кол-ву выигранных очков.
6. И так в цикле до победы одного из участников.

Детали реализации:
1) PHP + JQuery + MySQL
2) Браузер не перегружается по ходу игры, все работает на Ajax (флеша тоже никакого нет).

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

Есть ли грамотные, и изящные с точки зрения проектирования, решения?..
Может какие ООП-шаблоны проектирования?..
Или еще что...

И вообще - хотелось бы что-нибудь почитать на тему написания онлайн-игр. Есть книги или хорошие сайты?..
Google выдает кучу разрозненных статей, а тег игры больше соответствует графическим, нежели браузерным играм.
PM MAIL   Вверх
Vardoulacha
Дата 28.5.2013, 14:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 183
Регистрация: 11.8.2005

Репутация: 7
Всего: 8



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

Вряд ли где-то кто-то расскажет всю внутреннюю кухню своих игр, хотя есть один проект про который автор рассказывает что внутри http://habrahabr.ru/post/179027/
PM MAIL   Вверх
cia
Дата 30.5.2013, 23:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 207
Регистрация: 15.1.2007

Репутация: 4
Всего: 4



PHP - он просто отлично справляется с задачей создания сайтов. Для игр, которые в первую очередь связаны с тесным общением между клиентом и сервером, это явно не лучшее решение.
PM WWW ICQ   Вверх
Sanchezzz
Дата 30.5.2013, 23:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: 41
Всего: 60



Для статуса и определение чей ход можно сделать long-point, дальше отталкиваться. 


--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1171 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.