ai-behavior-trees-util…
Build a production behavior-tree runtime (Blackboard, action/condition leaves, sequence/selector/parallel composites, decorators) and a Utility AI system…
Build a survival-crafting game: resource gathering, inventory, crafting and a tech tree, needs (hunger/thirst/temperature), and base building. Use for a survival or crafting/base-building game.
$ npx -y skills add gamedev-skills/awesome-gamedev-agent-skills --skill survival-crafting --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/survival-craftingContext preview
The summary Claude sees to decide when to auto-load this skill.
Build a survival-crafting game: resource gathering, inventory, crafting and a tech tree, needs (hunger/thirst/temperature), and base building. Use for a survival or crafting/base-building game.
name: survival-crafting description: > Build a survival-crafting game: resource gathering, inventory, crafting and a tech tree, needs (hunger/thirst/temperature), and base building. Use for a survival or crafting/base-building game.
A playbook for survival-crafting games — the gather → craft → build loop, survival needs, the crafting/tech progression, and base building. This is a **compositional** skill: it orchestrates inventory data, world content, persistence, and threats. It does not re-teach those primitives; it defines the loop and the pressure systems (needs, scarcity, escalation) that make survival tense rather than tedious.
builds a base** against escalating threats: survival sandbox, crafting/base-building game.
or base placement/building.
**When *not* to use:** crafting as a minor RPG feature → `rpg`. Permadeath grid dungeon → `roguelike`. For inventory/items as data assets, use `godot-resources` / `unity-scriptableobjects`; for world generation, `procedural-gen`.
**Gather raw resources → craft tools/items → build and upgrade a base → manage survival needs → explore farther for better resources → survive escalating threats → repeat at a higher tier.** Each loop should unlock the *next* loop (better tools → reach new biomes → new resources → better crafts). When that ladder breaks, the game becomes a grind.
1. **Resource nodes + gathering** — harvestable world objects; tool requirements/tiers; respawn. 2. **Inventory** — stacks, capacity (slots or weight), drop/transfer, hotbar. 3. **Crafting** — recipes (inputs → output), a crafting station/tech gate, a tech tree. 4. **Survival needs** — hunger, thirst, temperature, stamina, health, with decay + consequences. 5. **Base building** — placeable structures, a build grid/snapping, storage, crafting stations. 6. **World + day/night** — biomes/resources (often procedural); a time cycle driving threats. 7. **Threats** — hostile creatures/weather/events that escalate; combat or avoidance. 8. **Save/load** — world state, inventory, base, needs, progression; large-world persistence.
| Knob | Effect | Notes | |------|--------|-------| | Needs decay rates | pressure cadence | Slow enough to explore, fast enough to matter. | | Need-failure consequence | stakes | Damage over time, not instant death. | | Resource scarcity / respawn | exploration push | Scarce near base → travel for more. | | Tool tiers / gating | progression ladder | Better tool → new node types. | | Recipe complexity / tech depth | long-term goals | Multi-step chains, not flat lists. | | Inventory limit (slots/weight) | logistics tension | Forces base trips and storage. | | Threat escalation curve | difficulty over time | Night/seasonal/event ramps. | | Day length | rhythm | Day = gather, night = defend. |
# Pseudocode in the per-frame/per-tick update. dt = seconds. Needs fall; failure bleeds HP.
def update_needs(p, dt):
p.hunger = max(0, p.hunger - HUNGER_RATE * dt)
p.thirst = max(0, p.thirst - THIRST_RATE * dt)
p.temp = approach(p.temp, ambient_temperature(p), TEMP_RATE * dt)
# Consequences are graded, not binary: warnings, then attrition — never instant death.
if p.hunger == 0 or p.thirst == 0:
p.hp -= STARVE_DAMAGE * dt # damage over time creates urgency with recovery room
if p.temp < COLD_THRESHOLD or p.temp > HEAT_THRESHOLD:
p.hp -= EXPOSURE_DAMAGE * dt
if p.hunger > 0 and p.thirst > 0 and not exposed(p):
p.hp = min(p.max_hp, p.hp + REGEN_RATE * dt) # safe + fed => heal# Pseudocode. Recipes are data: inputs -> output, with an optional station/tech requirement.
recipe = {"id": "stone_axe",
"inputs": {"wood": 3, "stone": 2}, "output": ("stone_axe", 1),
"station": "workbench", "requires_tech": "basic_tools"}
def can_craft(recipe, inv, tech, station):
if recipe.get("requires_tech") and recipe["requires_tech"] not in tech: return False
if recipe.get("station") and recipe["station"] != station: return False
return all(inv.count(item) >= n for item, n in recipe["inputs"].items())
def craft(recipe, inv, tech, station):
if not can_craft(recipe, inv, tech, station): return False
for item, n in recipe["inputs"].items(): inv.remove(item, n) # consume all, then add
inv.add(*recipe["output"]) # atomic: no partial craft
return True# Pseudocode. A node yields only if the held tool meets its required tier.
def harvest(node, tool):
if tool.tier < node.required_tier:
return notify("Need a better tool") # e.g. stone node needs a pickaxe, not fists
node.hp -= tool.power
if node.hp <= 0:
spawn_drops(node.drop_table) # weighted drops (see roguelike loot pattern)
node.start_respawn(node.respawn_time) # node returns later; world isn't depleted foreverwith clear warnings and a recovery path (Pattern 1).
the next (better tool → new node → new resource → better craft).
first, then consume-and-add as one step (Pattern 2).
slots or weight.
<img src="docs/assets/banner.png" width="820" alt="awesome-gamedev-agent-skills — game-dev skills for AI coding agents.
Repo: gamedev-skills/awesome-gamedev-agent-skills
Build a production behavior-tree runtime (Blackboard, action/condition leaves, sequence/selector/parallel composites, decorators) and a Utility AI system…
Implement game audio practice — bus/mixer architecture and gain in decibels, ducking (sidechain), adaptive/dynamic music via layering and re-sequencing, SFX…
Build game cameras that feel good — 2D follow with a deadzone, look-ahead, smoothing, and level-bounds clamping; 3D third-person orbit with collision and…
Plan, generate, source, normalize, and validate cohesive visual game assets. Use for art direction, style bibles, sprites, tilesets, backgrounds, UI art,…
Build branching dialogue and narrative — a node/choice graph with conditions, variables, and localization hooks — and choose between authoring tools Ink and…
Design NPC and enemy decision-making with finite state machines, behavior trees, steering behaviors, and A* pathfinding — engine-neutral algorithms that pair…