| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Онлайн-игра. Вопросы по архитектуре. |
| Автор: mus 28.5.2013, 13:14 |
| Здравствуйте!.. О чем речь: В данный момент решил взяться за написание онлайн-игры (браузерной). Это для себя, в большей степени, нет дедлайнов, есть время и можно эксперементировать. Опыт работы с php есть, нормальный. Проблема с тем, что крупным проектов, тем более с таким задействованием javascript, я не писал. Суть игры: 1. Карточная игра с игровым полем (около 40 клеток для каждой фишки игрока) 2. Кол-во игроков - от 4 до 7. 3. Правила игры и детали разъяснять не буду, для дела не важно. 4. Игрок делает ход, карта вылетает на игровое поле, игроки также делают свои ходы и т.д. 5. По окончании ходов идет подсчет очков и по игровому полю перемещается слоник по кол-ву выигранных очков. 6. И так в цикле до победы одного из участников. Детали реализации: 1) PHP + JQuery + MySQL 2) Браузер не перегружается по ходу игры, все работает на Ajax (флеша тоже никакого нет). В чем вопрос?.. В архитектуре приложения. У нас есть множество статусов - игра заполняется, игра заполнилась -> идет выбор первого ведущего, ведущий выбран -> делается первый ход, ход участников игры, перемешиваются карты и т.д. Пока реализация обработчика всех этих статусов мне видится очень корявой, с точки зрения проектирования, структурой - один обработчик события напрямую вызывает следующий за ним обработчик. И так вот цепочка вызовов, причем связанная между собой. Рефакторинг такой цепочки мне видится делом проблемным, да и вцелом она интуитивно кажется какой-то кривой. Есть ли грамотные, и изящные с точки зрения проектирования, решения?.. Может какие ООП-шаблоны проектирования?.. Или еще что... И вообще - хотелось бы что-нибудь почитать на тему написания онлайн-игр. Есть книги или хорошие сайты?.. Google выдает кучу разрозненных статей, а тег игры больше соответствует графическим, нежели браузерным играм. |
| Автор: Vardoulacha 28.5.2013, 14:21 |
| Судя по тем рассказам разработчиков браузерных игр, что лично довелось слышать или читать, все начинали писать на коленке с нуля )) никаких тебе фреймворков никаких движков, и море ошибок которые в процессе заменялись на правильные решения )) Вряд ли где-то кто-то расскажет всю внутреннюю кухню своих игр, хотя есть один проект про который автор рассказывает что внутри http://habrahabr.ru/post/179027/ |
| Автор: cia 30.5.2013, 23:20 |
| PHP - он просто отлично справляется с задачей создания сайтов. Для игр, которые в первую очередь связаны с тесным общением между клиентом и сервером, это явно не лучшее решение. |
| Автор: Sanchezzz 30.5.2013, 23:34 |
| Для статуса и определение чей ход можно сделать long-point, дальше отталкиваться. |