Inspiration

Our inspiration was exploration, and creating a game in which the player could explore through cities and towns without having access to the routes and mapping information that we have become so used to on our phones. The use of public transport systems was chosen to create a challenge as local bus routes and towns aren't really known to most people, so careful thought and analysis is required to be successful. We were also inspired by a chain of events, and a commute is probably the manifestation of this that appears in people's daily lives the most often without ever being paid much thought. We wanted to put a fun twist on one of the most monotonous aspects of the day, and push chaining transport links to the limit!

What it does

It takes two public transport spots in the UK and the player has to navigate through using transit routes, i.e train, rail, ferry, to get from one place to another. The player is initially dropped at a random public transport hub, e.g a train station or a bus stop. They then have to guess places which have a direct link with the place they are at, if there is a direct link they can go to the place they have guessed, if not they have to keep guessing. This continues until they reach their target destination. There is a map to guide the player to the right of their screen, however it has limited functionality so they can't use it the way they would use maps in everyday modern life. The routing is integrated with timetables and time is tracked, so if the player misses the last bus or an overnight train, they're in for a long journey!

How we built it

We used a Flask backend and Next.js frontend, as well as learning to use the Maps API. Once we had data and requests being passed between the frontend and backend endpoints we wrote functions to query the Maps API and manipulate the results into a format useful for our game.

Challenges we ran into

The data returned from the Places and Directions APIs was in a format that was difficult to extract useful information from, and also provided very limited functionality, so we had to get creative. Another challenge was that 3/4 of our team had never used Git for a collaborative project before, but with some knowledge sharing, helping each other out, and branch protection, no one broke main!

Accomplishments that we're proud of

We're proud of the game we built and had a lot of fun testing it, but we're also proud of the way we worked as a team and collaborated to bring our different skill sets together to build something fun and innovative.

What we learned

We learned a lot of technical skills such as good software engineering practices, API usage, and new frameworks and languages, but also how to have fun and not get too stressed while still building a cool project.

What's next for Transit-Tango

We would like to expand the possible routes, from the UK into the rest of Europe. We would also like to improve the project from a single-page app to include more pages, we were overambitious and designed more pages than we had time to make. We would also like to implement a more interesting scoring function that compares the player's route with the optimal route from Google Maps.

Share this project:

Updates