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 game where you play an air traffic controller, and you're trying to land planes safely.
How we built it
X 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 incoporate 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 scalablility, 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.