Skip to content

egrohs/TabletopGDX

Repository files navigation

TabletopGDX - A LibGDX Framework for Board Games

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.

🎯 Features

  • 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.

🚀 Quick Start

Prerequisites

  • Java 17 or higher
  • Gradle (included in the project)
  • LibGDX familiarity (recommended)

Installation

  1. Clone the repository: git clone https://github.com/egrohs/TabletopGDX.git cd TabletopGDX
  2. Import into your IDE: The project uses Gradle, so import it as a Gradle project in your preferred IDE
  3. Add to your project:
  4. Add to your build.gradle implementation "com.yourdomain:TabletopGDX:1.0.0"

Basic Usage ...

📖 Documentation

Core Components ...

🧪 Testing

Run the test suite:

bash ./gradlew test

📝 License

This project is licensed under the MIT License - see the LICENSE file for details.

🤝 Contributing

We welcome contributions! Please feel free to submit pull requests, report bugs, or suggest new features.

  1. Fork the project.
  2. Create your feature branch (git checkout -b feature/AmazingFeature).
  3. Commit your changes (git commit -m 'Add some AmazingFeature').
  4. Push to the branch (git push origin feature/AmazingFeature).
  5. Open a pull request.

📞 Support

If you have any questions or need help, please:

  1. Check the documentation first.
  2. Search existing issues.
  3. Create a new issue if your problem isn't already addressed.

🙏 Acknowledgments

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.

About

Opinionated Tabletop Board Game Framework in java using libgdx.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors