Inspiration

We were inspired by classics such as Zork and Fireboy and Watergirl, which we decided to attempt to merge into a single multiplayer terminal based platformer. To increase the challenge we also decided to have it be networked because all projects are better with client-server architecture.

What it does

It is a terminal based platformer game, where you are two cyber-criminals breaking into a digital vault to steal secret keys and get away with them. Along the way you will encounter difficult platforming and enemies you need to avoid. You will also be playing with another user over the network through our dedicated servers meaning you need to work together to solve the puzzles within the levels.

How we built it

We made the server in Go, and the client in Python using PyGameLib to run the game logic. Abi was our dedicated server engineer and wrote all of the Go, while Matt did the protocol work on the client Python side. Anna and Charlie worked on making the client side game logic work and show up correctly.

Challenges we ran into

One of the main challenges we ran into was being able to integrate the normal PyGameLib single player game logic into being able to be used as a client in a networked game, as it normally only allows for one player at a time. The PyGameLib library is very poorly maintained and badly documented so it was hard to understand how it worked initially. The example code didn't even run due to a divide-by-zero error. But we managed to correct that and get a solid understanding of the library

Accomplishments that we're proud of

We are very proud of our resilience and ingenuity to overcome so many challenges, and find ways to make it work even when it should not be possible.

What we learned

We learnt that sometimes all you need to make a project work is a little bit of dodgy coding practice and a lot of luck. We also learnt not to use the library again

What's next for Escape Code

Unfortunately the cost of the dedicated game servers outweigh the viability of the product so we will be shutting it down after the hackathon

Built With

Share this project:

Updates