Rpg

作者 gamedev-skillsd4b0e35550c5無授權條款1.3K 個星標收錄於 2026年10月8日更新於 2026年10月8日儲存庫11 天前更新

Build an RPG: stats and leveling, inventory and equipment, quests, branching dialogue, save/load, and combat. Use for an RPG/JRPG, or designing stat, inventory, quest, or combat systems.

AI 產生的概覽

建構角色扮演遊戲系統的指南:屬性、升級、物品欄、任務、對話、戰鬥與存檔。

功能
這個技能為角色扮演遊戲提供設計與實作指南,涵蓋屬性與升級、物品欄與裝備、戰鬥、任務、分支對話、存檔讀檔、經濟與介面。它定義了所需系統與設計調節項,提供衍生屬性、經驗曲線和任務目標更新的虛擬碼模式,並列出常見陷阱。它也指向對話引擎、持久化、內容資料、AI、介面和世界建構等搭配技能。
適用情境
適用於建構具有成長屬性、物品欄、任務、對話和持久進度的 RPG 或 JRPG,或設計升級曲線、傷害公式、物品欄模型、任務狀態機時。不適用於沒有持久角色的永久死亡模式、純分支劇情或生存建造類遊戲。
執行需求
無需指令碼,僅為說明性內容。它引用了一份關於屬性、戰鬥與任務的參考文件,並依賴對話、存檔、內容資料、AI、介面和關卡設計等搭配技能。

RPG

A playbook for role-playing games — stats and progression, inventory/equipment, quests, dialogue, and combat. This is a compositional skill: it ties data-driven content, dialogue, and saving together. It does not re-teach those primitives; it defines the systems that make growth and choice feel meaningful, and points to the skills that implement each.

When to use

  • Use when building an RPG/JRPG/action-RPG: the player has stats that grow, an inventory, quests, dialogue, and persistent progress.
  • Use when designing a leveling curve, a damage formula, an inventory/equipment model, or a quest state machine.

When not to use: permadeath dungeon runs with no persistent character → roguelike. Pure conversation/branching story → visual-novel. Open-world needs/crafting/base-building → survival-crafting. For the dialogue engine itself, use dialogue-systems.

Core loop

Explore → encounter (fight / talk / solve) → earn rewards (XP, loot, story) → grow (level up, gear up, unlock) → take on harder content. The fantasy is getting stronger and shaping who your character is; every system should feed that growth-and-choice loop.

Must-have systems

  1. Stats + leveling — base attributes, derived combat stats, XP curve, level-up gains.
  2. Inventory + equipment — data-defined items, stacking, slots, stat modifiers.
  3. Combat — turn-based or action; damage formula, status effects, win/loss.
  4. Quests — objectives, state machine (available→active→complete→turned-in), rewards.
  5. Dialogue — branching lines, conditions on game state, choices that matter.
  6. Save/load — persist character, inventory, quest progress, world flags, with versioning.
  7. Economy + progression gating — gold/shops; gate power behind level/quest/region.
  8. UI — HUD, inventory, quest log, dialogue box, character sheet.

Design knobs

KnobEffectNotes
XP curve shapepacing of powerFast early, slow late (see refs).
Stat→derived scalingbuild diversityOne attribute shouldn't dominate.
Damage formulatactical feelSubtractive vs. ratio mitigation (refs).
Random variance / critswinginess±10% and ~1.5× crit are safe defaults.
Drop rates / economyreward cadenceAvoid trivializing shops with loot.
Power gatingdifficulty gatingLevel/region/quest locks.
Reversible modifiersbuff/gear correctnessLayer mods; never edit base stats.
Choice consequencerole-play weightQuest/dialogue flags should branch outcomes.

Patterns

1. Derived stats from base attributes (recompute, never store as truth)

python
# Pseudocode. Base attributes are the only "truth"; combat stats are derived each time.def derive(base, mods):    s = apply_modifiers(base, mods)          # base + flat adds + percent, then clamp    return {        "max_hp":  20 + s["VIT"] * 8,        "attack":  s["STR"] * 2,        "defense": s["VIT"] + s["AGI"] * 0.5,    }# Equipping pushes a modifier; unequipping pops it. HP/attack recompute automatically.

2. XP curve + level-up

python
# Pseudocode. Quadratic curve: fast early levels, long late ones.def xp_to_next(level, base=100): return base * level * level
def gain_xp(actor, amount):    actor.xp += amount    while actor.xp >= xp_to_next(actor.level):        actor.xp -= xp_to_next(actor.level)        actor.level += 1        actor.base["STR"] += 2; actor.base["VIT"] += 2   # grant gains / skill points        on_level_up(actor)                                # heal, unlock, notify

3. Quest objective update driven by game events

python
# Pseudocode. Game events advance matching objectives; completion grants rewards.def on_event(kind, data):    for q in active_quests:        for obj in q.objectives:            if obj.event == kind and matches(obj, data) and not obj.done:                obj.count += 1                if obj.count >= obj.needed: obj.done = True        if all(o.done for o in q.objectives):            q.state = "complete"                # turn-in grants xp/gold/items

Pitfalls / failure modes

  • Editing base stats for buffs/gear → values drift and corrupt on save/reload. Keep a modifier layer; push/pop it (Pattern 1).
  • Storing derived stats as truth → desync after a stat change. Recompute from base.
  • Runaway XP/damage numbers → either an exponential curve with no cap or a subtractive formula at huge values. Pick a curve and a formula family deliberately (refs).
  • Content as code → every item/quest hardcoded. Define items, enemies, and quests as data (godot-resources / unity-scriptableobjects).
  • Save format with no version field → old saves break on update. Add a version and a migration path from day one (see save-systems).
  • Choices without consequences → dialogue branches that reconverge immediately feel hollow. Set flags that actually change later quests/world state.
  • Quest progress not persisted → reloading loses mid-quest state. Save quest state, not just completion.

Composition (build it from these skills)

  • Dialogue: dialogue-systems (Yarn Spinner / Ink) — branching lines, conditions, variables.
  • Persistence: save-systems — character, inventory, quest flags, world state, versioning.
  • Content data: godot-resources / unity-scriptableobjects — items, enemies, quests, skills as assets.
  • Combat AI: game-ai for enemy behavior; for turn order reuse the scheduler idea in roguelike.
  • UI: game-ui-ux for HUD/menu layout, resolution scaling, and controller/keyboard nav; godot-ui-control for the concrete inventory, quest log, character sheet, and dialogue box.
  • World: level-design plus your engine's tilemap/3D skill (godot-tilemap, godot-3d-essentials).

References

  • For stat/damage formulas, leveling curves, turn-vs-action combat timelines, inventory/equipment data shapes, and the quest state model, read references/stats-combat-quests.md.

來源與署名

來源:gamedev-skills/awesome-gamedev-agent-skills位於skills/genres/rpg提交d4b0e35

授權條款: 無授權條款

內容歸原作者所有。SourceWeft 從公開儲存庫中收錄這些內容。

檢舉或申請下架