Интеграция таблицы лидеров, достижений и социальных функций

Tagged

Stats

602 visits, 644 views

Tools

Clay.io - это хаб HTML5 игр, который является как магазином приложений, так и API. Этот гайд поможет вам добавить в своё приложение некоторые возможности, например достижения и таблицу лидеров.

Для этого урока я буду использовать демо-игру "Space Blaster".

Регистрация

Первым шагом к использованию Clay.io API - регистрация на Clay.io и создания ключа приложения, для работы с ним.

Вы можете зарегистрироваться на Clay.io здесь: http://clay.io/join

Когда закончите регистрацию, перейдите на страницу для разработчика и нажмите "Upgrade Account to Developer".

Вас попросят указать Имя разработчика (Например: "Vigil Games"), Уникальный никнейм/короткую ссылку (вашу страницу можно будет найти по короткй ссылке clay.io/developer/Никнейм), URL (если у вас есть вебсайт) и Биографию (небольшой рассказ о себе или о своей студии).

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

Поддомен - место на Clay.io, где будет находиться ваша игра(если вы выберете "mygame", вы сможете найти её на http://mygame.clay.io)

Цена - оставьте 0.00, если не хотите взимать деньги за доступ к вашему приложению, иначе введите сумму, которую вы считаете приемлемой

Zip File - пока пропустите этот шаг - это для загрузки уже законченных игр, мы же пока будем реализовывать API, нам это пока не нужно.

Теперь мы готовы начать!

Установка плагина

Вы можете скачать Clay.io Construct 2 плагин здесь (в дальнейшем вы также сможете найти здесь необходимую документацию)

После загрузки откройте zip архив и скопируйте папку "clay" в папку установки Construct 2, в раздел плагинов (обычно это находится здесь: C:\Program Files\Construct 2\exporters\html5\plugins)

Далее, откройте свой проект, и добавьте в него новый объект. Clay.io будет расположен в секции "Web".

Вставьте API key в панели properties (то, что вы ввели ранее в графе поддомен, это также доступно из настроек вашей игры).

Включенный debug mode означает, что любые полученные вами достиженея не будут отображаться на Clay.io, а лучшие рекорды не попадут в таблицу лидеров. Не забудьте выключить этот режим перед публикацией, если он до этого был включен.

Таблица лидеров

Первым шагом для добавления таблицы результатов в вашу игру будет посещение страницы для разработчика, нажмите на "Leaderboards", потом на "Add a Leaderboard".

Вы увидите нечто подобное:

Поле Name - это то, что будет показываться в заголовке таблицы рекордов, например:

Поле Type имеет два варианта на выбор: "Default" и "Incrementing". Default это типичная система очков, где один пользователь, к примеру, может иметь 7 лучших результатов, и все они будут записаны. При выборе incrementing, каждый новый рекорд пользователя будет перезаписывать старый. Например, количество побед.

Когда вы нажмёте кнопку "Add Leaderboard", вы увидите сообщение: "Your leaderboard was successfully added with ID: 26" (Не обязательно 26 - нам пригодится ID на следующих этапах).

Далее, в Construct 2 на вкладке "Events", добавьте к какому-нибудь событию дейстие, что вы хотите отправить новый рекорд в таблицу (в Space Blaster это происходит, когда здоровье персонажа равно 0, и игра окончена). Выберите: "Clayio -> Post Leaderboard Score).

Player Name может оставаться пустым. Если поле не заполнено, Clay.io спросит имя пользователя (или если он вошёл в Clay.io, будут использованы данные его аккаунта). Если вы укажете имя, Clay.io использует его для ассоциации со значением переменной.

Player Score будет выражением/переменной. В Space Blaster, это "score".

Leaderboard ID - то, что мы получили на предыдущем шаге - для этой игры это было 26.

Всё это мы сделали, чтобы отправить данные в таблицу, но сейчас мы хотим получить её саму. For some games it makes sense to show the leaderboard after every score is posted, for others, you might want to bind it to a key press. For this tutorial, we're going to have it show each time a score is posted.

Создайте новое действие "Clayio -> Leaderboard Score Posted". Далее, добавьте к нему действие: "Clayio -> Show Leaderboard"

Leaderboard ID - опять же, то, что нам было показано после создания таблицы на Clay.io (26 для этой игры, у вас может быть другое)

Time Frame позволяет указать временной период. Вы можете получать рекорды за последние 30 дней, 7 дней или 24 часа (а также за всё время).

High Score - может быть индивидуальный или совокупный. Если выбрать "совокупный", а пользователь отправил 3 рекорда: 15, 25 and 11, то вернётся их сумма: 51, а не 3 числа по отдельности.

Scores From позволяет сузить круг людей, для кого отображать лучшие очки. Вы можете выбрать из нескольких вариантов: 1) Для всех игроков, 2) Только для находящихся в сети, или 3) Для друзей (они должны быть залогинены на Clay.io, чтобы определить, что они - друзья).

Готово! Ваша таблица рекордов настроена и готова к использованию.

Достижения

Для этого примера, мы собираемся давать достижение за первое убийство в Space Blaster.

Для начала, нужно создать достижение на панели разработчиков Clay.io. Нажмите "Achievements" для вашей игры, после "Add an Achievement".

Для справки, достижение будет выглядеть следующим образом::

Title будет отображаться в заголовке достижения

Description будет находиться в "теле" достижения

Clay.io bronze points - подобно Xbox Live GamerScore показывают важность достижения Clay.io. Вы можете дать до 100 очков за каждую игру

Icon - опционально, можно загрузить 50x50 иконку, которая будет располагаться слева от описания.

Когда вы нажмёте "Add Achievement", вы получите сообщение с новым ID достижения. Он пригодится нам позже (в нашем случае, это 125).

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

Выберите действие "Clayio -> "Award Achievement".

Achievement ID - то, что мы получили при создании достижения на Clay.io (125)

Вот и всё! Когда враг умирает, пользователь получает достижение.

Снимки экрана

Construct 2 позволяет делать скриншоты, но когда вы его сделаете, вы не сможете отправить его на Facebook, или получить ссылку на него. Плагин Clay.io может загружать снимки на свой сервер и давать ссылку на них.

Для достижения этого, сначала добавьте действие "System -> Snapshot canvas" к какому-то условию (сейчас я использовал нажатие клавиши "S")

Далее, создайте событие: "System -> On Canvas Snapshot", и действие: "Clayio -> Post Screenshot to Clay.io".

Действие запросит у вас "Screenshot Data URL" - используя окно "expressions", и выберете "System -> CanvasSnapshot"

Как только вы создадите это действие, вы уже всё сделали - снимки экрана будут отправяться на Clay.io аккаунт пользователя (если он залогинился, иначе его попросят ввести логин и пароль). Детали по отправке на Facebook здесь не рассматриваются.

Постинг на Facebook и Twitter

Процессы для публикации в Facebook, Twitter и Clay.io практически идентичны, чтобы не повторяться, я рассмотрю постинг на Facebook.

Создайте событие, при котором будет это происходить (Я выбрал нажатие клавиши "F").

Далее, выберите действие "Clayio -> Post to Facebook Wall".

Message - текст, который мы отправим на Facebook

Link - необязательная ссылка, которая будет приклеплена к сообщению

Picture ссылка на изображение, прикрепляемое к посту, опционально.

Отправка скриншотов на Facebook

Соединим последние два пункта: давайте отправим снимок экрана на Facebook.

Сначала, следуйте инструкциям из секции "Снимки экрана". После, создайте событие "Clayio -> Screenshot Posted". Добавьте к нему действие: "Clayio -> Post to Facebook Wall".

Сейчас мы проделаем всё, что было во втором пункте, только в поле Picture вставим: "Clayio -> ScreenshotSrc".

Всё, готово!

Для примера игры, использующей API Clai.io, посмотрите Word Wars.

This tutorial doesn't cover everything the plugin does, so be sure to read over the official documentation.

  • 0 Comments

  • Order by
Want to leave a comment? Login or Register an account!