[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Нужен совет
123456
В общем, мне необходимо сделать игру "Дурак"

Но исходники игры должны лежать на одном домене, а сама игра должна быть подключена на 10-ти сайтах(доменах).


Т.е. необходимо отправлять и получать запросы с сервера на сервер.


Пример:
S - это наш сервер с исходниками игры
k - клиент, на котором подключена игра

Шаг 1.
k отправляет запрос S на создание игры.
Шаг 2.
Отправляем запрос на проверку или S разрешил этому k создать игру, если да, то получаем свои карты; информацию о козыре и о том, кто начинает игру
Шаг 3.
Далее играем отправляя и получая запросы.
Шаг 4.
S закрывает игру


С таким количеством запросов я буду работать впервые. Подскажите, что необходимо учесть? Какая будет нагрузка на сервер? Если будет подключено 50 доменов и на каждом будет по 100 игр одновременно. Т.е. 5000 игр...



mvg
Так, как гугл я объяснять не умею. И вот методология расчета нагрузки на сервер описанная на хабре есть.

Но есть вопросы по самой игре: карты как будут с использованием GD отрисованные или HTMLом сверстанные?

Интересный вариант на РНР мне слабо вериться. Это типа учебного задания?
Valick
Цитата (mvg @ 20.01.2015 - 21:53)
Интересный вариант на РНР мне слабо вериться.

ты сомневаешься что на РНР можно сделать игру дурак???

_____________
Стимулятор ~yoomoney - 41001303250491
123456
mvg
Наверно я не так объяснил поставленную задачу.

У клиента будет подключен js и css файлы для полноценной работы игры. Так же у клиента будет php файл который содержит sekret-key(дает доступ на обращения к серверу) и обрабатывает информацию и отправлять серверу в нужном формате.


ЦЕЛЬ СОЗДАВАЕМОГО ПРОЕКТА:
Чтоб любой желающий мог разместить у себя на сайте игру.
Для этого достаточно, чтоб хостинг клиента имел поддержку php
123456
Т.е. прописав на сайте клиента вот эти три строчки, и закачав один php файл, для общения с сервером, игра должна работать в полноценном режиме.

<link href="http://server.ru/durak.css" rel="stylesheet" type="text/css" />
<script
src="http://server.ru/durak.js"></script>

<div
id="durak"></div>
kaww
123456, Зачем на сервере клиента скрипт, который будет по сути проксировать запросы на твой сервер? что будет замедлять работу. Пусть клиенты играют сразу на твоем сервере, тем более что, как я понял, игра будет проходить именно на нем.
AllesKlar
kaww
Ну, может, он ее продавать хочет.

_____________
[продано копирайтерам]
kaww
Цитата (AllesKlar @ 21.01.2015 - 02:16)
Ну, может, он ее продавать хочет.

может... только все равно не понятно что это меняет.
123456
Ну или можно таким образом. Клиент отправляет запрос на создание игры на сервер.
Сервер возвращает кэш игры и два каша для пользователей(аутендификация).

Далее на клиенте в iframe открывается данная игра с сервера(идентифицируем по полученному кэшу). По завершению игры отправляем клиенту статистику.
123456
Ну или такой вариант.
Пишем в API несколько методов
1. Создаем игру. В ответ получаем информацию о игре.
2. Методом проверяем статус игры до тех пор, пока она не будет начата или отклонена.
Если игра началась, то продолжаем...
3. Вывод игры в iframe

После завершения игры, сервер посылает клиету информацию о результатах игры.
kaww
Клиент - это сервер клиента или игровой клиент?
Почему 2 хэша? Разве в дурака нельзя играть больше чем вдвоем?

Попробую в двух словах объяснить сове видение (возможно, не лишенное каких-то кривых мест, это из-за того, что по-сути ниже изложена идея без какого-либо анализа)
Термины:
Сервер - гейм-сервер, на котором идет игра, т.е. это твой сервер.
Ретейлер - Сервер (сайт), который распространяет игру. Т.е. это твои клиенты
Клиент - Баузерное (или десктопное) приложение через которое пользователь, собственно, и играет

---
Все ретейлеры получают у тебя ид, который используют для инициализации клиента, например,
<script src="http://gameserver.123456.ru/durak/loader.js?rId=1234"></script>

,где rId - идентификатор ретейлера.

Клиент после авторизации (а может и без нее) с сервера получает список игр, может создать новую. Выбирает какую-нибудь и играет.
В клиенте реализована система событий, на которые ретейлер может подписываться (например, загоузка клиента, авторизация игрока, начало/окончание игры, действие игрока и т.д.)

Server-side API - Ретейлер по средствам апи может обращаться к серверу и получать данные о всех играх (У каждой игры есть свой ид, статус и прочая мета информация).
mvg
Цитата (Valick @ 20.01.2015 - 22:05)
Цитата (mvg @ 20.01.2015 - 21:53)
Интересный вариант на РНР мне слабо вериться.

ты сомневаешься что на РНР можно сделать игру дурак???

Во первых мне не понятно что будет делать сервер в этой игре и для чего собственно есть необходимость использовать php.

Во вторых думаю что одной технологией тут не обойдешься потому что надо их использовать несколько и как бы мне подсказывала интуииция то надо больше смотреть в сторону js с тэгом canvas нежели в сторону php.

php тут может помоч в хранении результатов. говорить разрешено играть или нет, и что такое... простенокое. Самой игрой замется в лучшем случае js, а что лучше применить в качестве графического интерфейса я не знаю. Может браузерный OpenGL.
Valick
mvg, вы просто далеки от игровой индустрии smile.gif


_____________
Стимулятор ~yoomoney - 41001303250491
mvg
Цитата (Valick @ 21.01.2015 - 15:15)
mvg, вы просто далеки от игровой индустрии smile.gif

Программировал игры только для Десктопа. Он-лайновые не приходилось. Но прикинув в голове что к чему и с чего бы я начал программирование он-лайн дурака и вышел мой пост.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.