Every evening before 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 wall of your city.
The streetartist who makes them is French and has invaded 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.
In the past, I would have used Charle’s proxy for this but nowadays there are much better solutions like MITMproxy.
— Adrien Rahier (@AdrienRahier) March 26, 2019
While inspecting the content of the request, I learnt a bit more about how the app is working.
In short, when you take a picture it’s making a request to a remote server with the following parameters:
- The geo coordinates of the user
- Some sort of user authentification
- The compress photo that you just took
- And on the backend 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 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 article we will for example see how you can chase invaders that have been removed or dephased!