🎲 Tiles Tools
A high-performance, generic, and extensible Rust crate for developing sophisticated tile-based games and applications.
This crate provides a complete toolkit for working with multiple coordinate systems, pathfinding, ECS integration, advanced AI systems, and performance-optimized game mechanics.
✨ Core Features
- Universal Coordinate Systems: First-class support for Hexagonal, Square, Triangular, and Isometric grids.
- Advanced Pathfinding: A* algorithm optimized for all coordinate systems with support for obstacles and variable terrain costs.
- Complete Game Framework: A full Entity-Component-System (ECS) powered by
hecswith specialized components and systems for grid-based games. - Performance-Optimized Systems: Includes an animation system, behavior trees for AI, a type-safe event system, and spatial partitioning to ensure high performance.
- Development Tools: Features debug visualization with ASCII and SVG output, performance profiling, and comprehensive serialization for save/load functionality.
🚀 Quick Start
Add tiles_tools to your Cargo.toml:
[]
= "0.1.0"
Create a simple game world with pathfinding:
use
;
📦 Examples
The crate includes a wide range of examples to demonstrate its capabilities.
| Example | Description | Command |
|---|---|---|
| beginner_tutorial | A step-by-step guide to the core concepts. | cargo run --example beginner_tutorial |
| tactical_rpg | A complete hexagonal grid tactical combat game. | cargo run --example tactical_rpg |
| stealth_game | Demonstrates field-of-view and lighting mechanics. | cargo run --example stealth_game |
| behavior_tree_demo | Showcases the advanced AI decision-making system. | cargo run --example behavior_tree_demo |
| serialization_demo | Implements save/load functionality. | cargo run --example serialization_demo --features serialization |
To run an example, use the command cargo run --example <example_name>. Some examples may require specifying features.
Built with ❤️ for the Rust game development community
Tiles Tools - Making tile-based game development simple, fast, and fun.