I recently published the first public release of a new game, “Short Range Sensors” for the 2015 BlackBerry Employee Hackathon. I’m really happy with the progress I was able to make. We had a weekend to prototype an idea, then a few weeks to refine the idea for final submission. I got far more features implemented in time than I thought I could, and the quality is better than I had expected too.
Here’s a video of my submission:
The theme was “Most Screens, Least Effort”, so I figured I’d take the time to learn how to do multi-screen/device right. This is important considering my main focuses are VR and mobile, which couldn’t be more different in execution.
For example, in mobile I’m most likely going to want a UI that is relative to the screen. However in VR you need a UI that’s relative to the world(represented as an object in world space).
Another issue is handling UI positioning and size (think text size) cross-platform with a large swing in pixel density and aspect ratios. For UI layout I found that the new UI canvas as of Unity 4.6 was a great improvement over the past GUI implementation. I was able to configure text/button/image size and positioning all through the editor, no code. And on execution it properly positioned itself on the fly.
Lastly for touch controls, I used an open-source plugin, CN Controls, found in the Unity asset store. CN Controls supports relative units of scale. So once again I was able to accommodate any resolution without having to do any coding.
It is a fully responsive UI that plays well on any screen size and aspect ratio, across mobile and PC, using one code base. It also supports game pads, keyboard, mouse, touch. VR support is being worked on.
The goal is to only maintain one code base for all supported platforms and options. For VR, one part of the implementation will include detection of either a Rift device or cardboard NFC tag, and toggle the VR camera and settings accordingly.
I’m also interested in targeting consoles and I’m choosing the Ouya first due to it’s low bar of entry in porting (it’s android) and distribution. An interesting challenge for consoles will once again be with scaling. In this case to ensure it looks good for a “10-foot experience”.
You can view the slide deck I presented at the hackathon here, http://slides.com/ssshake/deck/#/
The game is currently available in BlackBerry App World and Google Play. PC and VR will be posted shortly. You can download a decent early build here for Android / BlackBerry https://app.box.com/s/flv437udjzhlqp6nuwpvt1zjvjfd7sh0