Создание собственного игрового сервера для пошаговой многопользовательской игры для iPhone
Из Руководство по программированию Game Kit...
Мультиплеер позволяет заинтересованным игрокам в онлайн-многопользовательской игре открывать друг друга и подключен к матчу. В зависимости от ваши потребности, ваше приложение может иметь либо используйте Game Kit для подключения всех участники вместе, или игра Kit предоставит вам список игроков. В последнем случае вы бы предоставили вашей собственной реализации сети, которая подключает игроков к серверу, на котором вы обеспечить
Я хотел бы создать многопользовательскую, пошаговую игру для iPhone Game Center, и мне нужно будет написать собственный игровой сервер. Я планирую использовать API Game Center для аутентификации игроков, табло и сопряжения с игроками, но мне все равно придется создавать собственный пошаговый игровой сервер для управления многопользовательской связью. Это временная игра, поэтому сервер будет обрабатывать такие вещи, как синхронизация начала игры и уведомление игроков, когда игра будет завершена, а также результаты матча. На данный момент я просто пытаюсь выяснить, с чего начать с создания игрового сервера, и я действительно изо всех сил стараюсь найти любые хорошие ресурсы, которые покрывают...
-
Как построены и реализованы игровые серверы на основе поворота. В идеале я хотел бы найти книгу или онлайн-статью с кодом экзамена, но каждая прочитанная книга, в которой обсуждаются многопользовательские игры на iPhone, говорит то же самое: "Разработка веб-сервера выходит за рамки этой книги, но хорошо сфокусируйтесь на код клиентской стороны, необходимый для подключения к такому серверу". Где я могу найти информацию о разработке веб-сервера?!
-
Хорошие библиотеки /API для использования
- Проблемы безопасности и общие решения
- Существующие пакеты с открытым исходным кодом
- Мне хотелось узнать Ruby on Rails для других предстоящих проектов, и я бы хотел убить двух птиц одним камнем, может ли эта структура работать хорошо для реализации пошагового игрового сервера?
Может ли кто-нибудь помочь мне направить некоторые хорошие книги или онлайн-ресурсы, которые охватывают эту тему? Или ответьте на мои вопросы напрямую? Я должен думать, что разработка игрового сервера - очень распространенная проблема для тех, кто строит игры для iOS Game Center, поскольку большинство из них многопользовательские, но я не могу понять, почему нет ресурсов, которые покрывают то, как это делается.
Большое спасибо за вашу помощь!
Ответы
Ответ 1
Вы задали несколько отдельных вопросов, поэтому я дам краткие ответы.
Как структурированы и внедрены серверы игры по очереди
Как и любой другой сервер, он прослушивает подключения, обрабатывает запросы и отправляет ответы.
Очень легко написать веб-сервис, который использует JSON/XML. Я думаю, это будет лучшее и быстрое решение вашей проблемы (субъективное)!
Хорошие библиотеки /API для использования Хотя на настольной стороне игрового программирования есть несколько хороших фреймворков и библиотек, я не могу придумать какую-либо "веб-библиотеку".
Проблемы безопасности и общие решения
Основные Authentifcation и OAuth - две из нескольких возможностей для защиты вашего веб-сервиса.
Существующие пакеты с открытым исходным кодом
Вы уже упоминали Ruby on Rails, но я рекомендую Django для получения отличной документации, чтобы вы начали. Я построил свой веб-сервис iPhone вокруг Django Piston, который является отличной мини-картой.
Я хотел научиться Ruby on Rails для других предстоящих проектов, и я хотел бы убить двух зайцев одним выстрелом, может ли эта структура хорошо работать для создания пошагового игрового сервера? Да, см. Мой ответ выше.
Ответ 2
iOS 5.0 добавляет поддержку пошаговых игр, см. http://developer.apple.com/technologies/ios5/.
Ответ 3
На рынке есть несколько многопользовательских серверных предложений, которые можно использовать для создания собственного пошагового сервера.
Вы можете взглянуть на unionplatform.com. По-видимому, для iPhone нет клиентского SDK. Но сообщество начинает думать о создании одного (см. http://www.unionplatform.com/?p=1446).
Также проверьте OpenFeint. Возможно, они покрывают то, что вам нужно.
Я знаю, что это не исчерпывающий ответ, но я уверен, что другие будут развиваться.