It seems every western film includes a shootout scene with two outlaws standing paces apart in the center of town. With an entire genre of video games devoted to shooting, it’s natural that these two traditions would be merged. In Dead Drop Desperado, the difference is that one outlaw at a time can’t see. Using only audio, players attempt to dodge bullets, and the whole thing is powered by Bose AR technology.
A small team from Petricore Games built the initial version of the game over a weekend at a Playcrafting Game Jam. Using an early version of the Bose AR SDK, they tapped into head movement, 3D audio, and gestures. The result is a two player game that requires only one phone and one Bose AR device, such as the Bose Frames.
“The Bose AR Frames latency is surprisingly good. When someone moves their head, it shows up right away in the app. That’s important for dodging bullets.” — Oliver Awat, lead designer and programmer
The primary interaction in Dead Drop Desperado comes from the dodging player, who quickly moves their head side to side. Awat handled head rig movement during the Game Jam. Using the Bose AR SDK for Unity, he connected to the gyroscope sensors from the Bose Frames.
frame = _wearableControl.LastSensorFrame; currentRotation = ((Quaternion)frame.rotation).eulerAngles; Vector3 rotationDifference = baseRotation - currentRotation; //General key for how rotation should affect lean/move position //rot z = pos x //rot x = pos z //Lean Logic from rotation delta rotationDifference = StandardizeRotationVector3(rotationDifference); rotationDifference = new Vector3(Mathf.Clamp(rotationDifference.x, -180, 180), rotationDifference.y, Mathf.Clamp(rotationDifference.z, -180, 180)); float posX = (-moveSensitivity.x / 2) + Mathf.InverseLerp(-180, 180, -rotationDifference.z) * moveSensitivity.x; float posZ = (-moveSensitivity.z / 2) + Mathf.InverseLerp(-180, 180, rotationDifference.x) * moveSensitivity.z;
In the snippet above, Awat gets the current rotation from the Bose Frames. Using the X (left/right tilt) and Z (left/right swivel, or yaw) positions, they convert to the rotations needed by Unity for their 3D artwork.
Another important aspect of Dead Drop Desperado is the 3D sound, which provides a Matrix-esque bullet dodging interaction. "A lot of people haven’t been shot in slo-mo before,” Awat said. “It’s kind of a new experience.”
With only a short time to create their game, the team was able to leverage one of the Unity sample apps for Bose AR. They built upon that example to provide the audio signal to dodging players. If the bullet sounds like it’s coming straight at you, better tilt your head.
“Spatial audio is the forefront of something new,” Canuel said, comparing it to early smartphone touchscreens. “It’s not like something someone has used before, yet it’s intuitive.”
Dead Drop Desperado was conceived and produced during a February 2019 Game Jam in Boston. Teams arrive Friday afternoon and demo less than two days later. The tight timeline means they depend on an intuitive developer experience to be able to make quick progress.
A rough estimate of the Petricore team’s timeline for the weekend, according to Awat:
Friday: Figure out what’s possible with the Bose AR headsets.
Saturday: Primary development on their game concept.
Sunday: Full polish mode, updating graphics and streamlining the interactions.
Awat’s advice to developers is to really push the limits of the technology. “If you’re just using the Bose AR SDK as headphones, you’re missing the point,” he said. You can explore the Bose AR documentation to learn more about what’s possible, including the many sensors that the Petricore team used.
Petricore is in active development on a number of games, both client work and their own titles. When they’re able to return to Dead Drop Desperado, they have a number of enhancements in mind. They’d like to change how rounds work to encourage players to keep trying to best each other. Though the two player nature of the game is part of the fun, they also have ideas to add AI so you can play by yourself, with levels of difficulty.
Download the Dead Drop Desperado app here.