Создание сервера для арбитража простой игры - PullRequest
4 голосов
/ 22 сентября 2011

Я создал простую игру, в которой 2 игрока делают выбор одновременно в каждом раунде, и победитель раунда определяется набором правил, специфичных для игры. Вроде как работает Rock Paper Scissors.

Я бы хотел предложить эту игру онлайн, где 2 игрока могут найти друг друга и играть друг против друга. Должен быть какой-то центральный сервер для арбитража игры, а затем каждый игрок будет взаимодействовать с игрой, используя своего игрового клиента по своему выбору, который мы предоставим (например, веб-интерфейс, мобильный интерфейс, Flash и т. Д.).

Очевидно, что игрок мог также играть против компьютерного оппонента, которого мы могли предоставить. Я также хотел бы иметь возможность позволить программистам представлять свои компьютерные программы, которые они написали, в качестве игроков и играть против других программ в каком-то турнире.

Я понимаю, что специфика моей игры, безусловно, должна была бы быть написана с нуля, но кажется, что вся работа, которую серверы должны были бы выполнить, чтобы общаться с клиентами и поддерживать состояние игры, вероятно, была сделано много раз раньше. Это, наверное, основная часть работы.

У кого-нибудь есть идеи, как это можно сделать быстро и легко? Существуют ли серверы со стандартным интерфейсом для добавления новых игр? Есть ли какой-нибудь игровой сервер с открытым исходным кодом? Как бы вы поступили так?

1 Ответ

1 голос
/ 18 ноября 2011

Поскольку клиенты время от времени общаются с игровым сервером (в отличие от непрерывного), веб-инфраструктура должна быть в качестве вашего "основного игрового сервера".Хотя веб-фреймворки могут быть созданы для предоставления «веб-страниц», они, безусловно, могут (ab) использоваться в качестве обработчиков запросов.

Это, безусловно, не заставляет вас делать игру браузерной игрой;автономные игровые клиенты могут быть легко созданы, и они могут общаться с вашим игровым сервером, используя базовый http.Я также слышал, что эта штука под названием Ajax довольно изящна для таких вещей.

Мало того, что вы найдете множество готовых серверов на основе http, в качестве дополнительного бонуса, есть еще много документации о том,работать с Web 2.0® © ™, чем с «игровыми серверами».Вам просто нужно знать, что вам нужна веб-инфраструктура, которая позволяет легко управлять сеансами и получать / отвечать на запросы, и клиентская библиотека, которая делает то же самое.

В качестве дополнения, «поддержание состояния игры»как вы говорите, попадает на 100% в область реальной игровой логики.Но многие веб-фреймворки имеют хорошую поддержку баз данных и, безусловно, будут полезны для такого рода вещей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...