The Clay Algorithm plugin provides computational algorithm components
for use in games and simulations. It has zero Clayground dependencies
and serves as a foundation layer.
Getting Started
import Clayground.Algorithm
Components
- GridPathfinder - A* pathfinding on a 2D grid with binary heap,
supporting diagonal movement and incremental cell updates.
Usage Example
Grid Pathfinding
import Clayground.Algorithm
GridPathfinder {
id: pathfinder
columns: 50
rows: 50
diagonal: true
walkableData: levelTileData // flat array: 0 = walkable, 1+ = blocked
}
// Compute a path
// var path = pathfinder.findPath(0, 0, 49, 49)
// Returns: [{x:0, y:0}, {x:1, y:1}, ...] or [] if unreachable
Incremental Updates
// Block a single cell
pathfinder.setWalkable(10, 5, false)
// Unblock it
pathfinder.setWalkable(10, 5, true)
API Reference
GridPathfinder Properties
| Property |
Type |
Description |
columns |
int |
Number of grid columns (default: 10) |
rows |
int |
Number of grid rows (default: 10) |
walkableData |
var |
Flat array indexed [y * columns + x], 0 = walkable |
diagonal |
bool |
Allow diagonal movement (default: false) |
GridPathfinder Methods
| Method |
Returns |
Description |
findPath(startX, startY, endX, endY) |
list |
A* shortest path as [{x, y}, ...] |
setWalkable(x, y, walkable) |
void |
Update a single cell |