Survival Crafting

作者 gamedev-skillsd4b0e35550c5无许可证1.3K 个星标收录于 2026年10月8日更新于 2026年10月8日仓库11天前更新

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.

仅含说明Design & Creative
AI 生成的概览

面向生存制作游戏的设计手册,涵盖采集、物品栏、制作、生存需求与基地建造。

功能
该技能为生存制作游戏提供设计手册,定义采集—制作—建造循环以及让生存充满压力的压力系统。它涵盖必备系统,如资源节点、物品栏、制作与科技树、生存需求、基地建造、昼夜循环、威胁和存档/读档。它还提供设计调节项、需求衰减、原子化制作和工具门槛采集的伪代码模式,以及常见陷阱与组合说明。
适用场景
适用于设计生存沙盒或制作/基地建造游戏,玩家在其中采集资源、制作物品、管理生存需求,并在不断升级的威胁下建造基地。也适合设计饥饿、口渴、温度等需求、制作科技树、采集循环或基地选址与建造。
运行要求
无需脚本或工具,仅为说明性内容。它引用配套文档 references/needs-and-crafting.md,以获取完整的需求模型、科技树图、调优和升级细节。

Survival Crafting

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.

When to use

  • Use when the player gathers resources, crafts items/structures, manages survival needs, and builds a base against escalating threats: survival sandbox, crafting/base-building game.
  • Use when designing needs (hunger/thirst/temperature), a crafting tech tree, gathering loops, 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.

Core loop

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.

Must-have systems

  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.

Design knobs

KnobEffectNotes
Needs decay ratespressure cadenceSlow enough to explore, fast enough to matter.
Need-failure consequencestakesDamage over time, not instant death.
Resource scarcity / respawnexploration pushScarce near base → travel for more.
Tool tiers / gatingprogression ladderBetter tool → new node types.
Recipe complexity / tech depthlong-term goalsMulti-step chains, not flat lists.
Inventory limit (slots/weight)logistics tensionForces base trips and storage.
Threat escalation curvedifficulty over timeNight/seasonal/event ramps.
Day lengthrhythmDay = gather, night = defend.

Patterns

1. Needs decay with graded consequences

python
# 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

2. Crafting: validate, then atomically consume inputs

python
# 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

3. Gathering gated by tool tier

python
# 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 forever

Pitfalls / failure modes

  • Needs that kill instantly → frustration and save-scumming. Make failure damage over time, with clear warnings and a recovery path (Pattern 1).
  • Grind without a ladder → gathering that never unlocks new gathering. Each tier must open the next (better tool → new node → new resource → better craft).
  • Non-atomic crafting → inputs consumed but output not granted on an edge case. Validate first, then consume-and-add as one step (Pattern 2).
  • Inventory with no limits → no logistics tension and no reason for a base/storage. Cap by slots or weight.
  • Permanently depleting the world → players strip the map and quit. Respawn nodes or regenerate resources over time.
  • Per-frame decay unscaled by dt → needs drain at different speeds on different hardware. Scale by dt.
  • No save / fragile save of a large world → a crash wipes hours. Persist world+base+needs incrementally; version it (see save-systems).
  • Flat threat curve → no late-game pressure. Escalate via night/season/event tiers.

Composition (build it from these skills)

  • Items/recipes as data: godot-resources / unity-scriptableobjects — items, recipes, tech tree, drop tables.
  • World: procedural-gen for biomes/resource placement; level-design for authored areas.
  • Persistence: save-systems for large-world state, base, inventory, needs, and versioning.
  • Threats: game-ai for creatures; the engine physics skill for melee/collision.
  • Building/placement: godot-tilemap / unity-tilemap-2d (2D) or godot-3d-essentials (3D) plus UI snapping.
  • UI: game-ui-ux for inventory/crafting/HUD layout and scaling; godot-ui-control for the concrete inventory, crafting menu, needs HUD, and build mode.

References

  • For the full needs model and thresholds, the crafting tech-tree graph, gather/respawn tuning, base-building grids, and threat escalation, read references/needs-and-crafting.md.

来源与署名

来源:gamedev-skills/awesome-gamedev-agent-skills位于skills/genres/survival-crafting提交d4b0e35

许可证: 无许可证

内容归原作者所有。SourceWeft 从公开仓库中收录这些内容。

举报或申请下架