Виртуальный контроллер GestureWorks Gameplay

Виртуальный контроллер GestureWorks Gameplay — второе рождение любимых игр

Портативные компьютеры с каждым годом становятся все популярнее, и хотим мы от них все больше. Между тем и функционал устройства, и удобство его использования подчас можно улучшить чисто программными средствами, причем созданными независимыми разработчиками – главное знать о существовании таких средств. Хорошим примером ПО, принципиально меняющего способы взаимодействия с любым устройством, имеющим сенсорный дисплей, может служить виртуальный игровой контроллер GestureWorks Gameplay компанииIdeum.

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

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

Контроллер GestureWorks Gameplay представляет собой дополнительный слой, размещенный поверх основного игрового экрана. На этом слое размещаются настраиваемые виртуальные элементы управления нескольких типов: кнопки, переключатели, джойстики. В распоряжении пользователя имеется более 200 видов жестов – навряд ли игроку потребуется большее количество виртуальных «горячих клавиш». Для игры может быть создано несколько виртуальных контроллеров (например, один для режима исследования, другой – для боевого режима).

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

Немного о технической стороне продукта. Поскольку виртуальный контроллер должен непосредственным образом вмешиваться в обмен данными между пользователем и игрой, для его работы применяется метод dll-инъекции, при котором код исполняется в адресном пространстве другого процесса (в данном случае – игры) с помощью динамически прилинкованной библиотеки. В ходе разработки пришлось решать множество проблем, связанных как с нюансами инъекции, так и с особенностями сенсорного управления игрой. Так, например, тестирование показало, что взаимодействие между игрой и контроллером значительно лучше в том случае, когда первая вызывается вторым как дочерний процесс. Но для этого необходимо, чтобы контроллер запустился первым. Решение было найдено в виде небольшой системной службы, постоянно работающей и ждущей своего часа. Или вот другой пример, касающийся геймплея. Оказалось, что очень трудно реализовать сенсорное управление в играх, где движение мышью меняет направление взгляда (т.н. «мышиное» зрение). Пришлось отфильтровывать данные, получаемые от мыши, а затем долго подбирать параметры виртуального джойстика, реализующего «мышиное» зрение.

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

Ссылки для заинтересовавшихся

Спойлер
Нравится16
Комментарии (5)
  • 3
    Недавно разработчики сообщили, что прекращают разрабатывать эту прогу, и её теперь даже нельзя в стиме купить. И, да, каталог с виртуальными контроллерами больше не работает. Короче, блог, особенно учитывая дату публикации в источнике, мягко говоря не актуален.
  • 0
    Madevi
    Конечно. Всем выгодно чтобы покупали физические контролеры.
  • 1
    Sidorovich12
    Особенно это выгодно пользователям (выгода состоит в возможности нормально поиграть в игры на нормальном геймпаде) именно поэтому , не смотря на то, что в любой игре или эмуляторе, где это требуется, есть наэкранный контролер, люди все равно продолжают покупать геймпады.
  • 1
    Штука прикольная. Но вопрос шифтов открыт. Да, можно расположить эти кнопки на виду. Но не всегда будет удобно играть (когда жмёшь X для езды, притормаживаешь O, одновременно поливая врагов из пулемёта R2 и спецоружия L2).
    Ведь орудовать придётся либо чисто большим пальцем, либо тыкаясь, как на клавиатуре. А на клаве проверено - неудобно.
  • 0
    ColonelJason
    И правильно делают. Этот сенсорный экран такая херня!!!. Я так 2 планшета проткнул со злости, когда сенсор в 10 раз перестал реагировать на мои пальцы!!
B
i
u
Спойлер