Inspiration
We took inspiration from several sources including the gatwick challenge, flight radar, papers please, and "air traffic control game" on coolmathgames.
What it does
It's a 2d a Papers Please-inspired air traffic control game where players take on the role of an air traffic controller and must either clear or deny flights for landing at Gatwick Airport. Flights within the game are taken from real-time flights either arriving or departing at Gatwick at play time.
How we built it
Cleared for Landing is primarily built using the Phaser game engine for JavaScript. We used Phaser to build the game screens, handle game logic and to add music to the application. To incorporate real-time flight data for flights around Gatwick, we used FlightRadar24's RestAPI and saved queries to a database to then load into the game. On the server side, we have a Flask server that we have dockerised and run on a mini Kubernetes cluster to allow for ease of scalability, e.g. to have several games running at once on multiple devices across airport gates.
Challenges we ran into
None of us have used kubernetes, the API, or the game engine before so figuring out how they worked and then implementing them under time pressure was challenging
Trying to expose a port to the local area network (so that the game can be accessed by anyone on eduroam) was challenging because the documentation only wanted to let us expose ports to localhost.
Finding a good API for Gatwick flight data was surprisingly difficult, and then figuring out how to use it was tricky due to the lack of documentation for the API that we chose.
The game engine was not easy to handle, but we managed to adapt a template to suit our purposes.
Accomplishments that we're proud of
It looks cool as hell, despite the fact that all of the technologies are new to us. We're also really proud of the fact that it uses real flight data and that it's load balanced by kubernetes.
What we learned
We learned how to use kubernetes with docker, how to use the flight data api, and how to write a game engine in node.
What's next for Cleared for Landing
We'll probably want to tidy it up a bit and then clear it for landing!
Built With
- docker
- flask
- flightradar24-api
- javascript
- kubernetes
- phaser.js



Log in or sign up for Devpost to join the conversation.