Edit: Unfortunately, as mentioned in the README of the Github repository, the invader’s team fixed the breach and this Google Chrome extension is not working anymore.
Every evening before going to bed, I have this routine of watching Jay Swanson’s videos on YouTube.
One the recurring topic he is covering in his vlog is… Space invaders!
If you live in Europe, I bet that you have already seen these mosaics on the walls of your city.
The street artist who makes them is called Invader and has already visiter several cities around the world!
One remarquable thing about him is that he gamified his work.
Through the official Flash invader mobile app you can take pictures of the invaders you found and earn in-game points!
CHAPTER 1: HOW’S EVERYTHING STARTED
One day, I was wandering on Google streetview and randomly saw an invader in a Paris’ street. This got me thinking: what if I looked how the Flash invader app works and extend its features to Google streetview?
This way, anybody, anywhere would be able to play the game! Wouldn’t it be cool?
CHAPTER 2: BUILDING A WORKING PROTOTYPE
I started by using a proxy to lookup what kind of requests the app was making.
Not so long ago, I would have used Charle’s proxy for this but nowadays there are much better solutions like MITMproxy.
While inspecting the content of the request, I learnt a bit more about how the app worked.
In short, when you take a picture it’s making a request to a remote server with the following parameters:
- The geocoordinates of the user
- Some sort of user authentification
- The compress photo that you just took
Then on the server the LTU technology (a French startup cocorico) is used for the image recognition.
The way it works is actually quite clever, it means that you really have to be next to an invader to Flash it. You cannot just take a photo of one of them in a magazine and claim that you found it.
Once the data collected, the next step for me was to build an actual prototype. For this, I used Postman first to replicate the query.
After hours of debugging, I eventually made it work!
CHAPTER 3: MAKING A GOOGLE CHROME EXTENSION
Before working on this project, I never made any Chrome extension. So, it was actually a very fun way to learn how to code one!
Once again, I won’t dive too deep into the technical details. If you are interested, the sources of the chrome extension are open-sourced.
See it in action:
Note that installing and configuring this extension requires a little bit of technical knowledge. So, if you need more guidance, I will be very happy to help you configure it.
What I really wanted to empathize in this article is that I made this extension to promote the game and enhance it with new features.
In the second part of this serie of articles dedicated to Invader, we will see how you can chase invaders that have been removed or dephased!
See also the whole project here.