How to play darts with the world

World Wide Gaming is the result of a few months of experimentation, continuous work and improvement. I've documented my entire research on a tumblr (see screencast below), and here is a small summary of it.


My starting point was a recurrent thought that I had, and that I called the paradox of distances: we live an era where we have all the technology we need to know exactly, within meters, distances between geographic points. We can even explore the whole world with our phones or computers, thanks to softwares like google maps and others.
Yet, we are unable to grasp those distances when they become too big, and they are only abstract numbers.
I also wanted to take advantage of the amazing opportunity we have nowadays, to be able to virtually visit any point in the world.
In contrast to this abstract point of view, I wanted to make something intuitive, easily understandable, that would be, somehow, tangible. That said, I also wanted my project to be playful, because there are already too many boring things in this world.

The initial pitch I created.

Using premade tools such as google maps as a way to explore our surroundings was something I wanted to experiment.


I came with the idea that it would be interesting to create a located game that would allow you to have a virtual impact on your surroundings, while exploring the world, with distances at the centre of the concept. Scaling up the distances quickly appeared as a good solution to create interesting and playful situations.

What if you could throw a ball all the way to italy, and be able to see its path?

A view of my school after I've shooted some virtual balls.


What if you were capable to throw a ball to the other side of the country? And what if you could send a paper plane over the Alps? What if playing hopscotch would bring you all the way to the middle East? Those are scenarios that I explored in drawings.
A good interaction needs to be is simple, easy to understand, intuitive. I decided to create something that was inspired by darts, where you need to throw a projectile as precisely as possible to a set target (that would, in that case, be a city somewhere in the world). The player would use his mobile phone as a controller (orienting and tilting your phone would allow you to aim at the targert), while he would be able to watch the game on his computer.

Some ideas on what the interaction could be. My inspirations came from simple popular games, such as rolling balls, playing bowling, pulling ropes, etc.


I figured a team game would be more exciting to play, and that it would add a new dimension to the game. Both teams, located in different cities, would need to aim at the same target city. That would allow you to find players all across the world, and encourage you to play in order to represent your city or country.

First mockup of the idea: two teams play from two different cities and need to aim at target (cities) as accurately as possible.

During my testing sessions, I played with friends in Brussels. We could communicate via skype while we were playing!


I soon started my experimentations and tried to browse google maps with a physical interaction, using a pressure sensor with arduino, or sound input.

First testing session where I controlled google maps with an Arduino, using a pressure sensor.

Testing sound input to the phone. This was to try and make a sling with my phone (sound triggered).


After some experimentation I decided to use Cesium as map engine, and any mobile phone as a controller. The final platform of the game would be a website with a node js server. I soon started to experiment Cesium by drawing objects and curves.

Controlling Cesium map engine with my mobile phone, through a local server.

Controlling the map engine via my phone, testing the camera movement when "ball" is flying to target. Orientation and tilting is controlled by the gyroscope on the mobile phone, used as a controller.

Ballistic test: representing the path of a virtual projectile in space. Shoots are from the same starting point, but orientation is changing each time. Sometimes, mistakes make interesting results (right side).

Controlling cesium map via websocket, using the gyroscope of my phone.

Testing the map engine. The image loaded on the screen is a satellite image of the exact place where the virtual ball has landed.


Finally, when I had my project working, I focused on the visual output of it, trying to make the commands as easily understandable as possible.

The desktop welcome screen is displayed with a random satellite image taken from the map engine.

Screencaps of the mobile view, with connecting screen, choice of orientation and elevation, waiting screen, and the additionnal bonus that displays infos about your target city while you wait for the other team to play!

Announcement of new target. A notification is also displayed on the player's mobile phone.

A view of the "ending point" of the virtual ball that was thrown.