Inspiration

We were inspired by our love of board games, and wanted to take on the challenge of designing one from scratch and implementing it with code.

What it does

What we have built is an app in which one end user can be a Host for the game, and their screen will display the board. The other end users will be Players, and their screen will simply be their controller, with their moves being reflected in real time on the Host's screen.

How we built it

We built Siege using p5.js, HTML, and CSS for the front end, with Flask for the back end. We deployed this on Heroku.

Challenges we ran into

We ran into challenges with our GUI, as window resizing with p5 is very difficult to manage.

Accomplishments that we're proud of

We're proud of being able to deploy our app on Heroic, as that was a long process due to several mishaps that resulted in a few man-hours of reading backtraces of Heroku's CLI log. We are also proud that we got the concurrency to work between Players and the Host.

What we learned

We learned about the intricacies that go into making a board game, and we all became better at debugging through this process for sure.

What's next for Siege

We definitely had game aspects that we talked about implementing and didn't get around to. While we feel like we have a functional game so far, there is more that can be done to make it an even more interesting game. Also, we hope to add capacity for more than 2 "rooms", so more people could play this game at once.

Share this project:

Updates