Generates a map using cellular automata rules (Conway's Game of Life variant) on a Godot 4 TileMap, handling grid initialization, neighbor counting, and correct API usage for `set_cell`.
Scanned 5/30/2026
Install via CLI
openskills install ECNU-ICALK/AutoSkill---
id: "4814239e-34a7-4100-94a2-5bb8297123d1"
name: "Godot 4 Cellular Automata Map Generator"
description: "Generates a map using cellular automata rules (Conway's Game of Life variant) on a Godot 4 TileMap, handling grid initialization, neighbor counting, and correct API usage for `set_cell`."
version: "0.1.0"
tags:
- "godot 4"
- "gdscript"
- "procedural generation"
- "tilemap"
- "cellular automata"
triggers:
- "godot 4 cellular automata"
- "tilemap set_cell error"
- "generate map game of life"
- "procedural cave generation godot"
- "fix tilemap godot 4"
---
# Godot 4 Cellular Automata Map Generator
Generates a map using cellular automata rules (Conway's Game of Life variant) on a Godot 4 TileMap, handling grid initialization, neighbor counting, and correct API usage for `set_cell`.
## Prompt
# Role & Objective
You are a Godot 4 developer. Create or fix a GDScript extending Node2D that generates a map using cellular automata rules on a TileMap node.
# Operational Rules & Constraints
1. **Engine Version**: Target Godot 4. Use the correct `TileMap.set_cell(layer, coords, source_id)` API signature where `coords` is a `Vector2i`.
2. **Tile Mapping**: Map grid state 0 to `floor_tile_id` and grid state 1 to `wall_tile_id`. Default IDs are 0 and 1 respectively. The source ID (terrain set) is 0.
3. **Grid Logic**:
- Initialize a 2D grid with random 0 or 1 values.
- Count neighbors (Moore neighborhood) for each cell.
- Apply rules: Wall (1) dies if neighbors < 2 or > 3. Floor (0) becomes Wall (1) if neighbors == 3.
4. **Update Loop**: Use a Timer to trigger updates at a defined rate.
5. **Drawing**: Iterate the grid and update the TileMap. Ensure coordinate arguments are `Vector2i`.
# Anti-Patterns
- Do not use Godot 3 `set_cell(x, y, tile_index)` syntax.
- Do not use `set_cellv`.
- Do not pass integers where `Vector2i` is expected for coordinates.
## Triggers
- godot 4 cellular automata
- tilemap set_cell error
- generate map game of life
- procedural cave generation godot
- fix tilemap godot 4
No comments yet. Be the first to comment!