Designing your novel apps and games with Intel Ultrabook™ sensors

Create new experiences with sensors  (Your opportunity to innovate): 

Traditionally people use mouse & keyboard to interact with PC games. In future, user can interact with your app on Ultrabook in new ways as shown in this picture. By creatively designing with this new paradigm, you can unleash the untapped potential for to innovate unique user experiences.

Demo video: 

Find out what happens when your PC app/game taps into ultrabook sensor feature.  

Video : YOUR APP + sensor = ?. 

Click below to watch 1 minute video

Get started to develop sensor enabled games:  

Imagine a game that responds to actions of users such as physical movement of the device.

Step 1: Creative Concept Development with sensors:  As the designer of the game, you can creatively imagine & define a gesture for your game. You can creatively imagine what will be user’s action, and what would be the response for that user’s action. Examples of gestures could be shake the device, tap on the side of the device etc.

Step 2: Creative sensing of physical movements into digital world: The Sensor API is used to detect those user action. Based on the type of user action, the right set of sensors needs to be used. To illustrate, to sense user’s action of tilting the device, one may use sensor called Inclinometer. To sense a shake, one may use sensor called Accelerometer. More details about various types of sensor can be found here.

Step 3: Creative Design of Game Response:  As the sensor detects the raw values, the next step is to respond to changes into these raw values. For example as the user tilts the device, a character in the game can move accordingly. 

Get started to code for sensors:

The approach is as follows. 

 <Name of Sensor>.GetDefault() 
 returns an instance of the sensor that you need.

In this demo, we leverage the OrientationSensor to sense the tilt of the device.

 OrientationSensor myTennisracketSensor = OrientationSensor.GetDefault(); 

We use an event handler, so that whenever there is any change in the sensor reading, an event gets fired.

 myTennisracketSensor.ReadingChanged +=  myTennisracketSensor_ReadingChanged; 
 

The OrientationSensorReading gives the current reading of the sensor. This game logic uses this reading to do appropriate response. The use of asynchronous programing enables a responsive application.

async void myTennisracketSensor_ReadingChanged(OrientationSensor sender, OrientationSensorReadingChangedEventArgs args)
        {
            await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
                { 
                   OrientationSensorReading  reading = args.Reading;
                   float y=  reading.Quaternion.Y;
                   float x = reading.Quaternion.X;
               
                   //logic for the game to respond based on tilt of the devie 
                }); 
        }
 

Summary:

We explored an interesting way to design & develop games using ultrabook sensors. The  game as shown in the video uses OrientationSensor to bounce the ball with physical user action on the device. While this is just a simple concept, you could imagine your cool game concepts.