Можно ли создать многопользовательскую игру с приложением Google Cast Remote Display?
Я хотел бы создать многопользовательскую игру (игроки находятся в одной комнате), где у каждого игрока есть смартфон Android, и все они подключены к устройству Cast (например, Chromecast), которое подключено к телевизору (где игра отображается на экране), Каждый смартфон действует как пульт дистанционного управления, а телевизор - как экран для каждого плеера.
Ниже я представлю два (я) возможных решения. Пожалуйста, дайте мне знать, возможно ли первое решение (и как его реализовать) и знаете ли вы ответ на второй вопрос.
1) Сценарий 1:
Можно ли запустить игру на одном смартфоне и отобразить изображение на устройстве Cast, при этом другие игроки (на других смартфонах) подключаются к первому смартфону (вводя данные в игру)? Есть ли способ синхронизации игроков (например, GameManager API) в этом сценарии приложения удаленного отображения? ( Аналогичный вопрос)
2) Сценарий 2:
Если первое решение невозможно, пожалуйста, дайте мне знать ваши мысли о следующем сценарии. Игра запускается как приложение Receiver (размещено на сервере Google и доступно для устройства Cast), и возможно использовать API GameManager. Каждый смартфон является приложением отправителя, которое отправляет игровые действия и другие сообщения. Это ситуация, представленная в примерах Google. В этой ситуации, должна ли игра быть написана на JavaScript, например, SpellCast в последней ссылке?
Спасибо за любую помощь!
2 ответа
Если вы хотите использовать API-интерфейсы RemoteDisplay, то к устройству Cast можно напрямую подключить только одно устройство, а другим устройствам необходимо обмениваться данными с первым подключенным устройством, используя любой механизм, который больше подходит для вашей игры / приложения. Если, с другой стороны, вы используете Cast SDK и обычные приложения на основе HTML, то вы определенно можете подключить к устройству одновременно несколько устройств, и они могут общаться друг с другом, при желании, через ваш приемник. Второй подход определенно нуждается в специальном приемнике, но первый подход использует приемник RemoteDisplay.
Преимущество первого варианта - лучшая производительность; Если вы выберете второй вариант, вы не сможете сделать что-либо, близкое к почти плавной анимации, но, скажем, для представления на табло вещей, которые не содержат много анимации, которые могут работать.
После дополнительных исследований, вот ответ на мои вопросы:
1) Можно использовать приложение удаленного отображения для многопользовательских игр в реальном времени, но нельзя использовать API GameManager. Используйте сервисы Google Play. Вы также можете попробовать Google Firebase или даже другие платформы, такие как Photon, AppWarp, NextPeer и т. Д.
2) Если вы используете API GameManager, вы должны написать свое приложение / игру на JavaScript, HTML5 и / или CSS. Это связано с приложением, запущенным на Chromecast. Я не знаю, собираются ли они увеличить гибкость в ближайшее время...