Eight canon notes (Game Concept Overview, Mechanics Source Mapping, Combat System & Stat Scaling Design, Skill & Magic System, Medals & Honours System, Lore & World Building, Idle Fantasy Inspirations, Tech Stack & Architecture) as markdown, note title as H1, with source line citing the Joplin note ID. Joplin keeps status notes.
26 KiB
Skara Brae — Game Concept Overview
Source: Joplin note 9cf8a2e701654ffbbd6512cc837c7e2f, migrated 2026-10-03
Skara Brae — Fantasy Text-Based MMORPG
Inspiration
Torn City is a text-based, crime-themed MMORPG running since 2004 with over a million users. Core mechanics include:
- Crime system (mugging, drug trafficking, organized crime)
- PvP combat with experience/leveling
- Factions (clan system with wars and organized crimes)
- Companies (player-run businesses)
- Properties and housing
- Stock market and banking
- Item market / bazaar / auctions
- Education system
- Bounty system
- Rich REST API for community tools
Idle Fantasy (source) is an open-source offline idle RPG for Android with 23 skills, 20 dungeons, 170+ quests, guild rank progression, pets, and inn workers. Key inspirations: offline sessions, hireable NPC workers, pet buff system, blessing system, slayer tasks. See Idle Fantasy Inspirations for full analysis.
Skara Brae transplants Torn's proven mechanics into a dark fantasy setting inspired by The Bard's Tale I and the real neolithic settlement on Orkney, with idle RPG elements from Idle Fantasy and a RoleMaster-inspired critical hit system (see Combat System & Stat Scaling Design).
Setting
The city of Skara Brae — an ancient, labyrinthine city of stone and sorcery. Once a thriving hub of the Old Kingdom, now a place of shadow and opportunity. Adventurers arrive seeking fortune, power, and answers to mysteries buried beneath the cobblestones.
Theme: Low-to-dark fantasy. Grimy taverns, corrupt city watch, competing guilds, ancient dungeons beneath the city, magical artifacts, political intrigue. Not high fantasy — think more The Witcher meets Thief meets Bard's Tale.
Core Game Loops
1. Adventures (→ Torn's "Crimes")
The primary PvE activity. Players embark on adventures throughout the city and surrounding wilderness.
| Torn Mechanic | Skara Brae Equivalent |
|---|---|
| Search for cash | Pick pockets in the marketplace |
| Sell illegal items | Fence stolen goods at the Thieves' Guild |
| Mug someone | Waylay travelers on the road |
| Burglary | Break into manors and vaults |
| Organized crime | Dungeon raids (guild activity) |
| Drug trafficking | Brew and sell potions (alchemy) |
Adventures have:
- Risk/reward tiers (safe but low yield → dangerous but high yield)
- Cooldown timers (energy system)
- Skill-based success chances (your thievery skill affects pickpocketing)
- Time-of-day modifiers (nighttime gives bonuses to stealth activities)
- Day-of-week events (market day, full moon effects, festival bonuses)
- Offline continuation: Adventures continue for up to 1 hour while logged out. On return, collect accumulated rewards. Server-side tick calculates elapsed rewards.
2. Combat (PvP & PvE)
- Arena: Structured PvP duels with ranked matchmaking
- Ambush: Open-world PvP with risk/reward (infamy system)
- Dungeon bosses: PvE endgame encounters
- Combat is turn-based/text-based with strategic depth (choose actions, manage stamina/mana)
- RoleMaster-inspired critical hits: Open-ended d100 crit tables with status effects (bleed, stun, disarm, cripple). Crit damage capped by level difference but never zero. See Combat System & Stat Scaling Design.
- Exponential stat growth: BIGINT stats, tiered display (K/M/B/T). Stats only ever go up — no rebirth/prestige for now.
3. Economy
- Bazaar: Player-driven item marketplace
- Auction House: Rare items, timed auctions
- Bank of Skara Brae: Deposits, interest, loans
- Merchant Ventures: Invest in trading caravans (→ Torn's stocks) — returns depend on random events
- Crafting: Alchemy, blacksmithing, enchanting — create items to sell or use (see Crafting deep dive below)
- Player shops/stalls: Set up a stall in the Market Square (→ Torn's bazaar model)
4. Guilds (→ Torn's "Factions")
See Guilds deep dive below for full details.
- Player organizations with hierarchy (Guildmaster → Officers → Members → Initiates)
- Guild Hall: Upgradable base providing bonuses to members
- Guild Wars: Territory control, raids on rival guild halls
- Guild Adventures: Cooperative dungeon raids (→ organized crimes)
- Guild treasury: Shared resources, taxation of members
5. Properties (→ Torn's "Properties")
- Dwellings: From a straw bed at an inn to a tower in the city walls
- Properties provide: rest bonuses (energy recovery), storage, crafting stations
- Rentable, sellable, upgradable
6. Education (→ Torn's "Education")
- Schools: Fighters' Academy, College of Magic, Thieves' Den, Merchants' Guild School
- Courses take real time to complete, provide permanent stat/skill bonuses
- Some adventures require specific education prerequisites
7. Quests & Storylines
- Main storyline: Uncover the mystery beneath Skara Brae (Bard's Tale-inspired Mangar threat)
- Side quests: NPC-given missions with rewards
- Dynamic events: City-wide events (plague, invasion, festival)
- Daily quests: 3-5 per day from NPCs (Madame Sylara, Captain Rennick, Guildmasters). "Complete 3 adventures" / "Craft 2 potions" / "Win 1 arena duel". Rewards: gold, XP, skill XP, occasional items.
- Weekly quests: Larger goals, better rewards
- Cumulative achievements: "Mine 10,000 ore total" → permanent bonus
Crafting System (Deep Dive)
Gathering Professions (5)
| Profession | Materials | Locations |
|---|---|---|
| Mining | Ore, gems, stone | Mines, Undercity, mountains |
| Herbalism | Herbs, fungi, reagents | Forests, swamps, gardens |
| Woodcutting | Timber, resin, bark | Forests, groves |
| Fishing | Fish, pearls, salvage | Harbor, rivers, underground lakes |
| Skinning | Leather, bone, sinew | Wilds, dungeons (from kills) |
Crafting Professions (7)
| Profession | Creates | Key Materials |
|---|---|---|
| Blacksmithing | Weapons, heavy armor, tools | Ore, coal, flux |
| Alchemy | Potions, poisons, elixirs | Herbs, reagents, solvents |
| Enchanting | Magical enhancements, scrolls | Rare reagents, essence |
| Tailoring | Cloth armor, bags, banners | Cloth, silk, magical thread |
| Jewelcrafting | Rings, amulets, gem cuts | Gems, precious metals |
| Fletching | Bows, crossbows, arrows | Wood, sinew, feathers |
| Cooking | Food (healing, buffs), beverages | Fish, meat, herbs, grain |
Profession Mastery Levels
Novice → Apprentice → Journeyman → Expert → Master → Grandmaster
Each tier unlocks new recipes and improves crafting quality.
Crafting Quality Rolls
Every crafted item rolls for quality:
| Quality | Chance (base) | Effect |
|---|---|---|
| Common | 50% | Base stats |
| Fine | 25% | +10% stats |
| Superior | 15% | +25% stats |
| Exceptional | 7% | +50% stats |
| Masterwork | 2.5% | +100% stats |
| Legendary | 0.5% | +200% stats + unique affix |
Crafting Crits (RoleMaster-inspired)
- Small chance of exceptional result regardless of skill level (mirrors combat crit system)
- d100 roll on craft: 96+ triggers a crafting crit → quality tier upgraded by 1-2 levels
- High skill level improves base quality but crits can happen to anyone
Recipe Discovery
- Taught recipes: From education courses, guild rank rewards
- Adventure drops: Recipe scrolls found in dungeons
- Experimentation: Combine materials with a chance to discover a new recipe (消耗 materials on failure)
- Seasonal events: Limited-time recipes
The Inn — Social Hub (Deep Dive)
The Singing Tavern is the central social hub of Skara Brae, inspired by Idle Fantasy's Inn system.
Social Features
- Chat rooms: General, trade, guild recruitment, district-specific, roleplay
- Rumors board: NPC-posted hints about adventures, dungeon openings, rare spawns, upcoming events
- Bounty board: Player-posted and NPC-posted bounties on other players
- Barter table: Direct player-to-player trading (avoid market fees) — face-to-face exchange
Minigames & Gambling
- Dice games: Roll dice against other players or the house
- Card games: Fantasy-themed card game (simplified poker variant)
- Arm wrestling: Strength-based contest (simple stat check with randomness)
- Drinking contest: Constitution-based, winner gets bragging rights + temporary charisma bonus
Rest & Recovery
- Energy/HP/Mana recovery at a rate determined by inn quality (tied to property system)
- Basic room: 1× recovery rate
- Quality room: 1.5× recovery rate
- Luxury suite: 2× recovery rate
- Members with properties can rest at home for variable rates
Carousing
- Spend gold to temporarily boost charisma (affects next N trades, conversations, or persuasion attempts)
- Duration: Until you complete N social interactions or time expires
- Risk: Overdoing it can result in "hangover" debuff (-agility for 1 hour)
Innkeeper Daily Quests
- Madame Sylara offers 3 daily quests from the inn
- Quest types: "Collect information from X NPCs", "Deliver a message", "Win X gold gambling"
- Rewards scale with difficulty
Hire Workers (Idle Fantasy-inspired)
The most distinctive feature from Idle Fantasy — hire NPCs to automate tasks:
| Worker | Task | Efficiency | Cost |
|---|---|---|---|
| Mercenary | Runs adventures while offline | 60% of normal rewards | Gold/hour |
| Apprentice | Trains a skill while offline | 50% of active rate | Gold/hour |
| Gatherer | Collects basic materials | Low-tier materials only | Gold/hour |
- Worker quality tiers: Novice → Journeyman → Expert (better rates, higher cost)
- Workers consume your energy while active
- Creates a meaningful gold sink for veteran players
- Buy provisions in bulk (food, potions, torches) for dungeon expeditions
Pets (Deep Dive)
Acquisition
- Taming: Wild encounters in the Wilds (skill check, rare success)
- Purchase: Pet trader in the Market Square
- Breeding: Combine two pets for a chance at rare offspring with combined bonuses
- Quest rewards: Specific pets from storyline/side quests
- Rare enemy drops: Dungeon bosses and rare spawns can drop pet eggs/whistles
- Seasonal events: Limited-time pets
Pet Rarity Tiers
Common → Uncommon → Rare → Epic → Legendary → Mythic
Pet Types & Bonuses
| Pet | Bonus |
|---|---|
| Wolf | +tracking, +combat XP |
| Raven | +scouting, +perception |
| Cat | +stealth, +thievery XP |
| Owl | +magic XP, +wisdom |
| Hound | +combat damage, +slayer XP |
| Toad | +poison resistance, +alchemy XP |
| Hawk | +ranged accuracy, +gathering yield |
Pet Mechanics
- Active pet: One pet follows you (visible in combat), providing its passive bonus
- Pet stable: Store up to N pets (expandable via property upgrades)
- Pet aging: Pets grow over time, increasing their bonus at milestones (1 week, 1 month, 6 months)
- Pet death: Pets can be killed in PvP ambush (creates real stakes) — resurrected at Temple Row for gold
- Pet equipment: Collars, armor, trinkets — crafted or found. Enhance pet bonuses.
- Pet breeding: Combine two pets → offspring has a chance of inheriting combined bonuses or rare mutation
Guilds (Deep Dive)
Guild Hall Upgrades
| Upgrade | Effect | Build Cost |
|---|---|---|
| Training Grounds | +X% stat training speed for members | Gold + materials |
| Library | +X% education course speed | Gold + enchanted books |
| Vault | Shared storage for members | Gold + crafted locks |
| War Room | Plan raids, view territory map | Gold + cartography tools |
| Brewery | Member happiness → reduced quit rate, social bonuses | Gold + cooking supplies |
| Infirmary | Faster HP/energy recovery for members | Gold + alchemy supplies |
| Enchanting Lab | +X% enchanting quality for members | Gold + rare reagents |
Guild Taxation
- Configurable tax rate on member earnings: 0-25%
- Tax gold flows into guild treasury
- Guildmaster and officers set the rate
- High tax → more treasury for upgrades, but member dissatisfaction
Guild Alliances
- Formal treaties between guilds: shared chat, coordinated raids, non-aggression pacts
- Alliance leaderboard
- Alliance vs. alliance wars for territory control
Guild Territories
- Control of city districts provides bonuses to all guild members in that district
- Territory gained through guild wars and maintained through activity
- District bonuses: Market Square (reduced listing fees), Harbor (trade route bonuses), etc.
Guild Rank Progression (Idle Fantasy-inspired)
- 10 rank levels per guild: Initiate → Apprentice → Journeyman → Expert → Veteran → Elite → Champion → Master → Grandmaster → Legend
- Daily guild tasks: Complete for reputation points
- Rank-up quests: Progression quests to advance in guild rank
- Cross-skill rewards: Higher ranks unlock resources from skills you don't personally train
- Guild reputation: Decayed by inactivity, increased by events, raids, member achievements
Guild Bank
- Shared treasury with withdrawal permissions by rank
- Deposit logs visible to officers+
- Withdrawal limits configurable by rank
Blessings / Church (Idle Fantasy-inspired)
- Temple Row offers blessings from the Old Gods
- Blessing types: XP boost (up to 1.5×), Damage reduction, Gold multiplier, Crit chance increase
- Duration: Based on Wisdom stat and offering quality
- One blessing active at a time
- Offerings: Gold, rare items, bones from undead enemies
- Higher Wisdom = longer duration, stronger effect
- Adds "buff management" layer without being tedious
Slayer Tasks (Idle Fantasy-inspired)
- Captain Rennick at City Watch HQ gives slayer tasks (lawful targets)
- The Beggar King gives underground slayer tasks (criminal targets)
- "Kill 15 skeletal warriors in the Undercity" → bonus Slayer XP + gold reward
- Slayer level unlocks tougher targets with better rewards
- Ties into the bounty system naturally
Character System
Races
| Race | Bonus | Penalty |
|---|---|---|
| Human | Balanced, bonus to charisma | None (jack of all trades) |
| Dwarf | Constitution +, Smithing + | Agility - |
| Elf | Magic +, Perception + | Strength - |
| Halfling | Agility +, Thievery + | Strength - |
| Orc | Strength +, Intimidation + | Intelligence - |
| Half-Elf | Charisma +, Magic + | Constitution - |
Classes (determine starting skills and education paths)
- Warrior — Melee combat, tanking
- Rogue — Stealth, thievery, poison
- Mage — Offensive magic, enchanting
- Bard — Buffs, social skills, lore
- Cleric — Healing, protection, undead turning
- Ranger — Ranged combat, tracking, survival
Stats (BIGINT — exponential growth)
- Strength — Physical damage, carrying capacity
- Agility — Dodge, stealth, thievery
- Constitution — HP, endurance, poison resistance
- Intelligence — Magic power, crafting quality
- Wisdom — Mana, perception, healing power, blessing duration
- Charisma — Trading prices, faction relations, bardic abilities
Stats only ever go up. Display tiered: 1.2K, 4.7M, 1.2B, 3.8T. See Combat System & Stat Scaling Design.
Skills (leveled through use)
- Weapon skills (sword, axe, bow, staff, etc.)
- Thievery (lockpicking, pickpocketing, sneaking)
- Magic schools (fire, ice, illusion, necromancy, etc.)
- Crafting (alchemy, blacksmithing, enchanting, tailoring, jewelcrafting, fletching, cooking)
- Gathering (mining, herbalism, woodcutting, fishing, skinning)
- Social (persuasion, intimidation, bartering)
- Support (mercantile/trading, slayer/bounty hunting)
Technology Stack
Backend — Rust
| Component | Technology | Rationale |
|---|---|---|
| HTTP Framework | Axum | Modern, ergonomic, excellent ecosystem, tower middleware |
| Real-time | WebSocket via axum + tokio-tungstenite | Live combat, chat, notifications |
| Database | PostgreSQL + SQLx | ACID compliance, relational data fits game entities well |
| Cache/Sessions | Redis | Session tokens, leaderboards, rate limiting, real-time pub/sub |
| Auth | JWT (jsonwebtoken crate) | Stateless auth, API-friendly |
| Background Jobs | tokio tasks + custom scheduler | Timers for cooldowns, education courses, guild wars |
| Migrations | sqlx-cli or refinery | Database schema versioning |
| Serialization | serde + serde_json | JSON API, message passing |
| Game Tick Engine | Custom event loop on tokio | Time-based game events (day/night cycle, weather, offline rewards) |
Frontend — Vue.js
| Component | Technology | Rationale |
|---|---|---|
| Framework | Vue 3 + Composition API | Modern, reactive, good for complex UIs |
| Build Tool | Vite | Fast dev server, optimized builds |
| State Management | Pinia | Type-safe, modular stores for game state |
| Routing | Vue Router | SPA navigation |
| UI Framework | PrimeVue or custom dark fantasy theme | Rich component library |
| Real-time | WebSocket client (native) | Live updates, combat, chat |
| HTTP Client | Axios or fetch API | REST API calls |
| Mobile | PWA or Capacitor | Native-like mobile experience |
Infrastructure
| Component | Technology |
|---|---|
| Containerization | Docker + docker-compose |
| Reverse Proxy | Caddy or nginx |
| CI/CD | GitHub Actions |
| Monitoring | Prometheus + Grafana |
| Logging | tracing crate (Rust) → structured JSON logs |
Architecture Overview
┌──────────────────────────────────────────────────┐
│ Frontend (Vue 3) │
│ ┌─────────┐ ┌─────────┐ ┌──────────┐ ┌───────┐ │
│ │ REST API │ │WebSocket│ │ State │ │ PWA │ │
│ │ Client │ │ Client │ │ (Pinia) │ │ Shell │ │
│ └────┬─────┘ └────┬────┘ └──────────┘ └───────┘ │
└───────┼────────────┼──────────────────────────────┘
│ HTTP/REST │ WS
▼ ▼
┌──────────────────────────────────────────────────┐
│ API Gateway (Axum) │
│ ┌──────────┐ ┌──────────────┐ ┌───────────────┐ │
│ │ Auth │ │ Rate Limiter │ │ WS Handler │ │
│ │ Middleware│ │ │ │ │ │
│ └──────────┘ └──────────────┘ └───────────────┘ │
├──────────────────────────────────────────────────┤
│ Game Services (Rust) │
│ ┌────────┐ ┌────────┐ ┌────────┐ ┌───────────┐ │
│ │ Player │ │ Combat │ │ Economy│ │ Guild │ │
│ │Service │ │Service │ │Service │ │ Service │ │
│ ├────────┤ ├────────┤ ├────────┤ ├───────────┤ │
│ │Adventure│ │ World │ │ Market │ │ Chat & │ │
│ │Service │ │Service │ │Service │ │ Social │ │
│ ├────────┤ ├────────┤ ├────────┤ ├───────────┤ │
│ │Crafting│ │ Pet │ │Blessing│ │ Worker │ │
│ │Service │ │Service │ │Service │ │ Service │ │
│ └────────┘ └────────┘ └────────┘ └───────────┘ │
├──────────────────────────────────────────────────┤
│ Game Engine Core │
│ ┌────────────┐ ┌───────────┐ ┌───────────────┐ │
│ │ Tick/Sched │ │ Event Bus │ │ Rule Engine │ │
│ │ (timers) │ │ (pub/sub) │ │ (formulas) │ │
│ └────────────┘ └───────────┘ └───────────────┘ │
├──────────────────────────────────────────────────┤
│ Data Layer │
│ ┌──────────────┐ ┌──────────┐ ┌───────────┐ │
│ │ PostgreSQL │ │ Redis │ │ S3/Minio │ │
│ │ (persistent)│ │ (cache) │ │ (assets) │ │
│ └──────────────┘ └──────────┘ └───────────┘ │
└──────────────────────────────────────────────────┘
API Design (RESTful + WebSocket)
REST Endpoints (examples)
# Authentication
POST /api/auth/register
POST /api/auth/login
POST /api/auth/refresh
# Character
GET /api/character
PUT /api/character
GET /api/character/stats
GET /api/character/skills
PUT /api/character/train/:skill
# Adventures
GET /api/adventures/available
POST /api/adventures/embark/:id
GET /api/adventures/history
GET /api/adventures/offline-rewards # Collect offline session rewards
# Combat
POST /api/combat/arena/challenge/:target_id
POST /api/combat/ambush/:target_id
GET /api/combat/arena/leaderboard
# Economy
GET /api/market/items
POST /api/market/list
POST /api/market/buy/:listing_id
GET /api/bank/balance
POST /api/bank/deposit
POST /api/bank/withdraw
# Crafting
GET /api/crafting/recipes
POST /api/crafting/craft/:recipe_id
GET /api/crafting/professions
# Pets
GET /api/pets
POST /api/pets/activate/:pet_id
POST /api/pets/breed
GET /api/pets/stable
# Guilds
GET /api/guild
POST /api/guild/create
POST /api/guild/:id/join
GET /api/guild/:id/members
POST /api/guild/:id/raid
GET /api/guild/:id/rank-quests
# Properties
GET /api/properties
POST /api/properties/:id/buy
PUT /api/properties/:id/upgrade
# Education
GET /api/education/available
POST /api/education/enroll/:course_id
GET /api/education/progress
# Blessings
GET /api/blessings/available
POST /api/blessings/activate/:blessing_id
GET /api/blessings/active
# Inn / Workers
GET /api/inn/workers
POST /api/inn/hire/:worker_type
POST /api/inn/dismiss/:worker_id
GET /api/inn/quests # Daily innkeeper quests
# Slayer
GET /api/slayer/task
POST /api/slayer/claim-reward
WebSocket Channels
ws://server/ws?token=JWT
# Client → Server
{ "type": "combat:action", "data": { "action": "attack", "target": "enemy_1" } }
{ "type": "chat:message", "data": { "channel": "guild", "message": "..." } }
# Server → Client
{ "type": "combat:result", "data": { "damage": 42, "enemy_hp": 158, "crit": false } }
{ "type": "combat:crit", "data": { "roll": 147, "effect": "bleed", "duration": 5 } }
{ "type": "notification", "data": { "text": "Your adventure has completed!" } }
{ "type": "market:update", "data": { "item": "...", "price": 500 } }
{ "type": "adventure:offline_rewards", "data": { "gold": 1247, "xp": 5300, "items": [...] } }
Monetization (Ethical F2P)
- Patron Subscription (→ Torn's donator packs): Monthly sub providing QoL benefits (extra energy, custom themes, expanded log, etc.) — no pay-to-win
- Cosmetics: Character portraits, UI themes, custom titles
- Convenience: Extra character slots, extended history logs, extra pet stable slots
- No: Pay-to-win items, selling power, loot boxes
MVP Scope (Phase 1)
- User registration, authentication, character creation (race + class)
- Basic stat/skill system with training (BIGINT stats)
- Adventure system (5-10 adventures across difficulty tiers)
- Turn-based combat engine with crit tables
- Basic economy: inventory, bazaar (buy/sell), bank
- Guild creation and membership
- REST API + basic Vue.js frontend
- Real-time notifications via WebSocket
- Offline adventure rewards collection
- Basic crafting (2-3 professions)
Future Phases
- Phase 2: PvP arena, guild wars, properties, education system, pets, blessings
- Phase 3: Full storyline/quests, dynamic world events, day/night cycle, inn workers, slayer tasks
- Phase 4: Mobile app (Capacitor), merchant ventures (stock market), advanced crafting, pet breeding
- Phase 5: Community API, mod support, tournament system
Related Design Notes
| Note | ID | Content |
|---|---|---|
| Combat System & Stat Scaling Design | 0ef630db4e3e4d6dab18ccaefccaaa5a |
RoleMaster + Torn hybrid combat, crit tables, stat scaling |
| Idle Fantasy Inspirations | 48b3a3c76f734c8dafbbf9e8b3b5f80a |
Idle RPG mechanics, offline sessions, workers, pets |
| Lore & World Building | 867bdc9845624908a90928887a71c4c9 |
10 city districts, 8 key NPCs, 5-act storyline |
| Tech Stack & Architecture | cecd2ef2690d4d1fba3450342aa63953 |
Rust workspace, Vue frontend, database schema |
| Project Plan | d243ae57778343fca997d46b73d0ee3b |
Roadmap, MVP scope, repository structure |