Inspiration

One of our favorite child hood games is the wonderful game of Stratego! However in our modern day, there is no good online version of Stratego. We wanted to create a way for users to play this game for themselves on their own computers!

What it does

Stratego is a strategy based board game played between two players. We emulated this game in the command line of a computer. Players can take turns playing the game similar to how one might play the game in person.

How we built it

We were focused on the game functionality and built the entire project in Python. We realize that most people just want to play so we initialize a random piece layout for each player and let them start playing!

Challenges we ran into

There were a lot of features that we wanted to implement during this amount of time. One of the biggest challenges we faced was showcasing a two person view for only a singular person at a time. Each player is not allowed to see the values of the other person's pieces but since the game is played on one device, each user should be able to see their own pieces. While trying to create a local server to play the game, we were stuck at a choice of whether or not to host our game logic on the server side or the client side. Each side had its own pros/cons and we originally decided to go with the client side implementation. However midway through we realized that this wouldn't work because we weren't able to pass our game board across the socket in its entirety. This meant that we had to change back to server side hosting which meant scrapping the original and restarting.

Accomplishments that we're proud of

We are proud of the fact that we got the basic implementations of the game working locally for one person. Two players can play the game on one computer.

What we learned

One of the things that we wanted to implement was giving the abiliity for two different users to play across different computers connected to each other. This involved doing work with sockets and creating a server giving client capabilities. Though we weren't able to fully flesh out this implementation, we learned a lot about what kind of protocols are needed for establishing these connections.

What's next for Stratego

We want to:

  • provide the ability for users to play across different computers.
  • open server to multiple simultaneous games / large scale hosting on some other platform
  • Beautify
  • Add obstacles onto the board that players have to avoid
  • Create a machine learning model to find out optimal strategies
  • join friend code
  • Use a database to store login/password/MMR
  • Augment map scaling? Piece scaling? etc

Built With

Share this project:

Updates