What will Microsoft Research think of next? After giving us the Kinect it has now invented a way to allow us to play sword fighting with nothing more than standard mobile phones. Don't be fooled there is still a lot of technology at work.
If you have ever play acted a sword fight you will know that it can be great fun. But who hit who? In the heat of battle it is difficult to keep track of the score.
Now Microsoft Research has an answer to the problem and you don't need any addons or special hardware. Two standard mobile phones can let you play sword fight and keep the score of who got close to who. The whole idea is called Mobile Motion Gaming (MMG) and it could be the start of a new game genre - or not.
The big problem to be solved is working out how close the two phones are. The solution is FAR, a new acoustic ranging system that can fix position to 2cm about 12 times a second. All that is needed is a loudspeaker, a microphone and a clever algorithm to make it work.
The standard way of finding out how far apart two phones are is that Phone A beeps and Phone B measures the time of arrival of the beep. Then Phone B beeps and Phone A measures the time of arrival of that pulse. (Both phones also record the time they received the pulse that they sent out as a correction factor). The phones have to exchange data so that they can work out the distance.
This is how the new system, FAR, works but it has tweaked the implementation so that detection of the tones is faster and more accurate. It also uses a pipelined execution based on three threads running in each phone. It performs the tone detection and distance computation while sending out the next pulse. By overlapping operations it can make measurements fast enough to be useful in real-time games.
To date the positioning has been used in two games SwordFight - illustrated in the video - and ChaseCat where one player tries to get their phone close to the other player's phone.
There is no doubt that this is a remarkable piece of signal processing and it demonstrates just how much information can be extracted from the ability to create and detect sounds.
The big question is do users want Mobile Motion Games? How many broken mobile phones will accidental clashes create?
This seems to be a solution in search of a good problem. So the question is can you think of a good use for being able to determine the distance between two phones, tablets or whatever, using just sound?
If you had to come up with unlikely language pairings, COBOL and Node.js would score pretty highly as a “least likely to be used together” choice. However, if for some reason you decide your legac [ ... ]
The latest State of the Developer Nation report has revealed that more than half of mobile developers and an even higher proportion of those developing IoT are making an income below the app pove [ ... ]