Какова лучшая реализация Networking для моего приложения? - PullRequest
0 голосов
/ 15 июня 2010

Я нахожусь на этапах планирования проекта для себя, это будет одиночная и многопользовательская карточная игра. Я хотел бы отслеживать статистику по каждому человеку, например, мировые рейтинги и т. Д. *

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

Я пытался изучить облачные сервисы, однако я не знаком с этой технологией, и я не уверен, что смогу заставить их удовлетворить свои потребности, тем более что большинство, как облако Google, хотят, чтобы вы использовали их архитектуру кодирования из того, что я понимаю

Наконец, моя последняя проблема в том, что мне нужна архитектура, которая может использоваться для разных языков, чтобы я мог переносить ее с ПК на IPhone, Xbox и т. Д. ...

Так есть ли у кого-нибудь совет по лучшей архитектуре и языку для этого?

Меня сильно беспокоит архитектура и дополнительные расходы, и я должен просто сконцентрироваться на запуске игры каким-либо образом?

Ответы [ 2 ]

0 голосов
/ 15 июня 2010

C # будет отличным языком даже для iPhone и Xbox.С платформой Microsoft XNA вы можете написать приложение своей клиентской карты для ПК, Xbox и Zune, не меняя большого количества кода вообще.Если вы рассматриваете iPhone, то вам следует рассмотреть MonoTouch , который позволяет писать C # для iPhone.У вас также есть Silverlight , который вы можете использовать для написания полнофункционального клиента для Интернета.Итак, я бы абсолютно предложил C #, будь то просто для обучения или для последующего запуска в производство.

Что касается использования сервера в Интернете, я бы предложил просто установить SQL Server Express издание.Таким образом, вы можете запустить сервер на своем локальном компьютере отдельно, вместе с клиентом, чтобы избежать необходимости платить за хост.Затем, когда вы будете готовы, вы можете переместить его в экземпляр SQL Server, размещенный в Интернете, или просто бесплатно использовать MySQL или подобное позже, когда будете готовы.

0 голосов
/ 15 июня 2010

Я думаю, что вопрос стоимости (например, хостинга баз данных) является деловым, а не техническим решением. Вы пытаетесь получить прибыль? Сколько пользователей будет у вас за вашу игру и сколько они будут платить (прямо или косвенно, например, через рекламу). Существуют хостинговые решения для любого языка / хранилища данных, которые вы можете выбрать. Я сомневаюсь, что для этого вам нужны «облачные» решения, хотя стандартная база данных (MSSQL, MySQL, Postgres и т. Д.) Должна работать нормально, и одна из них будет поставляться практически с любым планом хостинга, который позволяет вам развертывать собственный код.

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

Что касается вашего последнего вопроса о переходе на другие платформы, не относящиеся к ПК, я боюсь, что вам там в основном не повезло. C # /. NET поможет вам развернуть на телефоны под управлением Windows, но, например, iPhone, вы должны использовать Apple SDK и среду. Я понятия не имею о XBox. Лучший совет, который я могу дать здесь, - абстрагировать ваши слои (например, архитектуру MVC) и поддерживать чистое и хорошо документированное разделение между ними. Таким образом, вы можете повторно реализовать, скажем, представление и контроллер на iPhone, но при этом использовать эту централизованную модель данных.

...