TabletopGDX is a powerful framework built on top of LibGDX specifically designed to accelerate the development of digital board games. It provides a comprehensive set of tools, abstractions, and systems that handle common board game mechanics, allowing developers to focus on game-specific logic rather than low-level implementation details.
- Flexible Turn Management: Support for multiple turn strategies (Standard, Auction, Stat-based, Time Track, and more).
- Visual Abstractions: Pre-built components for boards, tiles, pieces, and game UI elements.
- Rule System: Modular rule engine for validating game actions and moves.
- Event System: Decoupled communication between game components.
- Network Support: Built-in multiplayer capabilities with serialization.
- Save/Load System: Automatic game state persistence.
- Debug Tools: Development utilities for faster iteration.
- Customizable: Easily extendable to fit any board game genre.
Prerequisites
- Java 17 or higher
- Gradle (included in the project)
- LibGDX familiarity (recommended)
Installation
- Clone the repository: git clone https://github.com/egrohs/TabletopGDX.git cd TabletopGDX
- Import into your IDE: The project uses Gradle, so import it as a Gradle project in your preferred IDE
- Add to your project:
- Add to your build.gradle implementation "com.yourdomain:TabletopGDX:1.0.0"
Basic Usage ...
Core Components ...
Run the test suite:
bash ./gradlew test
This project is licensed under the MIT License - see the LICENSE file for details.
We welcome contributions! Please feel free to submit pull requests, report bugs, or suggest new features.
- Fork the project.
- Create your feature branch (git checkout -b feature/AmazingFeature).
- Commit your changes (git commit -m 'Add some AmazingFeature').
- Push to the branch (git push origin feature/AmazingFeature).
- Open a pull request.
If you have any questions or need help, please:
- Check the documentation first.
- Search existing issues.
- Create a new issue if your problem isn't already addressed.
Built on the amazing LibGDX framework. Inspired by various board game implementations and digital adaptations. Thanks to all contributors and the community for their support.