GestureWorks Gameplay Virtual Controller - The Second Birth of Favorite Games
Laptop computers are becoming more and more popular every year, and we want more from them. Meanwhile, both the functionality of the device and its usability can sometimes be improved by purely software tools, and those created by independent developers are important to know about the existence of such tools. A good example of software that fundamentally changes the way it interacts with any device that has a touchscreen display is the GestureWorks Gameplay virtual game controller from Ideum . Games for portable devices are a great pleasure for users and a headache for developers. It's great when you can carry a good toy with you and run it when you have a free minute. However, to design a convenient interface for controlling the game with your fingers is hellish agony; Not every developer can solve this problem. Now, game creators may not bother about it at all, because users themselves can come up with a virtual controller for themselves and share it with others. On y if you get stuck, you can just create a masterpiece!
General view of the virtual controller
Games under Windows created in the pre-sensory era receive a second life - they can now also be played on portable devices. Just think how many great games are gathering dust on the shelf simply due to the fact that they do not support the modern finger interface. But no changes to the game code are required - it is enough just to develop an “add-in” in the form of a virtual controller. ')
Gesture menu in controller editor
The GestureWorks Gameplay Controller is an extra layer placed on top of the main game screen. On this layer are customizable virtual controls of several types: buttons, switches, joysticks. The user has more than 200 types of gestures - the player is unlikely to need more virtual "hot keys". For the game, several virtual controllers can be created (for example, one for the research mode, the other for the combat mode).
Catalog of available controllers
Currently, the GestureWorks Gameplay catalog has over a hundred virtual controllers for various popular games; all can be edited at your discretion. It is possible to create your own controllers using a visual, easy-to-use editor that can be mastered even by a person who is not involved in programming and game development. The latest version of GestureWorks Gameplay has a fundamental innovation. Now the program can be put on a smartphone, so it turns into a virtual wireless game controller. There are other progressive developments, for example, accelerometer support is already introduced in test form. The virtual controller is also able to determine the state of the device, which can be both a tablet and an ultrabook.
Minute demo video GestureWorks Gameplay
A little about the technical side of the product. Since the virtual controller must directly interfere with the data exchange between the user and the game, a dll injection method is used for its operation, in which code is executed in the address space of another process (in this case, the game) using a dynamically linked library. During the development, we had to solve many problems associated with both the nuances of the injection and the features of the touch control of the game. For example, testing has shown that the interaction between the game and the controller is much better in the case when the former is called the second as a child process. But for this it is necessary that the controller starts up first. The solution was found in the form of a small system service, constantly working and waiting in the wings. Or here's another example regarding gameplay. It turned out that it is very difficult to implement touch control in games where mouse movement changes the direction of gaze (the so-called “mouse” vision). It was necessary to filter the data received from the mouse, and then for a long time to select the parameters of the virtual joystick that implements the "mouse" vision.
And finally, let's answer the unasked question why the story about GestureWorks Gameplay appeared in the Intel blog. It is not hard to guess that such a software product as a virtual game controller is subject to strict performance requirements: in short, the button should work exactly at the moment when it is pressed. That is why broad prospects for optimization open up here - it is necessary to make the maximum possible. Intel consulting and optimization software companies helped to bring the product to mind, provided an acceptable speed of its work. We hope the fruits of the joint efforts will be appreciated.