This version of Map Dive is built for the browser using keyboard and mouse controls, so you can earn your wings from the comfort of your home, office or wifi-enabled flight.
The original version was developed for the 2013 Google I/O conference. It was displayed on a Liquid Galaxy system (seven HD LED displays) and Pegman's moves were controlled by the user's movement via a 3D depth-sensing camera.
We use Three.js to render 3D models and to allow Pegman to skydive as directed by a user’s mouse or keyboard.
The map tiles received from the Google Maps API are rendered in a three-dimensional space using the CSS transform property to apply translate3d and matrix3d functions.
The audio sounds you hear after capturing a star or flying through a gate, as well as the ambient sound of the wind, are enabled by your browser’s native web audio support.
Your Map Dive achievements are saved for you using either the browser’s native LocalStorage support or your Google+ account. LocalStorage provides a login-free way of saving game state on a single machine. If a user wants to take their games to another machine or let multiple people access their own achievements from a single machine, the Google+ API provides a secure login that lets us save your game in a Redis key-value store running on Node.js.
The Map Dive code is available on GitHub for anyone to learn from and build on. The multi-display installation version uses WebSockets to sync seven instances of Chrome and includes motion-tracking control, and our map style editor enhances the Styled Maps Wizard to allow existing Maps styles to be imported and edited.