📦 Release v0.3.0 - Layout Feature & More!
I am excited to announce the release of version 0.3.0 of the hexing library! This update introduces advanced features for managing hexagonal grids with our new Layout module. Designed for game developers and applications requiring complex hexagonal grids, this version brings several enhancements. Here's a summary of what’s new:
🚀 New Features
🌍 Layout Feature
The new Layout module provides sophisticated management of hexagonal grids using a HashMap structure. It facilitates the creation, manipulation, and storage of elements within hexagonal grids, optimizing data management in video game maps.
Key Features of HexLayout:
- Field of View (FOV): Determine which positions are visible from a given point, considering obstacles and range limitations.
- Pathfinding: Compute the shortest path between two positions using algorithms tailored for hexagonal grids.
- Movement Fields: Calculate which positions are reachable within a specified range from a starting position.
- Noise Maps: Generate and manipulate noise-based data for procedural content or simulations.
- Logical Operations: Perform logical operations on multiple hexagonal grids, such as AND, OR, and NOT operations.
🔥 Video Game Map Layouts
The layout allows for efficient organization of elements within video game maps, with specific examples for:
- Walls (or Obstacles): Optimized management for pathfinding, FOV, and Field of Movement (FOM) calculations.
- Biomes: Use
f64values to handle terrain variations generated by procedural noise for diverse and dynamic environments. - Players: Store specific information such as position, health, and inventory, facilitating player interaction and progression tracking.
🎓 Usage Examples
Detailed examples are provided to help you get started with HexLayout, covering basic functionalities as well as advanced features like FOV, pathfinding, and noise integration.
🛠️ Additional Utility Functions
- Bounding: A utility function for calculating the bounding box of a hexagonal grid.
📈 Compatibility with noise
We have added support for the noise crate, allowing for noise-based hexagonal maps for more dynamic and varied terrain. Check our documentation to see how to enable and use this feature.
🛠️ Update / Installation
To update your existing project:
cargo updateFor a new installation:
cargo add hexing

