Создаем свою io игру
21.03.2019, 17:32

_____________________________________________________

io игры - это мультиплеерные браузерные игры .

Вот несколько сайтов с коллекцией io игр http://titotu.ru/  http://iogames.space/ и ТУТ

Прежде чем мы начнем разбирать теорию и примеры создания сетевых игр, давайте выясним Зачем и главное Что нужно для создания онлайн игры.

Первым делом хотелось бы немного рассказать вам о том, зачем вообще создавать многопользовательские игры. Вот как вы думаете, стоит ли делать многопользовательский режим в вашей игре? Определенно стоит! Ведь многопользовательская игра — это азарт, динамика, увлечение, вызов, новый опыт и многое другое, что заставляет играть в вашу игру вновь и вновь!

Пока человечество пытается развить идеальный искусственный интеллект в однопользовательских играх, онлайн игра по-прежнему не может сравниться с искусственным интеллектом. Важной частью любой многопользовательской игры являются люди. Люди, с которыми вы радуетесь за победу или разделяете горе от поражения. Взаимодействие с другими — это весьма интересно и является основой нашей жизни. В одних только чатах, общаясь с близкими и не очень близкими нам людьми, мы можем проводить время часами. Но представьте себе, что получается, если давать людям не только общаться, но и взаимодействовать друг с другом, например, через вашу игру!

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

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

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

Что необходимо для создания многопользовательской игры?

Данное обучение в большей степени ориентировано на создание многопользовательских игр в среде Adobe Flash, но технологии и теория, рассматриваямая здесь, подойдет и для любых других платформ. Поэтому если у вас еще не установлен Adobe Flash, то скачать пробную версию вы можетездесь...

Все примеры в этом уроке будут использовать Action Script 3 и будут создаваться в CS4. Если вы знаете только AS2, не волнуйтесь, так как кода будет не так много и он должен быть понятен вам. В любом случае вы не сможете бесконечно избегать AS3 и возможно сейчас у вас отличный повод, чтобы наконец перейти на новую версию языка.

Раньше Flash не имел возможности подключаться к другим клиентам (другим себе подобным флешкам) в Интернет без использования сервера. Но с приходом Flash Player 10 у Flash появился P2P (Peer-To-Peer), то есть теперь можно создавать сетевые игры без сервера. Но, не смотря на такую отличную возможность использовать прямые соеденения без каких-либо дополнительных инструментов и ресурсов, мы сделаем основной упор на клиент-серверную архитектуру сетевых игр. Возможно вы спросите почему? Ответы не заставят себя долго ждать и скоро вы узнаете почему клиент-серверая технология лучше и надежнее.

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

Сервер

Аренда или даже покупка внешнего сервера — это неприлично дорого для начинающего разработчика. Вы должны управлять им, быть уверенными всегда, что он не упал, защищать его от нападения, управлять сетевыми ресурсами в зависимости от популярности и выгоды игры, контролировать уровень связи и т.п.

В общем, как инди-разработчики, мы не хотим иметь и содержать собственный сервер, особенно в начале пути разработки многопользовательских игр. И так у нас два варианта: мы должны установить и настроить серверное оборудование с подключением к Интернет или нанять кого-то, чтобы это сделали за нас, и это потребовало минимум времени и денег. И тут к нам на помощь приходитPlayer.IO, который предлагает нам серверы и предоставляет API для работы с ними, с помощью которого можно создавать любые многопользовательские игры. Player.IO позаботится о всех нагрузках и управлении без вашего участия, что делает его идеальным для использования в инди-разработке. Использование Player.IO уменьшает количество забот возлагаемых на нас, и это отличный повод, чтобы выбрать его.

Player.IO

Player.IO — это, конечно, платный сервис, но даже бесплатный аккаунт позволяет создать многопользовательскую игру с 500 одновременно подключенными игроками и небольшими ограничениями на траффик. Таким образом, вам не нужно никаких денежных средств, чтобы начать разработку. Ну, а если ваша игра пойдет хорошо и вы упретесь в лимиты бесплатного аккаунта, то в таком случае вы сможете позволить себе уже платнный аккаунт, ведь игра пошла!

Использование API

Уверен, вам интересно знать, как использовать API Player.IO. Чтобы приступить к работе вам нужно несколько простых вещей. Первое, мы должны загрузить девелоперский SDK Player.IO с сайта playerio.com. В SDK включены все необходимые шаблоны для создания и запуска своего тестового сервера локально, который позволит без лишних действий тестировать и отлаживать игру.

Скачать SDK

Сохраните архив, где вам удобно, и распакуйте его, чтобы увидеть содержимое. Не обращайте пока внимание на вложенные папки кроме папки «NewGame». Зайдите в папку «NewGame» — здесь находится готовый шаблон для нашей будущей игры.

В папке «NewGame» вы должны увидеть две папки и два файла. Эти папки и файлы содержат весь необходимый код для эмуляции многопользовательской игры, используя компьютер в качестве виртуального сервера. То есть вы можете проверить работу игры без подключения к внешнему серверу, хотя авторизация и подключение к серверу Player.IO все же потребуется.

Первая папка «Flash» содержит все исходники вашего проекта, тут не должно быть для вас каких-либо сюрпризов.

А вот со второй папкой «Serverside Code» нам следует познакомиться более подробно, так как здесь для нас больше всего нового и непонятного.

Serverside Code

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

Сравнение синтаксиса AS3 и C#

Сравнение синтаксиса AS3 и C#.

Если вы боитесь или не желаете изучать C#, то, к сожалению, вынужден признать, что у вас не получится разрабатывать многопользовательские игры на клиент-серверной архитектуре. Впрочем с использованием Player.IO вы можете создавать и P2P соеденения без написания серверного кода. Поэтому если вы отчаялись, то не спешите закрывать это обучение, все самое интересное еще впереди!

Разработка с C#

Так же как и во Flash, у C# есть своя среда разработки Microsoft Visual Studio 2010 Express. Загрузить её вы можете здесь... (Visual C# 2010 Express). Не переживайте, это совершенно бесплатно!

Внимание! Чтобы получить бесплатный лицензионный ключ, необходимо скачать Visual C# Express и пройти бесплатную регистрацию на сайте. Чтобы пройти регистрацию вам понадобится учетная запись Live. Если вы планируете в будущем использовать Windows8, то я вам рекомендую отнестись внимательно к созданию аккаута Live, т.к. в Windows8 невозможно использовать без Live аккаунта, так что он вам пригодится.

Как только вы все установите, вернитесь в нашу папку «NewGame» и откройте проект C# под названием «Serverside Code.VS2010.sln». Это позволит вам открыть только нужные файлы проекта сервера, и вы увидете шаблон сервераPlayer.IO. Вообще, вам никогда не потребуется работать с файлами сервера на прямую.

Откройте «Game.cs» из Solution Explorer справа, и вы увидете закоментированный код. Без паники! Шаблон на самом деле очень простой. Но позже, в уроке, мы рассмотрим еще более простой шаблон.

Прочитайте комментарии в коде и определите основные функции:

  • GameStarted() — эквивалентна функции init() или onLoad() во Flash;
  • GotMessage() — вызывается, когда сервер получает информацию от клиента (игрока);
  • UserJoined() и UserLeft() — вызываются, когда игрок подключился или отключился соотвественно. Это основные функции-инструменты необходимые для создания многопользовательского сервера.

Дополнительную документацию для Player.IO под C# можно найти здесь...Документация даст наиболее подробную информацию о том, как это все работает, а так же перечень и описание всех функций, которые вы можете использовать. Хотя в любом случае я буду рассказывать обо всех важных моментах на примерах.

Когда вы будете готовы для запуска тестового сервера, просто нажмите на зеленую стрелку вверху окна. Если вы запускаете сервер впервые, то скорее всего вы увидете окно логина Player.IO. Да, не смотря на то, что сервер будет работать локально, необходима авторизация на сервере Player.IO и подключение к Интернет соотвественно. После авторизации вы увидете диалоговое окно (консоль), которое означает, что сервер запущен и ждет вашей игры для подключения. Теперь зайдите в папку Flash, откройте пример «MyGame.fla» и попробуйте скомпилировать его. Если все сделано правильно, то вы должны увидеть, как Flash приложение отправляет сообщения на сервер и получает их обратно, индикацию о подключениях или об ошибках вы должны увидеть в консоли сервера и в окне output Flash.

Это собственно и есть простой пример из разряда «Как это работает?».

Категория: Создать свою io игру | Добавил: Monster[TM]
Просмотров: 90 | Загрузок: 0 | Комментарии: 1 | Рейтинг: 5.0/2
Всего комментариев: 1
avatar
0
1 Monster[TM] • 19:50, 21.03.2019
Если что то непонятно можно спросить на сервисе вопрос- ответ в меню сайта cool B)  idea
avatar