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

3

Tagged

Stats

3,142 visits, 4,162 views

Tools

License

This tutorial is licensed under CC BY 4.0. Please refer to the license text if you wish to reuse, share or remix the content contained within this tutorial.

Published on 8 Mar, 2017. Last updated 25 Feb, 2019

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

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