Playing Valcraven
A first-time player's guide to the Valcraven text dungeon — connecting to the World Console, every command, how combat and turns work, monsters, and the Dungeon Master tools.
Valcraven is a real-time, multiplayer text dungeon. You and everyone else who is signed in share one live world — a set of rooms, creatures, and items that keeps ticking whether or not you're looking at it. You play by typing short commands into a console and reading what the world sends back. There are no graphics; the text is the game.
This page is everything a first-time player needs: how to get in, every command, how fighting works, what the monsters are, and — if you're an admin — the Dungeon Master tools.
Getting in
The game lives at /app/world — the World Console. Open it while signed in and it connects automatically:
- A WebSocket opens to the shared world and you're bound to your character (created the first time, "welcome back" every time after).
- The console runs a
/lookfor you, so the first thing you see is your surroundings. - A Connected / Disconnected indicator sits in the top-right. If your connection drops, the console reconnects on its own (with a short backoff) and drops you back into the same character.
Type a command in the input at the bottom and press Enter. Your own commands are echoed back with a > so you can see what you sent.
Stuck? The Help link in the console toolbar brings you back to this guide.
How the world works
The world runs on a tick — roughly every 10 seconds while players are connected. Most commands happen immediately (you look, you move, you speak, and the result comes straight back). Attacking is the exception: it's turn-based and resolves on the next tick, in order of how quick the combatants are (see Combat). This mix — instant exploration, tick-paced fighting — is deliberate.
Because the world is shared and live, other players (and monsters) act at the same time you do. You'll see other characters come and go, speak, pick things up, and fight.
Commands
Every command starts with /. Anything you type that doesn't start with / is treated as /say — so you can just type to talk. Most commands have a one-letter shortcut.
| Command | Short | What it does |
|---|---|---|
/look | /l | Describe your current room — its text, the exits, and every other character or item present. |
/go <direction> | — | Move through an exit (e.g. /go north). Valid directions are the ones /look lists under Exits. |
/say <text> | — | Speak. Other players hear you. (Typing text with no leading / also says it.) |
/name <name> | — | Choose your character's name — what everyone sees in /say, /look, and /who. Bare /name shows your current name. |
/who | — | See who's online: every connected player, with (you) on yourself and — here on anyone in your room. |
/attack <id> | /a | Attack a living target in your room by its id. Turn-based — resolves on the next tick. |
/get <id> | /g | Pick up an item lying in the room. |
/wield <id> | /w | Wield a weapon you're carrying so it's used in combat. |
/inventory | /i | List what you're carrying. |
/do <anything> | — | Say what you want in plain English — the game figures out the command (see Speak plainly). |
/respawn | — | Rise again after death — a fresh body at the dungeon entrance. Only works while you're dead. |
Finding the <id>
Several commands take an id — a number in square brackets. You get it from /look: every item you can pick up and every creature you can fight is shown with its id, like:
a short, nasty green goblin [512]
a rusty sword [204]
Exits: north, eastSo you'd /attack 512 to fight the goblin, or /get 204 to grab the sword.
If two things in a room look alike — say two goblins, or both of a creature's severed arms — /look keeps them apart: each still has its own unique [id], and the duplicates get a short tag (e.g. "(second)") so you can tell them apart at a glance. Plain-English targeting understands it too — "attack the second goblin" hits the right one.
Looking around — /look
/look (or /l) shows:
- the room description,
- every other character and item in the room, each with its
[id]and its condition (a wounded creature reads "slightly wounded", "badly wounded", "mortally wounded", and a dead one "corpse of a…"), - an Exits line listing the directions you can
/go.
Moving — /go
/go <direction> walks you through an exit. The directions available are exactly the ones in your room's Exits line — try /go north, /go east, and so on. When you leave, the players in the room you left see you go.
Talking — /say
/say hello there speaks to the world; other players see [YourName]: hello there. You don't even need the command — any line that doesn't start with / is said automatically. (Monsters can talk too, but a monster's voice only carries within its own room — see Monsters.)
Your name — /name
New characters start as "Adventurer" — claim a real identity with /name Thorin (2–24 characters; letters, digits, spaces, and hyphens). Your name is what everyone else sees in /say, /look, and /who, it must be unique among player characters, and it sticks to your character forever — including across disconnects and even through death. Bare /name tells you what you're currently called.
Who's around — /who
/who lists everyone online: a count, one name per line, (you) marking yourself, and — here marking players in your current room. (Dungeon Masters are hidden — they don't appear in /who any more than they do in /look.)
Speak plainly
You don't have to memorize commands. /do <anything> hands your plain English to the game —
"grab the sword", "swing at the goblin", "head through the north door" — and it works out the
real command from what's actually around you. You'll see a brief → /attack 512 echo (so you learn
the commands over time), then the normal result. If your intent doesn't map to anything possible,
you'll get "You're not sure how to do that." and nothing happens — /do can never do anything a
typed command couldn't.
Chain actions in one breath. A single /do can carry a whole little plan — "grab that severed
arm, wield it, and club the crawler with it" — and the game performs the steps in order (→ /get,
→ /wield, → /attack), each building on the last. And yes: a knocked-off limb makes a serviceable
club once you pick it up and wield it. If a step in the chain can't be done, the game does what it
can and tells you where you "falter."
Better still: flip the Natural toggle in the console toolbar and skip the /do entirely — in
Natural mode, anything you type without a leading / is treated as intent (a small thinking…
sparkle shows while the game interprets). Slash commands still work verbatim in either mode, and
your mode choice sticks across visits. In Command mode (the default), bare text is /say, as
always.
Combat & turns
Fighting is where the tick matters. Here's the shape of it:
- Attacking is turn-based.
/attack <id>costs Action Points (AP) and queues your strike; it lands on the next tick. You get an immediate "AP Left: N" receipt so you know it registered. Everything else (/get,/wield,/inventory, moving) stays instant. - Quicker fighters go first. When the tick resolves, everyone who queued an attack acts in order of Deftness (higher = sooner). In the starter dungeon the ordering is clear: you're quicker than the kobold, which is quicker than the goblin.
- Whether you hit depends on the Deftness gap between you and your target, plus a roll — an edge in quickness makes you land blows more reliably.
- How much you hurt depends on your weapon and your Brawn. Wield a better weapon (
/wield <id>) to hit harder; bare-handed still does something, just less. The starter rusty sword is worth grabbing (/getit, then/wieldit). - Limbs come off — and arm you. Each hit has a chance to knock a limb off the target; the severed limb drops into the room as something you can
/get. Pick one up and/wieldit and it becomes an improvised weapon — a severed arm makes a serviceable club. It hits harder than bare hands but less than a real weapon like the rusty sword, so it's a decent stopgap when you're unarmed. - Death. When a creature's health runs out it becomes a corpse: it stops acting, you can't target it anymore, and it's left in the room. Its description shows "corpse of a…". That goes for you too — but for players, death isn't the end (see Death & respawn).
A quick first fight: /look to find a goblin's id → /get and /wield the sword → /attack <goblin-id> → wait a tick → /look to see the result → attack again until it's a corpse.
Death & respawn
If your health hits zero, you die — you'll see "You have died", and everyone in the room sees you fall. Here's what that means:
- Your body stays where you fell, and everything you were carrying spills onto the floor — other players (or you, later) can
/getit. - Dead characters can't act. Every command answers "You are dead. Type /respawn to rise again." — no ghost chat, no post-mortem revenge. Disconnecting and reconnecting doesn't help; you come back dead, with the same hint.
/respawnbrings you back: a fresh body at the dungeon entrance with full health, full action points, and empty hands. You keep your name and your account — it's the same character identity in a new body.- Your old corpse remains in the room where you died (a monument to your hubris) until the world is reset.
The loop is intentional: dying costs you your gear and your position, not your identity.
Monsters
The dungeon's creatures are driven by an LLM — they read the room and decide what to do (attack, taunt, move) in character. A few things worth knowing:
- They only act when a player is present. If nobody is in a monster's room, it does nothing at all — so an empty dungeon is a quiet one.
- They lean toward fighting, with the occasional taunt — they're not chatterboxes. Expect a taunt when a foe first lays eyes on you (walk into its room and it may greet you with a threat), then the odd jeer every few turns between blows.
- Their voice is local. A monster's
/sayis only heard in its own room; it doesn't echo across the dungeon (unlike a player's/say, which everyone hears). - Smarter creatures think harder. A monster's cunning determines how capable a model drives it, so tougher foes behave more cleverly.
- They remember you. Monsters keep a short memory of what happens to them — who hit them, who missed, what was said in their presence, deaths they witnessed. Wound a goblin and flee, and it may greet you by grudge when you return. A monster's memory dies with it.
- They talk back. Speak in a monster's room and it may answer — in character, on its own schedule. (They won't be baited into endless conversation; each has a cooldown between replies.)
The unseen Dungeon Master
Two ambient forces run the dungeon alongside the monsters:
- The narrator. Every so often, rooms with players in them get a line of atmosphere — italic, violet text like "Somewhere below, chains rattle." It's pure scene-setting: the narrator never gives instructions or reveals secrets, and it reacts to what's actually been happening in the room (fights, deaths, things said).
- The encounter director. An AI pacer watches the world and occasionally sends a monster your way — spawned in a room adjacent to you, never on top of you, announced by an arrival line ("A goblin slinks out of the shadows."). It holds back when you're hurt or already fighting, and it's hard-capped so the dungeon never floods.
Both only act while players are online, and both go quiet in an empty world.
The dungeon grows
The map isn't fixed. Some passages lead into the unexplored dark — they look like any other exit, but nothing lies beyond them yet. The first time someone steps through one, the dungeon dreams up the room on the spot: its description, its exits (which may themselves lead further into the dark), sometimes loot, sometimes something with teeth. You'll see "You step toward the unexplored dark…", a moment's pause while the place takes shape, and then you're in.
A few things to know:
- What's built stays built. Generated rooms are as permanent as the original dungeon — leave and come back, they're still there (until a world reset).
- The dark has a bottom. Growth is capped, and when the dungeon decides it's big enough a passage may simply narrow to nothing.
- Sometimes the dark resists. If a passage says the way is "blocked, for now", just try again.
- Admins set the mood. The Style button in the console toolbar (admin-only) sets the theme new rooms follow — gothic ice caves, flooded catacombs, whatever — and it survives world resets.
Dungeon Master
Some players are Dungeon Masters (DMs) — they can spawn creatures and puppeteer NPCs to run encounters live.
Becoming a DM
There's no "become a DM" button. A DM is an admin — your account is a DM if your email is on the app's admin list (ADMIN_EMAILS). If you're an admin, you already have DM powers; you just have to use them:
- The first time you run any
/dmcommand, your character becomes the Dungeon Master: you're hidden from/lookand immune to/attack, so you can run a scene without being part of the fight. - This is a one-way door for that character — there's no "stop being a DM" toggle. (Resetting the world gives you a fresh, ordinary character again.)
- When you're actually the DM, a "Dungeon Master" badge appears in the console toolbar. That badge means you are the DM right now — not merely that you could be. It shows up the instant your first
/dmlands, and again automatically whenever you reconnect as that character.
If a non-admin types /dm, they simply get "You are not the Dungeon Master." and nothing happens.
DM commands
| Command | What it does |
|---|---|
/dm spawn weak mob | Spawn a goblin into your current room. |
/dm spawn strong mob | Spawn a vicious orc into your current room. |
/dm control <id> <command> | Make an NPC perform a command as itself. |
/dm control is the puppeteering tool. Grab a creature's [id] from /look, then drive it — for example /dm control 512 /say You dare enter my lair? makes creature 512 speak, and /dm control 512 /attack 88 makes it attack player 88. The controlled creature acts as itself (its own name speaks, its own body attacks), and its Action Points are topped up first so a puppeted attack always goes through. You can only control automated NPCs — never another player.
Reset World (admin)
Admins also get a Reset World button in the console toolbar. It wipes every character and all progress and lays down a fresh dungeon — handy for testing. Everyone connected is dropped and reconnects into a brand-new character. Use it deliberately; it can't be undone.
Troubleshooting
- "Disconnected" won't clear. The console retries automatically; if it's stuck, reload the page. Your character and everything you've done persist on the server — you won't lose progress.
- A command "did nothing." Check you used the right
[id]from a fresh/look(ids change as things move, die, or get picked up), and that the target is in your current room. - Your
/attackdidn't land immediately. That's expected — attacks resolve on the next tick. Watch for the "AP Left" receipt to confirm it queued.