2009-06-13 1 views
1

Я собираюсь разработать простую 2D-игру, например, шахматы, шашки или реверси. Есть только простые анимации игроков. Никакая сложная математика и графика, поэтому мне интересно, лучше ли с P2P работать над клиентом/разорванным подходом.Является ли P2P или архитектура клиент-сервер лучше для моей игры?

Игра будет игрой iPhone/iPod Touch (а позже будет запущена в игре с веб-браузером с использованием Cappuccino). Два iPhone-плеера могут играть, когда рядом друг с другом через bluetooth/bonjour. Или игра может быть сыграна против других удаленных игроков iPhone через Интернет, iPhone для iPhone; (а позже - iPhone для браузера или браузер для браузера).

Игра начинается с двух игроков, каждая из которых имеет согласованное количество штук для размещения на доске.

Оба игрока постоянно подключены, потому что игра будет иметь таймер обратного отсчета, установленный на согласованный временной интервал в 10, 20, 30 секунд, в течение которого активный игрок (игрок A) должен сделать ход. Если игрок А не совершает движение до того, как таймер начнет отсчет до нуля, игрок А потеряет свой ход, а противоположный игрок (Игрок В) станет активным игроком. Счетчик таймера отображается на экране каждого игрока.

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

Могу ли я, пожалуйста, подумать о том, что лучше для моей игры? P2P или клиент/сервер?

+0

Учитывая, что вы не определили «наилучший», вы ищете список ** всех ** технических преимуществ и недостатков (и всех бизнес-преимуществ и недостатков) каждого метода? – ChrisW

ответ

0

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

+1

Добавление сервера может не увеличить время ожидания «слишком много» и может иметь преимущества, которые делают его полезным. – ChrisW

0

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

3

В какой-то степени это зависит от желаемого набора функций. Например: у вас будут «высокие баллы» или «сохраненные игры»? Вы уверены, что ваши игроки будут достаточно близко, чтобы всегда играть через Bluetooth? Если нет - как вы сможете «подключить» их друг к другу, если они просто используют Интернет? У вас есть серверная инфраструктура сейчас?

Кроме того, было бы полезно знать, является ли это всего лишь «экспериментом/игрушкой», которую вы делаете, или что-то, что вы намерены коммерциализировать/опубликовать для общественности.

В конце дня вы можете сделать это в любом случае. «Лучше всего» зависит от вашей специфики.

2

Я мало знаю о развитии iPhone, но думаю, что было бы лучше поддерживать оба варианта, если это возможно.

Для «локального» сценария P2P - это путь. Игроки могут легко найти друг друга и начать игру без хлопот установки сервера и подключения к нему.

С другой стороны, если вы хотите, чтобы игра была воспроизведена через Интернет, я думаю, что модель клиент-сервер более подходит. Вы также можете размещать статистику на сервере (высокие баллы?), Организовывать турниры и многое другое.

Смежные вопросы