Skip to content

Hexing 0.3.0

Latest

Choose a tag to compare

@CoCoSol007 CoCoSol007 released this 20 Aug 19:48
· 9 commits to main since this release

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

pathfining
fov

🔥 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 f64 values 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.

noise

🛠️ Update / Installation

To update your existing project:

cargo update

For a new installation:

cargo add hexing