что значит кроссплатформенная игра

Что означает кроссплатформенность для игр и других приложений?

Вик Кей / Shutterstock.com

Возможно, вы слышали термины «кроссплатформенность» и «кросс-игра», которые часто используются в игровом сообществе. Они действительно относятся к функциональности, помогающей преодолеть различия между всеми вашими системами: вашими игровыми консолями, компьютерами и мобильными устройствами.

Более чем одна система

Кросс-платформенный — это термин, используемый для обозначения части программного обеспечения, совместимого с более чем одной системой. Например, популярный медиаплеер VLC совместим с тремя основными настольными операционными системами: Microsoft, Mac OS и Linux. Кросс-платформенная поддержка также может распространяться на мобильные устройства, при этом многие приложения доступны как в Apple App Store, так и в Google Play Store.

В зависимости от того, как запрограммировано конкретное программное обеспечение, разработчику может потребоваться полностью перекодировать и переупаковать программное обеспечение. Некоторые фреймворки позволяют разработчикам более плавно включать кроссплатформенную поддержку своего программного обеспечения.

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

Расцвет кроссплатформенных игр

Когда дело доходит до игр, кросс-совместимость — большая тема. В разгар консольных войн с 1980-х до начала 2010-х кроссплатформенная совместимость была большой проблемой. Основные производители игр, такие как Sony, Microsoft и Nintendo, производили и финансировали игры. Эти игры часто разрабатывались их собственными студиями или игровыми студиями, с которыми у них было стратегическое партнерство.

Поэтому многие игры были «эксклюзивными», их можно было купить и играть только на одном устройстве. Когда потребители решают, какую консоль покупать, они должны учитывать, какие игры доступны для конкретных консолей. Halo всегда будет на Xbox, Uncharted будет на Playstation, а Марио будет на консолях Nintendo.

В то время как Nintendo в основном придерживалась эксклюзивных предложений, Microsoft и Sony начали предлагать более кроссплатформенную поддержку. Из-за роста популярности компьютерных игр в последнее десятилетие многие крупные эксклюзивные игры начали появляться на ПК и консолях. Из-за более высокого потолка производительности на настольных компьютерах разработчики также начали разрабатывать свои игры с учетом потребностей компьютерных геймеров и снижать производительность при переходе на консоли.

Кросс-игра и почему это важно

Эпические игры

Помимо возможности играть в разные игры на одном устройстве, одним из самых важных соображений для тех, кто стремится к совместимости на разных платформах, является кроссплатформенная игра, часто называемая кросс-игрой. Это относится к функции, которая позволяет людям, играющим в одну и ту же игру на разных устройствах, играть вместе в многопользовательских режимах. Например, люди, играющие в Fortnite на Playstation 5, смогут играть против и в тандеме с пользователями-игроками, использующими ПК с Windows.

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

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

Вот некоторые из самых известных игр с поддержкой кросс-игры по состоянию на 2021 год:

Будущее кроссплатформенности и кроссплатформенности

Учитывая, насколько эта функция вошла в игры за последние несколько лет, вы, вероятно, увидите больше игр с кроссплатформенной поддержкой. Игровые студии начали осознавать, насколько кросс-игра полезна для активности игроков. Мы не удивимся, если в большинстве многопользовательских игр в будущем будет поддержка кроссплатформенной игры.

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

Источник

Кроссплатформенность — это круто

Ни для кого не секрет, что сегодня мобильные игры очень популярны. Возможность написать одну из таких игр есть у каждого разработчика, даже начинающего. Часто возникает вопрос с выбором платформы. Конечно, хочется, чтобы игра была сразу везде: на iOS и Android, на WP7 и MeeGo, на десктопе и в браузере. И чтобы все это можно было лекго реализовать с помощью бесплатных инструментов.

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

Цель игры, изображенной на рисунке выше — успеть попасть по яблоку, пока оно летит вниз. Со временем количество яблок увеличивается, и не пропускать их становится все сложнее. Яблоки падают под произвольным углом, вращаясь и реалистично отскакивая от границ благодаря физическому движку Box2D. Игра будет запускаться на Android, платформах с поддержкой Qt (Symbian, Maemo, MeeGo, Windows, Linux, Mac OS X) и в браузере Google Chrome.

Выбор удобных инструментов


Так как основную часть кода я буду писать на чистом С++ (почему, читайте в конце статьи), IDE для этого подойдет любая. Я выберу Qt Creator, хотя ничего не мешает мне использовать Microsoft Visual Studio или Eclipse, например.


Для платформы Android я остановлюсь на библиотеке libgdx. С ее помощью легко можно рисовать текстуры, проигрывать звуки и делать другие необходимые вещи.


В качестве инструмента для разработки игры на десктопе я возьму Qt. Я давно знаком с этой библиотекой, и она не перестает меня радовать. При использовании Qt я также получу приятный бонус в виде поддержки мобильных операционных систем Symbian, Maemo и MeeGo.


Также специально для этой статьи я с помощью HTML5, javascript и Google Native Client сделаю так, чтобы игра запускалась в браузере Google Chrome. Я буду использовать HTML5 Canvas и Audio, и вы увидите, насколько это легко и просто.

Читайте также:  что значит если чешется левая бровь у девушки

Реализация логики не сложная, поэтому я не буду писать о ней (желающие могут взглянуть на код). Вместо этого я сконцентрируюсь на том, как заставить игру работать на всех операционных системах.

Абстрагируемся от конечной платформы

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

Для этого движок предоставит платформам следующий интерфейс:

Вызовы обработчиков рисования и ввода на различных платформах будут вызывать методы из класса Application, например, при использовании Qt это будет выглядеть так:

На Android выйдет немного сложнее, потому что из Java нужно попасть в C++:

После этого в C++ вызываются соответствующие методы:

При использовании Native Client в браузере из javascript нельзя напрямую обращаться к С++, вместо этого надо отправлять сообщения модулю, например, строки:

В С++ сообщения анализируются, и в зависимости от содержания вызывается тот или иной метод:

В итоге движку не важно, из какой платформы был вызов, он абстрагировался от этого. Но он знает, что произошло касание экрана в точке (x, y) или пришло время для обработки физики и вывода изображений на экран.

Обратное взаимодействие

Вторая задача — обратное взаимодействие движка с платформой:

Это нужно для того, чтобы движок командовал, когда выводить изображения и текст на экран, проигрывать звук, вибрировать. Для этого все платформы должны реализовать общий интерфейс. Назовем этот интерфейс Platform:

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


Таким образом движок абстрагируется от деталей реализации различных операций на каждой платформе. Привожу для наглядности диаграмму классов:

Сложно ли все это сделать? Вы убедитесь в том, что нет. Время, конечно, придется потратить, но в большинстве случаев им можно пренебречь в сравнении со временем, потраченным на программирование логики приложения. Я приведу код для платформ Android, Qt и Native Client для каждой необходимой операции:
Рисование изображения, Android (libgdx):

Рисование изображения, Qt:

Рисование изображения, javascript (HTML5 Canvas):

Рисование текста, Android (libgdx):

Рисование текста, Qt:

Рисование текста, javascript (HTML5 Canvas):

Проигрывание звука, Android (libgdx):

Проигрывание звука, Qt:

Проигрывание звука, javascript (HTML5 Audio):

Вибрация, Android(libgdx):

При реализации для Android придется немного повозиться с вызовом java кода из C++ — один раз получить ID нужных java методов:

и потом вызывать их:

Нетривиальная ситуация и с Native Client — нужно отправлять сообщения из С++ кода в javascript:

И в javascript эти сообщения парсить:

Результат

Эта простая игра называется «Поймай яблочко». Предлагаю запустить и попробовать продержаться пару минут, у меня вначале не получалось:
— Native Client версия (убедитесь, что у вас последняя версия браузера Google Chrome, и Native Client включен в about:plugins и about:flags). Размер исполняемого файла nexe — 4.2Мб для 32-битных систем и 4.9Мб для 64-битных, при медленном соединении придется немного подождать;
— Windows версия — для тех, кто не любит Google Chrome.

Игра прекрасно запускается на Android эмуляторе и моем LG Optimus. Та же ситуация с Qt Simulator (скриншот с Nokia N9 в самом начале темы).

Код можно взять тут, я думаю, он может пригодиться кому-нибудь, особенно участки, которые отвечают за связку Java и C++, javascript и C++ (если по этому поводу у вас возникнут вопросы — задавайте, не стесняйтесь, с удовольствием отвечу).

Зачем все это?

Многие из вас подумают, зачем писать велосипед? Если есть Marmalade или Unity, например. Есть, но они стоят денег, да и зачем такие тяжеловесы для простой 2D игрушки? Некоторые говорят также, что Qt заводится на Android и iOS, но на самом деле на Android не очень так заводится, без звука и OpenGL, а на iOS так вообще, только ролики на YouTube. Мне очень нравится Qt, и я надеюсь, что в недалеком будущем приложения для iOS и Android можно будет писать так же просто, как сейчас для MeeGo, но пока лучше пользоваться другими инструментами для этих платформ.

Преимущества

Используя подход, описанный в этой статье, вы не привязаны к платформе, вы можете использовать те инструменты, которые хотите, а в последующем легко их менять. На десктопе — Qt или GTK, на Android — libgdx или AndEngine, на iOS — cocos2d, выбор за вами. Можете вовсе отказаться от движков, используя API, предоставляемое платформой. Большую часть времени вы можете писать и отлаживать код в вашей любимой IDE на великом и могучем C++.

Недостатки

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

Источник

СОДЕРЖАНИЕ

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

Обеспечение кроссплатформенной игры рассматривается как средство сохранения большой игровой базы игроков даже через несколько месяцев после ее выпуска.

История

Относительно консолей

На протяжении десятилетий производители консолей активно работали над защитой эксклюзивности игры в своей системе от других конкурентов консолей, для которых кроссплатформенная игра может рассматриваться как угроза. Некоторые журналисты предположили, что кроссплатформенная игра была ограничена производителями консолей, чтобы гарантировать, что игроки останутся на их платформе для будущих игр. Кайл Орланд из Ars Technica сказал, что если игрок хочет продолжать играть в новые игры с друзьями, отсутствие кроссплатформенной игры требует от него продолжать покупать новые игры для этой консольной платформы, создавая «мощные сетевые эффекты». Алекс Перри из Mic аналогичным образом отметил, что отсутствие кроссплатформенной игры может побудить игрока попытаться подтолкнуть своих друзей и повлиять на них с помощью одной и той же консоли, чтобы они могли играть вместе, что увеличивает продажи этого производителя консолей.

Читайте также:  японский мопед какой лучше

Microsoft

Отдельно Microsoft допускает кроссплатформенную игру между Xbox 360 и Xbox One для игр Xbox 360, которые поддерживали онлайн-игру, которая была сделана для обратной совместимости на Xbox One.

Nintendo

Несколько месяцев спустя, 26 сентября 2018 года, Sony объявила, что разрешит кроссплатформенную игру на PlayStation 4 «для избранного стороннего контента», начиная с Fortnite в тот же день. Sony заявила, что решение разрешить кроссплатформенную игру было «серьезным изменением политики» и что их цель «по-прежнему занимать более открытую позицию с кроссплатформенной поддержкой, которая соответствует нашей миссии по обеспечению наилучшего потребительского опыта». Лейден, выступая в подкасте после объявления об этом изменении, знал, что кроссплатформенная игра пользуется большим спросом у игроков PlayStation 4, но описал кроссплатформенную игру как «очень многомерный вид атрибута или функции», который требует от Sony посмотрите, как это реализовать с технической точки зрения, с точки зрения бизнеса и обслуживания клиентов. Лейден заявил, что до этого момента потребовалось больше времени, чем он хотел бы, чтобы выполнить эти требования. Однако, как показало испытание Epic с Apple, Sony по-прежнему требовала от Epic уплаты дополнительных лицензионных отчислений за эту функцию для Fortnite, чтобы «компенсировать сокращение доходов», которое, по мнению Sony, произойдет в результате кроссплатформенной игры.

С 2020 г.

Относительно мобильных устройств

Вышеупомянутый Epic Online Services SDK позволяет разработчикам легко интегрировать кроссплатформенную игру в мобильные клиенты с использованием установленной серверной технологии Epic.

Другое оборудование

Источник

Нужен ли кроссплей сетевым шутерам (Apex Legends, Black Ops – Cold War и другим)?

В этой статье мы с вами обсудим то, как в сетевых шутерах реализуется кроссплей, нужен ли он шутерам, какие у кроссплея есть плюсы и минусы, а также есть ли какие-то перспективы у кроссплатформы между консолями и ПК, или это просто временный тренд, от которого разработчики в скором времени откажутся?

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

История кроссплея

Идея объединить игроков с различных игровых устройств не нова, так приставка Sega Dreamcast еще в 1998 году была оснащена модемом, что позволяло ее владельцем играть совместно с пользователями ПК в такие игры, как Maximum Pool, Quake 3 Arena и некоторые другие.

В 2002 году Sony продемонстрировала возможность онлайн-игры между PlayStation 2 и компьютерами в Final Fantasy 11.

А в 2012 году функция кроссплатформенной игры между PlayStation 3 и ПК была убрана из игры Counter-Strike: Global Offensive буквально за несколько месяцев до релиза. Негласной причиной являлось несоответствие серверов Sony стандартам Valve.

Все это говорит о том, что всегда существовали некоторые практические ограничения для кроссплатформы. Главная техническая проблема, с которой сталкивается кроссплатформенная игра на консолях, – это сетевая связь между платформами, которые управляются различными протоколами.

Однако в середине сентября 2017 года данные технические ограничения удалось преодолеть, в результате чего кросспплей на короткое время позволил игрокам на компьютере, PlayStation 4 и Xbox One играть вместе в Fortnite.

Время шло, и уже в 2019 году возможность играть вместе владельцам основных консолей и ПК была предоставлена на постоянной основе все в той же Fortnite. Затем аналогичная функция кроссплея появилась в Rocket League, Minecraft и Call of Duty: Modern Warfare (2019).

Как вы, наверное, успели заметить, 4 последние упомянутые мной игры являются шутерами, т.е. играми, где помимо скила, многое решает AIM (АИМ) или скорость наведения на цель. А как вы сами понимаете, при кроссплаформенной игре лоб в лоб сталкиваются игроки на геймпаде и на клавиатуре с мышкой.

Как играть на Android с помощью геймпада, клавиатуры или мышки. Настройка Panda Pro

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

Если с кроссплеем между ПК и основными консолями все более или менее ясно, то с кроссплеем между современными приставками все гораздо сложнее. Так, компания Sony изначально не хотела разрешать кроссплатформенную игру с другими консолями в течение первых пяти лет после выхода PS4. 26 сентября 2018 года Sony объявила, что разрешит кроссплатформенную игру на PlayStation 4 «для избранного стороннего контента» и в тот же заявила, что решение разрешить кроссплатформенную игру между консолями было «серьезным изменением политики компании».

Также руководство Sony отмечало, что кроссплатформенная игра будет пользоваться большим спросом у игроков PlayStation 4. Одними из первых игр с поддержкой кроссплея между приставками от Sony и Microsoft стала PUBG (примерно с октября 19 года), потом подтянулись Black Desert, World of Tanks и еще несколько игр.

Если я, по вашему мнению, что-то упустил, то прошу отметить это в комментариях, а мы едем дальше.

Минусы кроссплея

Первый и самый главный минус – это читеры с ПК.
Да-да-да, вы можете сказать, что это так банально, но это факт. После открытой беты кроссплея Black Ops Cold War западные игроки на форумах, да и отечественные ютуберы и игроки стали активно обсуждать эту проблему.

И тут вы можете сказать: «подожди, Максим, так разве в том же Warzone не было большого количества банов за читы?» Да, были, вы правы, но именно бета Cold War показала, насколько невыносимой может стать игра, когда никто не банит читаков, и это как раз взволновало игроков, особенно консольщиков, которые тут же предложили ограничить кроссплей исключительно между консолями от Microsoft и Sony.

Читайте также:  Чем занимается певица наргиз

Не то чтобы среди консольщиков нет читеров, они, конечно, есть, как есть и прошитые консоли и все такое прочее, но таких консольщиков по сравнению с читерами на ПК значительно меньше. Потому что если вы читерите на ПК, то рискуете получить бан учетки в какой-то игре стоимостью до 2-3 тысяч рублей, а вот забаненная консоль стоимостью 15-20 тысяч рублей это уже совсем другой разговор.

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

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

Как будет рассуждать игрок с ПК: «Ага, да что там эти клоуны со своими джойстиками, на которых не иначе как клешнями играть не получится, я их быстренько всех уделаю под орех.» Врубает такой игрок кросплей, натыкается на ребят с подключенными к консоли клавой и мышью, на тех же читаков или более скиловых игроков на геймпаде, ловит когнитивный диссонанс и. вырубает кроссплей, мол, да ну его, там одни читаки и эмуляторщики, пойду-ка, затащу еще одну каточку в *подставте название игры без кроссплея*.

Конечно, я это говорю не без доли иронии, но вы должны понимать, что такие сценарии вполне себе реалистичны.

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

И прежде чем ставить дизлайки этому посту, давайте я вам сейчас все объясню…
Я перешел с ПК на консоли более 5 лет назад и вначале я очень страдал в шутерах от первого лица, геймпад мне казался дико неудобным, но со временем мой АИМ улучшился, я адаптировался, и в некоторых шутерах мой показатель КД даже вырос.

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

Думаю, разница будет очевидна, а моя мысль ясна. Хотите сказать, спорный ньюанс? Согласен, прошу в комментариях изложить свою позицию!
Ну, с минусами закончили, переходим к плюсам.

Плюсы кроссплея

Самый очевидный плюс – это возможность играть вместе с друзьями, у которых нет приставки или компьютера в одну игру. Если вы думаете, что такое редкость, то нет, вполне себе частое явление. Как пример могу привести свою ситуацию: у большинства моих друзей нет PS4 (да и вряд ли им она вообще понадобится), в связи с чем, по сути, единственным способом нам вместе поиграть в тот же Apex Legends является кроссплей.

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

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

И последний, но не менее важный плюс, это продление жизни проекту.
Чем больше у игры одновременный онлайн, тем дольше разработчикам будет интересно, а главное, прибыльнее поддерживать их проект.
Я на сто процентов уверен, что если бы Respawn Entertainment по примеру Apex добавила бы возможность кроссплея в Titanfall 2, это моментально оживило бы почти что мертвый мультиплеер данной замечательной игры.

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

Перспективы

Кроссплей в шутерах входит в активную стадию своего развития. Опыт таких игр, как CoD: MW 19 и Fortnite, показал, что людям с разных платформ нравится играть друг с другом.

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

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

Всем спасибо, что дочитали до конца! Всем удачи и до новых встреч!

Источник

Библиотека с советами