Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in milliseconds.
A fully featured, web-based Multi-User Dungeon (MUD) with a rich fantasy world, REST API, and extensible database-driven content.
- 8 Continents: Aetheria, Drak'thor, Silverwood, Irondeep, Mistral Isles, Shadowmere, Solaria, Frostheim
- 120 Countries with unique governments, cultures, currencies, and lore
- 60+ Islands (45 inhabited, 15 uninhabited) + 35 City-States
- 45+ Wilderness Areas with varying danger levels
- 20+ Explorable Locations with interconnected rooms and detailed descriptions
- 20 Races: Human, Elf, Dwarf, Halfling, Orc, Dark Elf, Beastkin, Dragonborn, Demon, Angel, Fairy, Vampire, Werewolf, Goblin, Slime, Merfolk, Giant, Spirit, Golem, Undead
- 15 Classes: Warrior, Mage, Ranger, Rogue, Cleric, Paladin, Necromancer, Bard, Monk, Summoner, Berserker, Alchemist, Farmer, Merchant, Knight
- Full stats: STR, DEX, INT, WIS, CON, CHA, LUK
- Leveling system with class-based stat growth
- Melee (swords, axes, daggers, maces, spears, unarmed)
- Ranged (bows, crossbows, throwing stars, throwing daggers)
- 12 Schools of Magic: Destruction, Restoration, Alteration, Conjuration, Illusion, Mysticism, Enchanting, Necromancy, Nature Magic, Blood Magic, Divination, Rune Magic
- 35+ Spells and 16 Combat Skills
- NPC Dialog Trees with branching conversations per job type (21 dialog trees)
- 25+ Named NPCs with unique backstories, jobs, and personalities
- 20 Monster Types (some tameable, some mountable)
- Shops with browsable inventory and buy/sell
- Gift Giving to build relationships with NPCs
- Marriage system with affection tracking
- Follower recruitment and orders
- Creature Taming and mounts
- 45+ Items: weapons, armor, consumables, seeds, crops, gifts, tools
- Multiple shop types (general, weapon, potion, seed)
- Player-to-player trading
- Farming: plant seeds, water crops, harvest
- Fishing with luck-based catches
- Construction: build houses, camps, villages, towns
- Property ownership with farm plots
- 12 Guilds (Adventure, Merchant, Warrior, Mage, Thief, Farming, Fishing, Monster Hunter, Healer, Taming)
- 12 Quests (main story, side quests, guild quests, events)
- Guild ranking system (Novice → Grandmaster)
- Boats, carriages, magical teleportation
- Inter-continental and local routes
- Friend requests and acceptance
- Private messaging between friends
- Character and world export/import (JSON)
- Spring, Summer, Autumn, Winter
- Day advancement affects farming
- Configurable toggles for romance, marriage, children per race/age
- Trading of sentient beings disabled by default
Full-featured browser interface with:
- Account registration/login with session cookies
- Detailed character creation (race, class, gender, biography)
- Interactive game screen with location view, exits, NPCs, monsters, shops, travel
- Shop browsing modal with buy functionality
- Gift giving modal
- Player trading
- Command input (look, go, attack, fish, rest, stats, help)
- Inventory management with equip/use
- Quest tracker
- Follower and tamed creature management
- World map browser (continents, islands, guilds, magic schools)
- Social panel (friends, messages, requests)
- Export panel with full API documentation
All features available via authenticated API (session cookie or X-API-Key header).
POST /api/auth/register- Create accountPOST /api/auth/login- Login (returns session cookie + API key)POST /api/auth/logout- LogoutGET /api/auth/me- Current user
GET /api/data/races|classes|magic-schools|spells|guilds|quests|continents|countries|islands|calendar
POST /api/game/look|move|attack|cast|fish|rest|use-itemPOST /api/game/shop/buy|sell·GET /api/game/shop/:id/itemsPOST /api/game/dialog/start|continuePOST /api/game/gift|proposePOST /api/game/guild/join·POST /api/game/quest/acceptPOST /api/game/trade/offer|respondPOST /api/game/follower/recruit|order·POST /api/game/tamePOST /api/game/farm/plant|water|harvestPOST /api/game/build|travel|advance-day
GET /api/world/continents|countries/:id|islandsGET /api/export/character/:id|world
POST /api/social/friend-request|friend-request/respond|messageGET /api/social/friend-requests|friends|messages
All game data lives in SQLite. To add content:
- Add rows to the appropriate tables (races, items, locations, etc.)
- Use the export/import API to share worlds
- Dialog trees, NPCs, and quests are all database-driven
Rendering mermaid diagram...