Inspiration
An old man taught me about this game that he invented. The game he invented had the same piece names and similar logic. He told me if I could understand his game, then he did his job right. I was so impressed by what he came up with, I decided to make it a software so more people could try it out!
What it does
The game currently is played between two people. It is an 8x8 grid similar to chess with 13 pieces per color being initialized in the start of the game. Each type of piece has it's own movement and game logic, such as immunity in certain zones of the board, different ranges, and different abilities like the cavelrymen, who can be stacked on top of each other to increase their movement range.
How we built it
The game has a very simple tech stack. The backend was implemented in Python, following object oriented programming principals to write clean code which could be expanded on. I started by writing the majority of the backend logic. Next I did the front end using ReactJS and Vite. The colors were inspired by the Supercell game suite, which has proven to be very effective for capturing the attention of many young people across the world. Finally, to connect the two halves, I used FastAPI.
Challenges we ran into
A lot of trouble at first connecting the backend to the front end with FastAPI. The problem was I had two instances of FastAPI in the code base by accident. Another trouble I had was trying to remember what I was taught about the game although I had only played it one time with the man.
Accomplishments that we're proud of
Implementing a game that at least one other person will care about and enjoy. That is priceless and I can't wait to send him the prototype
What we learned
I learned a lot about fullstack engineering and building a project by myself. I had never had the opportuity to work on the backend of a game before, and I am very happy I did so
What's next for Chess-2.0
- Proper piece initialization according to the game rules. When we played, we would flip a coin to see who gets to place their pieces first. When each player places their pieces, they can choose the formation they would like to start with, within the dedicated staging areas. For example, considering chess, you could begin the game with your queen in front of one of your pawns if you felt like it and can build strategies based off different arrangements of pieces.
- Building an artificial intelligence algorithm for a single player mode. This should not be too difficult like it would be for chess, because the win condition of the game is far less complex than a checkmate as you need to reach a certain corner square on the board to win.
- 4 player mode. I was told there are two ways to play, 1v1 and 2v2. The 2v2 logic has not yet been implemented, however will be easy to make
- Finally, I would like to clean up the UI. I would like to add icons for each of the pieces instead of letters as they are now. And I would like to add something to the UI as a guide for players learning the game.
Built With
- css
- fastapi
- html5
- javascript
- python
- react
- tailwind
- typescript
Log in or sign up for Devpost to join the conversation.