After the presentation of the trailer at Gamescom and subsequent hype among its attendees, I am glad to announce the upcoming release of Wi-Fi Planner; the ultimate simulation game in which choosing the right spot to place your router or Wi-Fi device is as rewarding and difficult as in real life. How many times have you wondered “What’s the best Wi-Fi spot in my house” or “Who’s stealing my Wi-Fi”? Now you can keep wondering in a videogame. From the creators of Robot Vacuum Simulator 2013, here’s a preview of the next revolution in the gaming industry.
- Given a router, guess the device that receives the greatest signal strength.
- Given some possible router locations and a set of devices, guess which router better covers all of the devices.
- Badass Wi-Fi propagation animations play when going to the next game screen (as seen in the previous image).
- After each choice you get to analyse the propagation pattern in different slices, which represent different heights inside the 3D building.
- There’s a highest scores screen at the end, so you can show off how
luckyskilled you are and bet with your friends.
- VERY PUNISHING scoring system1.
- Web-based. Play it everywhere!
Jokes aside, a lot of work has been done to make this videogame, so I will now explain in an easy way the most important problems that were solved in order to make this work.
If you read my previous post ‘Development of a mesh creation tool’, you will see that I developed a tool for creating 3D meshes of flats easily and quickly. When I started working on this videogame the first thing that had to be done was designing and creating the different levels. 10 levels were created, but only 9 made it to the final game. Here you can see the levels designed with the FlatMesher tool:
Once the levels were done, that same program was used to convert these floor plans into 3D meshes. Here’s how the level 7 looks like after doing some magic in Paraview:
After generating all these meshes it was time to put them into use the Salomon supercomputer and run the Wi-Fi propagation simulations in three places inside each of the levels. That’s the reason why there are only three routers to choose from in each level. It was a matter of choosing between more levels or more possible router locations in each level, because we don’t have enough computing time for everything. Each simulation was executed in 48 nodes in Salomon, each of them containing two Intel Xeon E5-2680v3 twelve-core processors and 128 GB of RAM, which makes a total of 1152 cores and 6144 GB of RAM (your average desktop PC specifications). More information about Salomon’s hardware can be found here.
The results from the computations are, for each level, the signal strength provided by each router to each Wi-Fi device, a set of slices representing the signal strength over the building at different heights for every router, and a set of images which represent the wave propagation over time. Well, that’s a lot of stuff to put inside a videogame.
All these generated files are .vtu files, which can be viewed in mesh visualisation programs and then exported to some other format more suitable for a web-based videogame, so that’s what I did: Generate .png images of every slice/animation frame of every router inside every level with Paraview and batch process them using ImageMagick to normalize them.
This can be a nice attraction for people, since they can compete to get the best score and see the possibilities of supercomputing applied to their every day life.
1 The score calculations work as follows:
- The minimum score you can get after each guess is 100, and the maximum is 1000.
- The minimum and maximum signal strengths that you can get from the current possible choices are calculated.
- The signal strength corresponding to your choice is also calculated.
- An exponential function going through the points (minsignal, minscore) and (maxsignal, maxscore) is created.
- The score you get is the corresponding to the signal strength associated to the device or router you chose according to the described function.
This means that you have to be really close from the optimal value to get a good score, otherwise you will get something much closer to the worst score.