Decentralized Games: Play Fair, Play Secure, Play On-Chain.
Welcome to the Decentralized Games Platform, a cutting-edge project that merges classic board games with the innovation of blockchain technology. Built on Linera’s Layer 1 architecture, our platform provides a secure, transparent, and engaging environment for game enthusiasts to enjoy on-chain gameplay.
Currently, you can enjoy:
- MicroChess: Play classic chess in a decentralized and secure environment.
- Decentralized Multiplayer: Compete with others in a trustless, decentralized environment using Linera's temporary chain architecture. Enjoy real-time gameplay without relying on a central authority.
- Efficient Bitboard Representation: Manage and compute game states quickly with bitboards, ensuring smooth gameplay.
- Immutable Game History: All moves and outcomes are recorded on the blockchain for a permanent, tamper-proof record.
- Web3 Integration: Seamlessly interact with blockchain features through an intuitive web interface.
- Future Enhancements: Planned updates include computer opponents for solo play and premium features for advanced users.
To get started with the Decentralized Game Platform, follow these steps:
You should have rust and bun.js or yarn installed.
git clone https://github.com/linera-io/linera-protocol.git
cd linera-protocol
cargo install --path linera-service
cargo install --path linera-storage-service
git clone https://github.com/Nirajsah/stella.git
cd stella
./run.sh
cd frontend
bun vite build
bun preview
To play you need to have port number, chainId and owner stored in the sessionStorage of you browser
- Implemented basic game logic.
- Set up the chessboard and pieces.
- Basic move handling.
- FEN string generation and processing.
- Implemented move validation for:
- Pawns
- Knights
- Bishops
- Rooks
- Queens
- Kings
- Implement capturing mechanics.
- Implement pawn double move.
- Implement turn-based play (White moves first).
- Detect and handle check.
- Implement castling.
- Implement en passant.
- Detect and handle checkmate.
- Implement pawn promotion.
- Implement stalemate detection.
- Implement draw by threefold repetition.
- Implement draw by the fifty-move rule.
- Add support for different game modes.
- Develop a tournament feature.
- Implement AI opponent for single-player mode.
- Expand game options beyond chess.
This project is licensed under the APACHE License.
Copyright/Attribution Notice: JohnPablok's improved Cburnett chess set.
Disclaimer: This project is in active development and features may change. Stay tuned for updates and new releases!