Pull to refresh
0

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

Reading time 3 min
Views 30K

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

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


Общий вид виртуального контроллера

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


Меню жестов в редакторе контроллеров

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


Каталог имеющихся контроллеров

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


Минутный демо-ролик GestureWorks Gameplay

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

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

Ссылки для заинтересовавшихся
Tags:
Hubs:
+4
Comments 7
Comments Comments 7

Articles

Information

Website
www.intel.ru
Registered
Founded
Employees
5,001–10,000 employees
Location
США
Representative
Анастасия Казантаева