December 15, 2017
By equipping an ordinary vacuum cleaner with readily available technology, Valtech has turned cleaning into a fun gaming experience. The AR game “First Person Cleaner” lets players chase both candy and their weekly allowance. But watch out for monsters trying to eat the rewards!
You know the feeling. In spite of diligent efforts, there seems to be nothing you can do to change the perception that cleaning is the worst kind of evil. Getting the little ones involved in household chores has always been a huge challenge. Until now, that is.
The adoption of AR technology
The idea behind First Person Cleaner really took off when Apple announced its ARKit, an augmented reality platform for their upcoming iOS 11. ARKit is the world’s largest AR platform. Now there is a sufficiently robust platform to bring to life an idea that had previously only existed at the conceptual level – a game for vacuum cleaners.
The game was designed as a treasure hunt for coins and candy, with small monsters introduced to add elements of excitement and competition.
Augmented Reality is not really anything new; it has been around since the 1990s. But it’s only in recent years that AR – plus MR (Mixed Reality) – have entered the lexicon as a buzzwords. Microsoft played a part in these developments with its Hololens, which largely delivers on what it promises. But the price tag for the Hololens has been well beyond the average consumer’s budget, which had an adverse impact on the content of the platform as well. With Apple’s solution, the technology has been made accessible to a significantly wider market.
The technology in ARKit
The technology enabling ARKit to scan the ground plane and orientate itself is what differentiates it from previous AR solutions for the iPhone. What was once marker-based – meaning that it required a symbol known to the app to orientate itself by – now needs nothing in advance. ARKit utilises the camera and places an anchor in the picture. An anchor is a position that the camera recognises from one frame to the next. Using these anchors, it can figure out what’s close to the camera and what’s farther away, depending on how objects move in parallax. When the app no longer needs a marker to relate to, this allows the app to extend the ground plane beyond the camera’s starting position as well. This possibility allowed us to create a bigger playing field for First Person Cleaner than what can fit into the camera’s field of view.
Conceptual AR design
The game’s development was initiated by Thomas Krebs, Valtech’s creative director. He was clear on the game being designed for children as the intended end users.
We decided to develop the graphics to dovetail with this vision, with colours and shapes that would be appealing to young children. The game was designed as a treasure hunt for coins and candy, with small monsters introduced to add elements of excitement and competition. We designed a logo made of soft shapes, which are what inspired us to create our voracious Mr. C, the game’s main adversary. Mr. C was modelled and brought to life by Daniel Enervald, 3D graphic artist, motion graphics & animation.
The interface design was modelled on the same graphic style as the initial logo by Nadine Smola, Art Director.
AR Programming
First Person Cleaner was developed using Unity, a game engine not necessarily made for AR games. But in terms of game mechanics you get plenty of stuff ‘for free’ when you use an existing engine. On the other hand, bridging the gap between a developer version of ARKit and Unity was not as smooth.
When we decided to go ahead with the development of the game, with our front-end developer David Berntsen heading up the effort, ARKit was still in developer beta, requiring Xcode beta in addition to iOS11. Developing for a platform, on an operating system and in a development environment, all three of which are in beta, means that you can encounter problems that are not always documented. Unity had released an experimental plugin that exhibited ARKit’s functionality in Unity. The plugin thus made it possible to use ARKit’s new functionality along with the functionality included in Unity. We then used ARKit to acquire information about the game universe, such as light and data describing its appearance. Once we had obtained the necessary information, Unity was used to create and manipulate objects. Unity was well suited for handling collision detection between game objects, a feature used to detect if coins, candy or monsters should be vacuumed up or not.
The result
So how was First Person Cleaner received by its target audience? Thomas Krebs’ own kids were the first to try it. He soon had a new problem on his hands … the constant tug of war to decide whose turn it is to play next now has the family considering whether to buy another vacuum cleaner.