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

Share this project:

Updates