10 интересных API для разработчиков игр
При создании собственной конкурентоспособной игры не обойтись без game API. Эти протоколы созданы, чтобы оптимизировать процессы разработки: почти все необходимые функции надо только найти и интегрировать.
Преимущества применения API:
- Упрощённый доступ к данным из различных интернет-ресурсов с интеграцией сторонних технологий и сервисов.
- Высокая гибкость и масштабируемость приложения из-за добавления новых функций, которые можно обновлять и редактировать.
- Внедрение API в программу сокращает срок выхода её на рынок, увеличивая конкурентное преимущество.
Чтобы вы выбрали интересные и подходящие проекту решения, мы сделали обзор популярных API.
Топ-10 игровых API для разработчиков игровых приложений
Discord API
Для общения в реальном времени через голосовой и текстовый чаты. Можно использовать AI-поддержку при работе с групповыми чатами. Позволяет игрокам устанавливать свой статус (например, «онлайн», «бездействует» или «не в сети»).
Программный интерфейс достаточно прост в использовании и предлагает подробную онлайн-документацию для разработчиков. Кроме того, он бесплатный и находится в открытом доступе.
API Discord используется в таких играх, как Warframe, Among Us, Destiny 2, Fortnite, Minecraft и других.
Примеры запросов:
- GET https://discord.com/developers/docs/topics/oauth2 — авторизация.
- GET https://discord.com/developers/docs/resources/channel#create-message — отправка сообщения.
Unity API
Unity API — часть популярного игрового движка Unity с набором полезных функций для создания интерактивных игр. С его помощью вы легко можете добавлять в своё приложение элементы 2D и 3D-графики, различные физические модели, системы анимации и манипулирования объектами.
Протокол позволит настроить управление вводом с помощью клавиатуры (консоли), функциональные возможности искусственного интеллекта, а также модифицировать игровую механику (например, создавать персонажей и развивать их автоматизированное взаимодействие).
Unity API до сих пор использовался в таких играх, как Pokémon GO, Hearthstone, Genshin Impact и других.
Примеры запросов:
- POST https://services.api.unity.com/auth/v1/token-exchange — запрос для обмена токенами при аутентификации.
- POST https://services.api.unity.com/assets/v1/organizations/{organizationId}/projects — создать проект.
Twitch API
Интегрируйте Твич-чаты в свои игры, планируйте и проводите броадкасты, делайте нарезки из них.
Для работы с API подойдут различные языки программирования и библиотеки. Если вы взаимодействуете с REST API, то советуем библиотеку Axios при написании кода на Javascript, Requests — на Python.
Для использования большинства эндпоинтов выбирайте аутентификацию OAuth 2.0. Предварительно зарегистрируйтесь в Twitch Developer Portal для доступа к API.
Примеры запросов:
- POST https://api.twitch.tv/helix/users?login={username} — проверка имени юзера на подлинность.
- GET https://dev.twitch.tv/docs/v5/reference/streams/#get-live-streams — получить список активных стримов.
API Steamworks
Интеграция API Steamworks от игровой платформы Steam в приложение позволит добавить в него списки лидеров, многопользовательский подбор игроков, внутриигровые покупки, индивидуальный стиль персонажей и многое другое.
Подключённый по API сервис Steam Cloud сохранит игровые данные геймера на серверах Steam, и тот сможет получить доступ к ним с любого устройства и в любой сети. Существует также возможность добавить взаимодействие с сообществом, с помощью которого геймеры будут общаться онлайн.
Этот API используется в таких играх, как Dota 2, PUBG, Grand Theft Auto V, Civilization VI и других.
Примеры запросов:
- POST https://partner.steamgames.com/doc/webapi/IAuthenticationService#BeginAuthSessionViaCredentials — начать аутентификацию.
- POST https://partner.steamgames.com/doc/webapi/IClientStats_1046930#ReportEvent — получить статистику о клиенте.
МТС Exolve API
Поможет сделать авторизацию или регистрацию в игре по SMS или звонку на телефон. В документации подробно прописано, что и как делать по всем видам API. Благодаря SMS API или Numbering API данные по каждому сообщению и звонку будут храниться в системе.
Примеры запросов:
- POST: https://api.exolve.ru/callback/v1/Create — создать услугу обратного звонка.
- POST: https://api.exolve.ru/messaging/v1/SendSMS — отправить SMS.
VK API
VK API используют для авторизации пользователей, получения имени, фотографии, друзей каждого зарегистрировавшегося в игре. Подключайте оплату через VK PAY. Создавайте и управляйте рекламными кампаниями на платформе «ВКонтакте» и анализируйте их результаты.
Игроки смогут делиться своими трофеями на личных страницах «ВКонтакте», приглашать друзей в игру, тем самым популяризируя её. Подключив API ВК, вы дадите игрокам возможность общаться друг с другом в чатах.
Примеры запросов:
- POST https://api.vk.com/method/friends.get?fields=sex&access_token=0394a2ede332c9a13eb82e9b24631604c31df978b4e2f0fbd2c549944f9d79a5bc866455623bd560732ab&v=5.126 — получить список друзей с указанием пола.
- POST https://api.vk.com/method/bugtracker.getProductBuildUploadServer?product_id=$1&access_token=533bacf01t11f55b536a565c57531ac114461ae8736d6506a3&v=5.131 HTTP/1.1 — пример запроса с ключом доступа.
VK Play API
Коллекция VK Play объединила в себе каталог игр, платформу для купли-продажи предметов внутри их, функциональность стриминга и возможность играть в облаке.
Воспользуйтесь готовой реализацией игрового магазина, подключив через API-интерфейсы внутриигровые таверны и различный «скидочный» инвентарь с настроенной системой сортировки товаров и приёма платежей.
Примеры запросов:
- GET https://vkplay.ru/app/GMRID/transaction/list'\ — запрос последних 50 платежей.
- GET https://vkplay.ru/app/GMRID/transaction/get'\ — запрос платежа по Transaction ID (tid).
PhysX
Ещё один достаточно популярный API для разработки игр — это API физического игрового движка PhysX от компании NVIDIA. Интегрировав его в приложение, вы добавите игре реалистичности. API даёт возможность моделирования физических свойств объектов. С его помощью создают эффекты столкновений, землетрясений, движения, гравитации, схожие с настоящими.
Примеры запросов:
- GET https://ConcreteType() — предоставляет целое числовое значение, соответствующее конкретному типу объекта.
- GET https://ConcreteTypeName() — предоставляет имя строки конкретного типа.
GameReady API
«Яндекс API» разработан, чтобы игра загружалась быстрее. При снижении скорости возрастает риск того, что терпение геймера иссякнет, и вместо длительного ожидания он просто уйдёт.
GameReady помогает ускорить и разнообразить процесс запуска всех систем. Кроме того, он копит данные для повышения производительности процесса и доступности, что важно при игре на смартфоне или планшете.
Протокол позволяет добавить показ рекламного блока, пока игра загружается, а это принесёт разработчику дополнительный доход, или общего для всех игр загрузочного экрана — с игровыми скриншотами и отзывами геймеров.
RAWG
Крупнейшая открытая база игр (350 тысяч для более чем 50 платформ), которая содержит описания, жанры, даты выпуска, ссылки на магазины, рейтинги ESRB, среднее время игры, видео геймплея, рейтинги критиков, официальные сайты, системные требования и многое другое. Используя бесплатный тарифный план, можно сделать до 20 000 запросов в месяц с обязательными обратными ссылками на RAWG со страниц, где используются данные.
Примеры запросов:
- GET https://api.rawg.io/api/platforms?key=YOUR_API_KEY — добавление ключа API в запрос.
- GET https://api.rawg.io/api/games — получить список доступных игр.
Заключение
Использование API поможет быстро внедрить новые функции, которые раньше вам пришлось бы создавать вручную с нуля. Последние исследования показывают, что компании, использующие API, почти на 60% более продуктивны по сравнению с другими. Разработка игр не исключение, это трудоёмкий и сложный процесс, в котором API позволяют сократить время разработки и сосредоточить усилия на более важных вещах.