dungeon.club — Game Design Document
Platform: OutsideRPG (outsiderpg.com) — dungeon.club is the first guild instance Engine: Payload CMS with webhooks to Square, Stripe, hi.events Version: MVP / Early Access Launch: One month from current date
1. Overview
dungeon.club is a gamified membership platform for a local bookstore. The store functions as a quest hub. Members earn XP through purchases, event attendance, real-world quests, and daily check-ins. The platform is modeled on tabletop RPG progression using the BECMI (Basic/Expert/Companion/Master/Immortal) ruleset as its mathematical foundation.
The goal is healthy gamification: get people into the shop, spending money, making friends, doing things outside. No dark patterns. No expiring rewards. No artificial scarcity. No decay mechanics. Everything earned is kept permanently.
Design Pillars
- The store is a quest hub. Not a shop with a loyalty program — a location in a world.
- The profile is a character sheet. Not a dashboard — a living document of who you are in the game.
- Progression is the game. The XP curve, the level-ups, the quests — these are the product. Discounts and cashback are secondary.
- Healthy gamification only. No dark patterns, no FOMO mechanics, no punitive systems. Players are rewarded for participation, never punished for absence.
Inspirations
| Reference | What we’re capturing |
|---|---|
| Neopets | A world that feels like a place. Profile as identity. Collecting, customizing, belonging. |
| RuneScape | Persistent progression. The grind feels rewarding because the world responds to it. |
| Pokémon Go | Real-world quests. Getting outside. Social encounters through game mechanics. |
| Adventure Quest / DragonFable | Character sheet as identity, daily quests, cosmetic gear, community events, tiered membership. |
| Final Fantasy | Class fantasy. Level-up satisfaction. Iconic visual language. |
| Classic D&D (BECMI) | Character sheets. Paper-and-pencil aesthetic. Race-as-class simplicity. XP-for-gold economy. |
| /r/outside | Real life treated as an MMORPG. 1M+ subscribers already speak the language. We’re the first to actually build the system behind the meme. Viral potential. |
| Dungeon Crawler Carl | Regular people in a game system. Real-world identity + stats and levels. Same energy but opt-in and fun. |
| Stranger Things Hellfire Club | 80s analog texture. Binders, handwritten notes, club identity. Outsider community pride. |
2. Aesthetic Direction
UI Frame
The app, website, and kiosk look like a DM’s binder or player scrapbook from the 1980s. Graph paper backgrounds, hand-drawn maps, pencil sketches, notebook margins with doodles. Analog warmth, not digital polish. This is the container that holds every screen and interaction.
Visual Language
Inside the binder frame, content draws from Final Fantasy (class iconography, elemental motifs) and classic D&D (character sheets, stat blocks, dungeon maps as navigation elements). Level-up moments should feel like a Final Fantasy fanfare. The character sheet should feel like a page pulled from a Player’s Handbook.
The Character Sheet
The character sheet IS the profile. Every other loyalty app has a dashboard. This one has a character sheet displaying: class, level, XP bar to next level, faction (when unlocked), point balance, inventory of earned items, quest log, and event history. Rendered in the binder aesthetic with hand-drawn stat bars, parchment texture, and D&D-style layout.
3. Progression System
XP Curve: BECMI Fighter Table
BECMI chosen over B/X for its higher level cap (36 vs ~14), providing years of progression runway without hitting a ceiling.
| Level | Cumulative XP | Notes |
|---|---|---|
| 1 | 0 | Starting level |
| 2 | 2,000 | |
| 3 | 4,000 | |
| 4 | 8,000 | |
| 5 | 16,000 | |
| 6 | 32,000 | |
| 7 | 64,000 | |
| 8 | 120,000 | |
| 9 | 240,000 | Name Level — prestige milestone |
| 10–36 | +120,000 per level | Linear tail |
All values are cumulative. The curve doubles through early levels for fast initial progression, then flattens to a fixed 120,000 XP per level from 10 onward for a steady endgame grind.
XP Sources
Base rate: $1 spent = 100 XP
| Source | XP Range | D&D Analogy |
|---|---|---|
| Purchases | 100 XP per $1 (base, pre-multiplier) | Gold-for-XP (treasure) |
| Event attendance | 500–1,000 (recurring), 1,500–3,000 (special) | Session XP |
| Quests | 100–5,000+ (varies by tier) | Encounter XP |
| Daily check-in (NFC tap) | 100–200 | Resting at the inn |
| Streaks | 500 bonus per completed streak | Story awards |
| Referrals, seasonal challenges | Variable | Story awards |
Target ratio: ~3:1 or 4:1 purchase XP to activity XP, matching B/X treasure-to-monster ratios in actual play. Most XP comes from spending, but quests and events provide meaningful acceleration that pure spending cannot match.
XP Multiplier Rule
Membership tier multipliers apply to purchase XP only. Quest XP, event XP, check-in XP, and streak bonuses are unaffected by multipliers. This prevents high-spending members from outleveling active community members who engage with the full system.
XP Backfill
All existing customers with Square purchase history receive retroactive XP at 1x rate upon signup. This means day-one players see a character sheet already populated with history. Some regulars may sign up and immediately be level 3 or higher. This rewards existing loyalty and creates a powerful first moment.
4. Dual Currency System
Every dollar spent earns both XP and points simultaneously, at the same rate, with the same multipliers.
XP — Permanent. Tracks level. Never decreases. Not spendable.
Points — Spendable. Tracks balance. Redeemed for rewards and store credit. Spending points does not reduce XP or level.
A level 7 player who redeems all their points is still level 7 with a zero point balance.
Points-to-Store-Credit Conversion
Ratio: 100 points = $0.01 (1 cent)
| Tier | Multiplier | Effective Cashback |
|---|---|---|
| Bronze | 1x | 1% |
| Silver | 2x | 2% |
| Gold | 2.5x | 2.5% |
| Mithril | 3x | 3% |
Rates are competitive with major credit cards. Combined with store/event discounts, Mithril delivers ~28% total value return on store purchases. The conversion ratio is intentionally inefficient enough that most players will prefer keeping points for rewards rather than cashing out. The points-to-credit path exists as a safety valve, not the primary use case.
5. Membership Tiers
| Tier | Monthly Cost | Store Discount | Event Discount | XP Multiplier |
|---|---|---|---|---|
| Bronze | $10 | None | 10% | 1x |
| Silver | $20 | 10% | 10% | 2x |
| Gold | $50 | 20% | 25% | 2.5x |
| Mithril | $100 | 25% | 50% | 3x |
Tier Design Logic
**Bronze (1–3 per event on $10–30 tickets). Primary value is game access: XP, quests, character sheet, Discord membership, community.
**Silver (200/month spend on store discount alone. 2x XP multiplier doubles progression speed from purchases. The upgrade from Bronze is compelling for anyone buying regularly.
**Gold (250/month spend. 25% event discount provides a smooth step between Silver and Mithril. 2.5x multiplier. This is where the discount math starts selling itself.
**Mithril (400/month spend. The 50% event discount is the primary differentiator from Gold, not the 5% store bump. 3x multiplier. Named Mithril instead of Platinum to signal this is a game, not a bank product.
No Free Tier
No free tier at launch. Costs associated with maintaining free accounts aren’t justified pre-scale. If the platform goes viral, introduce a spectator mode: view-only access to leaderboards, other players’ levels, and upcoming events. No XP earning, no quest participation. Functions as a demo and funnels toward Bronze. Spectator mode, not player mode.
Payments
Membership billing handled through Stripe. Purchase tracking through Square POS integration. Event ticketing through hi.events.
6. Classes
Four cosmetic classes at launch:
Fighter · Magic-User · Cleric · Rogue
Rogue renamed from Thief — appropriate given the platform is attached to a retail store.
Rules
- Purely cosmetic. No mechanical differentiation at launch.
- Provides player identity and community sorting: Discord channels per class, class-based leaderboards, team events where classes compete.
- One character, one class, chosen during first login / onboarding.
- No rerolling. No alt characters.
- Class selection is presented as character creation, not account setup. The first moment the player feels like they’re in a game.
Future Considerations
- Mechanical class bonuses can be added later based on community feedback.
- If class changes are allowed: expensive one-time reincarnation quest that costs significant points but preserves level. Framed as a story event, not a fee.
- BECMI race-as-class options (Elf, Dwarf, Halfling) deferred. Expand based on demand.
7. Factions
Two factions: Law and Chaos. Mapped to D&D alignment.
Rules
- Cosmetic only. No mechanical advantages.
- Not available at signup. Unlocked at a level gate (target: level 3–4), after the player has attended events, met other players, and understands the community.
- Faction determines: Discord role and channel, leaderboard grouping, event team assignments, character sheet visual theming.
- Faction swap is a quest chain, not an XP tax. “Complete 3 quests aligned with the opposing faction” or “get sponsored by a member of the other faction.” Social gameplay, not a penalty.
Deferred
- Behavioral alignment drift (tracking quest types to nudge Law/Chaos) — too complex for launch. Park for later.
- Mechanical faction bonuses — same reasoning as classes.
8. Quest System
Philosophy
Quests are the core gameplay loop beyond purchasing. The shopkeeper is the DM. Quest verification is manual, just like a tabletop game. The process of submitting and verifying quests is itself a social activity.
Submission Channels
Primary: Discord quest channel. Players post photos, screenshots, or descriptions. Staff approves manually. Other players see completions in real time, react, and get inspired.
For shy players: Direct message to staff, or share a map screenshot instead of a selfie.
Social media: Post with store tag for quests that involve promotion.
In-app submissions: Deferred. Discord handles storage and CDN for free. No need to pay for file storage yet.
Quest Categories
Exploration — Visit a place, find a thing. “Visit the library.” “Find a mural in the neighborhood.” “Check in at a partnered local business.” Verified by photo, map screenshot, or NFC tap at partner locations.
Social — Interact with people or promote the community. “Post a selfie with your NFC card.” “Tag us on social media wearing merch.” “Bring a friend to an event.” These are free marketing quests — players do promotion and earn XP for it.
Collection — Accumulate a set. “Buy three different products from a specific category.” “Attend three events in a season.” “Complete five exploration quests.” These chain smaller actions into longer arcs. Some can be verified automatically through Square purchase history or hi.events check-in records.
Creative — Make something. “Draw your character.” “Write a backstory.” “Customize your NFC card and share a photo.” These generate community content and deepen player investment in their identity.
Quest Difficulty Tiers
Named after D&D item rarity for aesthetic consistency.
| Tier | XP Range | Examples |
|---|---|---|
| Common | 100–500 | Take a photo of a dog, check in at the shop, post a selfie with your card |
| Uncommon | 500–1,500 | Visit a local business, complete a collection of 3 |
| Rare | 1,500–3,000 | Bring a friend who signs up, attend 3 events in a season |
| Very Rare | 3,000–5,000 | Complete 5 exploration quests in a week, multi-step quest chains |
| Legendary | 5,000+ | Community-wide goals, seasonal epic quests |
Common floor at 100 XP means every quest feels worth doing. No junk quests.
Quest Rotation
- Permanent quests: Always available. Visit the library, check in at the shop, share a selfie with your card.
- Weekly/monthly rotations: Fresh quests to keep the quest log active.
- Seasonal quests: Tied to IRL event calendar and seasonal themes.
- Spontaneous DM quests: Staff posts ad-hoc quests in Discord. “First person to bring me a photo of a sunset gets 500 XP.” Feels like a DM improvising at the table.
Seasonal Items
Seasonal quest rewards rotate but are never permanently exclusive. Past seasonal items return annually or become available off-season at a slightly higher point cost. No FOMO mechanics.
9. Event Mechanics
Event Types
Recurring: D&D sessions, indie TTRPG sessions, MTG Commander and Draft nights, board game nights, book club, picnics. Regular cadence.
One-off / Seasonal: Special tournaments, themed nights, holiday events, seasonal celebrations. Modeled on MMO seasonal content.
XP Awards
Participation-only. No performance-based XP. Social environments shouldn’t incentivize optimization over hanging out. Competitive rewards (e.g., collector booster pack for MTG draft winner) remain separate from the XP system.
| Event Type | XP | Rationale |
|---|---|---|
| Recurring (MTG, D&D, board games, book club) | 500–1,000 flat | Consistent, predictable. A session’s worth of adventuring. |
| One-off / seasonal | 1,500–3,000 | Premium because limited. Incentivizes attendance. |
| Multi-day or flagship events | 5,000+ | Rare. Equivalent to a major dungeon crawl. |
Event Quests
Events can have attached quests for bonus XP beyond the attendance award. Examples: post a review after book club, share a photo from the picnic in Discord. The event gives base XP for showing up. The quest gives bonus XP for engaging further.
Streak Bonuses
Flat bonus for consistent attendance at recurring events. Attend 4 MTG nights in a month: 500 XP bonus. Attend book club 3 months in a row: 500 XP bonus. Streaks reset cleanly. Flat bonus, not a multiplier. Rewards regulars without punishing casual attendees.
Seasonal Events
IRL events modeled on MMO seasonal content: double XP periods, limited-time quest chains, community-wide unlock thresholds where all players contribute toward a collective goal.
10. NFC Cards & Kiosk
Hardware
- Raspberry Pi with USB NFC reader (WalletMate, also supports Apple/Android NFC)
- Attached to a touchscreen display
- Cheap, replaceable, deployable to multiple locations if needed
NFC Cards
- Pre-assigned UID mapped to player account in Payload CMS
- Blank black card issued in-store after signup
- Players are encouraged to customize: stickers, drawings, personal art
- Customized cards become conversation pieces and organic marketing
- Community board or Discord channel for sharing card photos
Kiosk Interaction: Player Tap
Player taps their NFC card. Kiosk displays their character sheet in the binder aesthetic within 2 seconds. XP from daily check-in is applied immediately — visible tick-up on the XP bar. Player can browse their sheet or walk away. Default view is the full character sheet with no additional taps or menus required.
The kiosk screen is public by default. Other players in the shop can see your character sheet when you tap. This is a feature — it creates conversation and social moments. Privacy setting available in account for players who want it.
Kiosk Interaction: Staff View
When a player taps, staff are signaled that a customer is in the shop. Staff can pull up the player’s previous purchases, interests, membership tier, and relevant upcoming events. The kiosk doubles as a CRM surface — enabling personalized service without staff needing to memorize every regular’s preferences.
Daily Check-In
One NFC tap per day awards 100–200 XP. Capped at once daily to prevent tap-farming. At 1x, a daily visitor earns 3,000–6,000 XP/month from check-ins alone — meaningful but not dominant compared to purchases. A daily visitor who never buys anything still progresses slowly. They’re still foot traffic and community presence, which has value.
11. Social Systems
Discord (Primary Social Platform)
Discord is not a stopgap until a mobile app exists. Discord with the Marty bot IS the app for MVP. Character sheet lookup, quest submission, XP tracking, leaderboards, announcements — all through Discord.
Current structure: Members-only channel, general channels, interest-based role channels (games, book clubs). Relatively active community.
Marty (Custom Discord Bot, Claude Sonnet-enabled)
Marty is custom-built and extensible. Claude integration enables capabilities beyond typical bots:
Automated role sync. Level-ups, class selection, and faction unlocks trigger automatic Discord role updates. Players see their identity reflected in Discord without manual staff work.
Natural language quest submissions. Players post conversationally in the quest channel: “Hey I went to the library today, here’s a photo.” Marty/Claude parses intent, matches to active quests, flags for staff approval or auto-approves low-tier quests. Interaction feels like talking to an NPC, not filing a ticket.
In-character responses. Marty responds to level-ups, quest completions, and milestones with D&D-flavored messages. Claude generates these dynamically so they don’t feel repetitive.
Quest log queries. Players ask “what quests are available” or “how close am I to level 5” and get natural language answers.
Level-up announcements. Marty posts in a feed channel when someone levels up, completes a rare quest, or hits a milestone. Public recognition that creates aspiration.
Leaderboard commands. Top players by XP, level, faction, class. Faction leaderboards become relevant once factions are live.
12. Point Sinks
All purchases with points are permanent. No decay, no expiring roles, no maintenance costs. Earned = kept.
| Tier | Cost Range | Examples |
|---|---|---|
| Low | 5,000–20,000 pts | Stickers, Discord roles (zero fulfillment cost) |
| Mid | 50,000–200,000 pts | Tote bags, store credit |
| High | 500,000+ pts | T-shirts, exclusive merch, event VIP access |
Discord roles are ideal low-cost sinks: zero fulfillment cost, immediate delivery, visible social proof. Physical items (stickers, totes, shirts) serve as real-world artifacts of the game, similar to the NFC card.
13. Platform Architecture
| Component | Technology | Role |
|---|---|---|
| CMS / Backend | Payload CMS | Player accounts, NFC UID mapping, quest management, content |
| Payments / Billing | Stripe | Membership tier subscriptions |
| Point of Sale | Square | Purchase tracking, XP-from-spend calculation, purchase history |
| Events | hi.events | Event ticketing, attendance tracking, event XP triggers |
| Social | Discord + Marty bot | Quest submission, community, leaderboards, notifications |
| AI | Claude Sonnet (via Marty) | Natural language processing, dynamic responses, quest matching |
| Kiosk | Raspberry Pi + touchscreen + USB NFC reader | In-store character sheet display, daily check-in, staff CRM |
| NFC | WalletMate (+ Apple/Android NFC support) | Physical player artifact, check-in trigger |
Integrations are webhook-based. Square purchase events trigger XP/point awards. hi.events attendance triggers event XP. Stripe handles recurring membership billing. Payload CMS is the central data store.
14. Player Journey (MVP)
- Customer sees signup card in store or hears about dungeon.club from staff/friends.
- Signs up online. Creates profile, picks a nickname.
- XP backfills from Square purchase history at 1x rate. Character sheet populates with history.
- First login presents class selection: Fighter, Magic-User, Cleric, Rogue. Framed as character creation.
- Player sees their character sheet with current level (possibly already level 2–4 from backfill), XP bar, purchase history, events attended, check-in count.
- Player receives NFC card in-store from staff. Card is linked to their account.
- Player taps NFC at kiosk — sees character sheet on screen, earns first daily check-in XP.
- Player joins Discord, Marty assigns roles based on class and level.
- Player browses quest log (via Marty or kiosk), picks a quest, completes it, submits in Discord.
- Staff approves. XP awarded. Marty announces in feed channel.
- Player levels up. Marty announces. Discord role updates. Character sheet reflects new level.
- At level 3–4, faction choice unlocks. Player picks Law or Chaos.
- Loop continues: purchase, attend events, complete quests, level up, spend points on rewards.
15. Design Philosophy
No dark patterns. No expiring rewards. No decay mechanics. No FOMO-driven limited windows. No daily login requirements (daily check-in is optional and rewarding, not punitive for missing). No pay-to-win mechanics — multipliers accelerate purchase XP but can’t buy quest or event XP.
Permanent rewards. Everything purchased with points is kept forever. Discord roles don’t expire. Physical items are yours. Seasonal items rotate back in.
The DM model. The shopkeeper is the DM. Quest approval is manual and personal. Spontaneous quests appear when the DM feels like it. The system has the warmth and flexibility of a tabletop game, not the rigidity of an automated loyalty platform.
Community over optimization. Factions and classes are cosmetic. Leaderboards exist for fun, not for gating content. Events award participation XP, not performance XP. The game rewards showing up and being part of the community.
Start small, iterate with feedback. Ship MVP. Let the community tell you what they want more of. Add mechanical depth only when players ask for it. It’s easier to add features than to remove systems people have already optimized around.
16. Open Questions
- Whether post-level-9 XP requirement should increase beyond 120k/level to slow Mithril-tier progression
- Exact daily check-in XP value (100 vs 200)
- Faction unlock level (3 vs 4)
- Onboarding UX design for the class selection “wow moment”
- Quest XP calibration against real purchase data and event attendance patterns
- Faction swap quest chain specifics
- Partner business integration for exploration quests (NFC at partner locations)
- Mobile/web app timeline and feature scope beyond kiosk and Discord
- Spectator mode design if free tier becomes necessary at scale