Resources

100 Questing & Storylines resources for MUD players

This guide provides technical and design frameworks for implementing robust questing systems in text-based multiplayer environments. It focuses on scripting architectures, narrative branching techniques, and economic balancing to ensure storylines are engaging without disrupting game stability.

100 Questing & Storylines resources for MUD players illustration
Placeholder illustration shown while custom artwork is being produced.

Quest Scripting & Engine Implementation

  1. 1

    DG Scripts (CircleMUD/tbaMUD)

    beginnerhigh

    Utilize trigger-based scripting for mobs, objects, and rooms. Use the 'wait' command to simulate NPC typing and 'remote' variables to track player state across different areas.

  2. 2

    Evennia EvMenu System

    intermediatehigh

    A Python-based branching menu system. Ideal for complex NPC dialogues where player input is restricted to specific options, preventing the 'guess the keyword' frustration.

  3. 3

    CoffeeMUD .quest Files

    intermediatestandard

    Standardized script format for defining mob spawns, objective conditions, and automated cleanup. Supports complex logic like 'PLAYERMASK' to restrict quests by race or class.

  4. 4

    LPC Quest Objects

    advancedhigh

    In LPMuds, use inheritable quest objects to maintain persistent state. Store quest progress directly in the player object's save file using secure bitmasking.

  5. 5

    Lua-based Trigger Systems

    advancedhigh

    Embed a Lua VM (like in Aardwolf) to handle quest logic. Lua's speed allows for real-time combat quests and complex environmental puzzles without server lag.

  6. 6

    JSON-driven Quest Data

    intermediatemedium

    Externalize quest text and requirements into JSON files. This allows non-coding builders to update storylines without touching the C/C++ core or requiring a reboot.

  7. 7

    ROM MOBProg Triggers

    beginnerstandard

    Legacy trigger system for ROM codebases. Essential for 'greet_prog' and 'give_prog' triggers which form the backbone of item-delivery quests.

  8. 8

    Quest Bitmasks

    advancedhigh

    Implement a bitmask system to track hundreds of quest flags efficiently in a single database column or player variable.

  9. 9

    State Machine NPCs

    intermediatemedium

    Design NPCs with internal states (e.g., Neutral, Aggressive, Helpful) that transition based on player quest completion or dialogue choices.

  10. 10

    Dynamic Area Loading

    advancedhigh

    Script quests that load temporary 'instanced' versions of rooms to prevent quest-stealing or 'kill-stealing' in high-traffic areas.

Narrative Design & Dialogue Frameworks

  1. 1

    Keyword-based Ask/Tell

    beginnerstandard

    The standard 'ask [npc] [topic]' interface. Implement a 'hint' system where NPCs emphasize keywords in their response to guide the player.

  2. 2

    Environmental Storytelling

    beginnermedium

    Use 'extra descriptions' on room objects. A player examining a 'bloodstain' can trigger a quest flag that isn't available through NPC dialogue.

  3. 3

    Twine-to-MUD Exporting

    intermediatehigh

    Use the Twine narrative tool to map out branching paths, then use custom scripts to export the logic into MUD-compatible area files or scripts.

  4. 4

    Dynamic Variable Injection

    beginnerstandard

    Ensure quest text uses tokens like $n (name) or $g (gender) to personalize the experience and increase immersion in text-only environments.

  5. 5

    Lore Consistency Wikis

    beginnermedium

    Maintain a DokuWiki or MediaWiki for builders to reference. Ensure that quest-givers in different zones don't provide contradictory historical data.

  6. 6

    Multi-stage Global Quests

    advancedhigh

    Implement server-wide variables that change based on total player contributions, such as rebuilding a city or repelling an invasion.

  7. 7

    Hidden Quest Starters

    intermediatemedium

    Trigger quests via the 'search' command or by 'reading' specific items in the world, rewarding players who interact deeply with the text.

  8. 8

    Faction-locked Dialogue

    intermediatemedium

    Use reputation variables to gate quest content. A 'thief' NPC should only offer quests if the player's 'Underworld' reputation is high enough.

  9. 9

    Time-sensitive Objectives

    intermediatestandard

    Script quests that must be completed within a specific number of game-ticks or before 'nightfall' to add urgency and challenge.

  10. 10

    NPC Memory Arrays

    advancedmedium

    Give NPCs a 'memory' of past interactions. If a player failed a previous quest, the NPC's greeting should reflect that disappointment.

Economy Integration & Reward Balancing

  1. 1

    Quest Point (QP) Currencies

    intermediatehigh

    Separate quest rewards from gold. Use a non-tradable 'Quest Point' currency that can be spent at a specialized shop for utility items.

  2. 2

    Level-scaled XP Rewards

    beginnermedium

    Calculate experience gains as a percentage of the player's level requirement rather than a flat value to keep low-level quests relevant.

  3. 3

    Bound-on-Pickup Items

    beginnerstandard

    Flag quest-specific gear so it cannot be traded or auctioned, preventing high-level players from flooding the market with quest rewards.

  4. 4

    Daily Quest Caps

    intermediatehigh

    Implement a 'quest stamina' or daily limit system for repeatable quests to prevent botting and hyper-inflation of the game economy.

  5. 5

    Resource Sink Quests

    beginnermedium

    Design quests that require players to turn in large quantities of common materials (iron, herbs) to remove excess supply from the world.

  6. 6

    Unique VNUM Assignments

    beginnerstandard

    Assign specific Virtual Number (vnum) ranges for quest items to make them easily identifiable in player files and inventory audits.

  7. 7

    Progressive Reward Tiers

    intermediatemedium

    Offer better rewards for players who choose more difficult branching paths within a quest, such as fighting a boss instead of paying a bribe.

  8. 8

    Quest Completion Logs

    beginnerhigh

    Create a 'quest log' command that displays active and completed quests, preventing players from forgetting objectives and abandoning content.

  9. 9

    Anti-Farming Timers

    intermediatestandard

    Apply a global cooldown to specific high-reward quest triggers to ensure they cannot be triggered by multiple players in rapid succession.

  10. 10

    Reward Audit Logging

    advancedhigh

    Implement server-side logging for every quest completion. Review logs weekly to identify scripts that are yielding unintended wealth.