When I was about to enter the realm of dreams one night, my brain conjured up the idea of 6 player chess on a subdivided cube.
Naturally, my next action was to get out of bed and write this down.
When I heard about BSC Hack 2021, I saw the perfect opportunity to implement my idea.
CubeChess is a 6-player chess game. Movements of pieces are similar to the standard ones, except for pawns. Pieces that reach edges of the cube are projected onto the other side, so that the board can be treated as a continuous surface.
This makes for interesting gameplay. A rook can loop all the way around the cube board if it desires. A queen that stands on a corner of the cube threatens 6 directions instead of the standard 8.
How I built it
I set up the user interface using standard html/css, as well as used a templating engine called Pug. The frontend 3D framework used is called ThreeJS. I wrote code to generate the board and place pieces based on a state object that the client receives over socket-io.
The backend handles lobby-specific game state synchronization, as well as initial game setup using a JSON file of initial positions and colours. In short, it ensures that all players within the same lobby can see each other move pieces by receiving socket-io events from a player and broadcasting the new board state to other players.
What's next for CubeChess
I plan to release CubeChess publicly after I am done with my exams.