This is documentation for Crawlspace, an online playing aid for the tabletop role-playing game His Majesty the Worm by Joshua McCrowell et al. Crawlspace is by me, Jason McIntosh, who also wrote this documentation.
I host Crawlspace at https://worm.jmac.org, for free public use. I currently don’t make the underlying Crawlspace software or source code otherwise available.
For questions or comments about Crawlspace, email me at jmac@jmac.org, or find me as Halstrick on Discord.
I created Crawlspace as an alternative for the officially supported Worm settings for playingcards.io. Those settings work great, and other Worm fans have made their own hacks of them, too. I just wanted to build something more to my own taste, from the worm-churned ground up.
Crawlspace doesn’t attempt to provide a thorough implementation of Worm rules. It’s just an app that lets up to six people (five players and a GM) share a virtual deck of cards, optimized for His Majesty the Worm, with various UI bits and other conveniences specific to that game.
Crawlspace also lacks any chat features, so your group needs to pair it with some other technology in order to actually talk to one another while playing Worm online. Discord’s a popular choice, at the time of this writing. Signal is out there too, if you want something a little more punk rock.
Both the Crawlspace app and this documentation assume that you know the basics of playing His Majesty the Worm.
To get familiar with Crawlspace, I recommend reading the following section or two, and then just messing around with Crawlspace by yourself, with these docs handy to help orient you. Open two browser tabs, start a table as a GM, and invite yourself in as a player. Maybe as two players! Play with the different phases, and especially see how all the Challenge controls work, throwing cards around and getting a feel for it. Just leave when you’re done; my server cleans up abandoned tables after a while.
Crawlspace is still finding its legs. At the time of this writing I’ve used it a few times with my own Worm group, and I’ve only just started inviting folks outside my group to try it out. I expect that it abounds with both bugs and missing features. Please contact me with discoveries of either.
The GM and players enjoying a game of Worm together (but, alas, apart) sit at a Crawlspace table, a virtual space with a unique URL. Generally, the GM creates the table in Crawlspace, and then shares its URL with the players.
To create a Crawlspace table, visit https://worm.jmac.org, then click New Table. Poof, you find yourself sitting alone at a table as the GM, with two shuffled card decks face-down in front of you: the Player Deck (all minor arcana, plus the Fool) and the GM Deck (major arcana minus the Fool). Go ahead and click on stuff and mash buttons and so on. You won’t break anything.
The table URL is in your browser’s address bar. It looks like this:
https://worm.jmac.org/t/TABLE_ID, where
TABLE_ID is a short identifier code like
ABCXYZ or P8XU5H.
To share your new table with others in your Worm group, copy this URL from your address bar, and then paste it at your friends. You can also bookmark this table in your browser to revisit it later. (But mind your time limits, as described in Table and seat persistence.)
To join an already-created Crawlspace table, paste its URL into your browser’s address bar, and go there. (Or just follow the bookmark you made to it earlier, if you did in fact make a bookmark to it.)
When you join a table, Crawlspace asks you if you want to claim the GM seat, or join as a player.
Crawlspace has only the most cursory role-security; anyone can freely claim to be the GM, if no GM is present at the table. If someone claims the GM role by accident, they should close their browser tab and then let the actual GM join before rejoining as a player.
If you join as a player, you need to type in your character’s name as well.
After you click Join as Player, the GM sees a notification that you’d like to join the table. They can Allow or Deny this. If they allow it, you see the table; if they deny it, then you can try again. If someone hammers the join button, Crawlspace starts throttling their attempts.
If the table has no GM seated, then no players can join until someone steps up as GM.
During play, everyone keeps a browser window open to the game’s Crawlspace table, which displays a view that’s specific to that individual player, or to the GM. This doesn’t matter much during the game’s Crawl, Camp, or City phases, but it matters a great deal during the Challenge phase, when every person in the game has secret information—primarily, their hand of cards.
Crawlspace is all about the cards. Once you’re seated at a Crawlspace table, the main thing you can do with it is manipulate cards.
The activities that both players and GM can do with the cards include the following:
Double-click the face-down top card of the Player Deck or the GM Deck to flip it face-up into the corresponding discard pile. This is mainly useful during Tests of Fate.
Click any discard pile to see all the cards in that pile. Try not to slow the game down too much as you use this information to math out the draw-probabilities of the remaining cards.
Click any face-up card to zoom in on Pamela Colman Smith’s classic illustrations for the immortal Rider-Waite tarot deck. Her friends called her “Pixie”, you know.
During Challenge phases, the table gets complicated, but in general you just play cards from your hand to marked spots on the board in front of you, according to Worm Challenge rules. For more, see Playing the Challenge phase.
Oh no! You didn’t mean to do that thing you just did! Happily, pretty much everything in Crawlspace is undoable:
To undo an initiative-card flip, click it again. It flips back to face-down.
To undo a misplay from your hand, or an accidental move of any other card to some space you didn’t mean it to go, just move it back. This includes your hand; you can just pick cards up at any time.
If you accidentally gave someone a card so that it’s in their hand now, ask them to hand it back to you.
The whole idea here is that the cards are just things you can throw around, and Crawlspace tries to be as easygoing about it as in a real-life game among friends. If you drop something, say “whoops” and pick it up, is all.
Crawlspace takes care of reshuffling the two decks when necessary: either because someone needs to draw more cards than there are available, or because one of the Fool-based reshuffle triggers happened.
In the latter case, Crawlspace automatically reshuffles both decks at the end of a Challenge round when someone drew the Fool, and logs the reason for it. If someone flips the Fool during the Crawl, City, or Camp phases, then Crawlspace gives the GM a Reshuffle Decks button that they can press when ready.
Crawlspace keeps tables around for a while after their most recent activity—long enough for a group to let a few weeks pass between two Worm sessions, and find the table state exactly as they left it.
Crawlspace does its best to remember who’s who, and return a player or GM to their seat after they rejoin a table. If it can’t determine your identity, then Crawlspace presents you with the dialog described in Join a table; once that’s resolved, you return to your old seat.
If a table times out, then you might need to make a new table, instead. But since Crawlspace is little more than a fancy online card deck, this is functionally equivalent to resuming play with a freshly shuffled deck of cards. Nothing that will stop determined delvers.
Since this is running on my server, I reserve the right to shut down a table for any reason. Like, I dunno, maybe I’m running out of memory suddenly. RAM is expensive now, have you heard? But I’ll do my best to do that sort of thing as little as possible.
Also, Crawlspace might go offline entirely and never come back, someday. I will not knowingly let that happen without at least updating this document. But, just in case: if that ever does happen, you can continue playing Worm online using the officially supported resources, as linked in About Crawlspace.
The Crawl, City, and Camp phases of His Majesty the Worm involve less card-play than other parts of the game, and so the appearance of the Crawlspace table during these phases is appropriately simple: just Player Deck and the GM Deck, with some quick-reference text appropriate to the current phase. The GM gets a few extra controls that lets them switch to other phases. That’s about it.
The only thing you can do with the cards during these phases is flip either deck’s top card onto its discard pile. With the Player Deck, do this to resolve Tests of Fate. (Note that Crawlspace doesn’t do any math for you, here, no more than a physical card deck would.)
There aren’t any core Worm rules about flipping cards from the GM Deck like this, but Crawlspace lets you do it anyway.
The GM has a set of buttons that lets them change the current phase; for example, change the table display from the City phase to the Crawl phase.
The Worm Challenge phase is essentially a multi-handed card game played between the GM on one side and the players on the other, and as such it’s the most complicated part of Crawlspace, with lots of stuff on the screen at once.
I’ve written this section as a Challenge how-to guide for both the GM and the players. For a guide to all the bits and bobs found on-screen during the Challenge phase, see Appendix B: Map of the Challenge phase screen.
At the start of every round, wait for the GM to set things up as needed, including adding opponents, updating Zones, and dealing out cards to everyone. When your hand of cards appears, you can proceed with setting your initiative.
Keep in mind that you can undo pretty much any card-play mistake, as easily as picking up a physical card that you misplayed during an in-person game. So, for example, if the GM rules that a certain Minor Action card you tried isn’t a legal play, you can just say “oops” and take it back into your hand, and maybe plop down one that fits better (if the GM’s cool with it). Everyone else will politely forget that they saw the first one.
After your hand of cards appears, select your initiative card from your hand and drag it into your Initiative space. Crawlspace plays it face-down, and prints the suit and rank on its back. This information is visible only to you.
You can watch your allies and your opponents set their own initiative as face-down cards appear in their respective Initiative spaces. When everyone’s ready, the GM starts the initiative callout.
When the time comes to reveal your initiative card, click it once to flip it.
To play an Action during your turn—that is, while the value of your initiative card matches the current initiative count—do one of the following:
To play a face-up Action, such as Attack, drag a card from your hand to your Played space. The card appears face-up to everyone at the table. Then perform your action per Worm rules and role-play.
To play a face-down Action, such as Riposte, drag a card from your hand into your Face-down space. As with your initiative card, the suit and rank of this face-down card remain visible to you, and nobody else.
Per the Worm core rules, if you already had a card face-down, it gets discarded in favor of the new one.
Crawlspace follows the core Worm rule that Minor Actions are played as a two-step process: first, all allies and opponents declare whether or not they’re playing a Minor Action this turn, and then—at the GM’s call—all Minor Actions are revealed simultaneously.
To play a Minor Action, you first queue it up by dragging a card from your hand to one of your two Minor Action spaces:
To queue a face-up Minor Action, such as Attack, drag a card from your hand to your Face-up Minor space.
To queue a face-down Minor Action, such as Riposte, drag a card from your hand into your Face-down Minor space.
After you queue a Minor Action, everyone else at the table can see that you’ve queued a Minor Action, but they don’t know more than that. (This simulates the physical-table action of selecting a Minor Action card from your hand and holding it face-down in front of you, waiting for the GM’s call to reveal it.)
If an ally or an opponent queues a Minor Action, then the “Minor” indicator on their area of your table view turns green.
When the GM is ready, they reveal all queued Minor Actions at once; everyone who queued a Minor Action has the card land in their Played or Face-down space. The players and the GM then work out what just happened, per Worm rules for Minor Action resolution.
When it’s time to reveal a face-down Action card you played earlier—for example, you played it as a Riposte, and now an enemy is attacking you—drag it from your Face-down space to your Played space. This flips the card face-up.
If a face-down card was played as a Minor Action, then it has the label “Minor” printed on its back. This signals to everyone (and especially the GM) that the action that you assigned to that card, once revealed, must match the revealed card’s suit, per core Worm rules about Minor Actions. If it doesn’t, then what to do about that is between you and the GM.
If you drew the Fool, you can treat it in Crawlspace just as you would at a live table. That is, drag it into your Played space any time you like while verbally announcing what you’re doing, and then enjoy your free turn, playing out your Action card as described above.
This works less because Crawlspace supports this rule and more because Crawlspace isn’t designed to stop you from throwing cards around however you please. You can also do this out-of-turn with the Two of Cups or whatever if you want, but that’s not a legal play according to core Worm rules, and the GM will likely ask you to pick it back up, and maybe also ask if you’re OK. But maybe your character has some magic dingus that lets them use the Two of Cups that way? I don’t know! It’s your game.
The above handles the majority of what you do as a player in Crawlspace during Challenge phases. From time to time you might need to do something else besides play cards from your hand, though. You might need to flip through a Test of Fate, or trade cards with another player, or do some secret third thing, as the whims of the game demand.
As explained in Doing things, I designed Crawlspace so that whatever sensible thing you can do with a physical card, you can just try to do by dragging and dropping, and it’ll probably work.
Navigating the Challenge phase in Crawlspace as a GM is a bit more scripted than doing so as a player, so I wrote this section as a step-by-step. That said, please read Play the Challenge phase as a player, as well, since it does cover core concepts that also apply to you.
Every round of a Challenge, follow these steps:
Add new opponents. For every new opponent that deserves its own play area during this round, type its name into the Opponent name field—for example, “Goblins”—and click Add. After it appears on the table, define its Zone.
Generally you do this at the start of the challenge, but you might also do this if a monster-group becomes split between Zones, for example, or someone else wanders into the fray.
Update player zones. Make sure every character has their Zone updated and correct. A player can update their own character’s Zone, and you can also just do it for them. Whatever works.
Set your hand size. Use the Worm rules to figure out how many cards you should hold this round, and set the GM hand size number appropriately.
Set players’ hand sizes, if needed. Crawlspace automatically gives all players the default hand size of 4. If a player got KOed or is otherwise absent for this round, use the Hand size control in their Allies box to set their hand size to 0. And if they’re under some weird effect that makes their hand size something other than 0 or 4, then set their hand size appropriately.
Click New Round. This deals cards to yourself and to all players.
If you want to take a mulligan, click the Mulligan button to discard your hand and deal yourself fresh cards. This doesn’t affect players’ hands. (While there are core Worm rules about when you can take a mulligan, Crawlspace doesn’t enforce them.)
Choose initiative cards for every opponent, and drag them into place.
After you and all players have their initiative set, begin the verbal initiative call according to Worm rules, starting with Ace. Set the initiative strip as you go. (The initiative strip doesn’t have any effect or purpose other than displaying the current callout-count. You can set it or correct it as necessary.)
From there, you and the players play out the round, turn by turn, according to Worm rules, and whatever whimsical or chaotic things might occur. On every turn, you as GM should take the following steps within Crawlspace:
When an opponent’s initiative comes up in the count, click its initiative card to flip it.
On an opponent’s turn, play cards from your hand to the correct opponent’s played-card stack or face-down spot in order to have them play actions, minor dooms, or major dooms, according to the Worm rules and whatever special rules are associated with that denizen.
After every holder of the current initiative has taken their action, choose whether each opponent makes a Minor Action, and place a card into their Face-up Minor or Face-down Minor spot if so. You make this choice at the same time that players choose Minor Actions.
After you and every player is done choosing whether to play Minor Actions, click Reveal Minor Actions. This causes every queued-up Minor Action card to simultaneously flip into its respective player’s or opponent’s Played pile or Face-down space. You and the players then work together to figure out what just happened, per the Worm rules for Minor Action resolution.
To undo the Minor Actions reveal, click the Undo reveal button that appears underneath the log panel after the reveal. This returns all revealed cards back to their respective queueing spaces.
After Actions and Minor Actions have all resolved, click Sweep. This moves all played face-up cards into the appropriate discard pile.
To undo a sweep, click the Undo sweep button that appears underneath the log panel after the sweep. This returns all swept cards back to the table.
Resume the verbal initiative call, updating the initiative strip as you go.
When the round is over, click New Round to clean up all cards on the table except for cards in Face-down spaces.
And finally, to end the Challenge, click the Crawl or Camp buttons. Crawlspace asks if you’re sure; if so, it clears the entire challenge, discards all cards in hands and on the table—except for held Inspiration cards—and switches the view to the selected phase.
Neither starting a new round nor ending the Challenge can be undone. Crawlspace always asks you to confirm before ending the Challenge, and asks before a New Round whenever it would discard cards already on the table—so the first deal of a fresh Challenge needs no confirmation.
Crawlspace is a project by me, Jason McIntosh. Find me on the web at https://jmac.org.
His Majesty the Worm is a most excellent tabletop role-playing game by Joshua McCrowell, published by Exalted Funeral. Find it on the web at https://hismajestytheworm.games.
Big thanks to my players-and-testers Alaina, Justin, Morgan, and Scott. Big thanks also to the kind community on the Worm Discord server, which has been very patient with me as I picked apart the rules of this game and asked many questions.
Legal disclaimer: Crawlspace is an independent production by Jason McIntosh and is not affiliated with Joshua McCrowell or Exalted Funeral.
AI disclosure: The code behind Crawlspace was created with generative AI assistance, under human direction and review. All text and art assets in and around Crawlspace, including this document, are entirely human-created.
This section steps through everything that appears in the window during a Challenge phase, in rough top-to-bottom, left-to-right order:
At the top of the window is a horizontal strip listing every tarot card rank, from Ace through King. At the start of a Challenge round, Ace is highlighted. This represents the current state of the initiative count, as called by the GM.
Every time the GM calls out a new initiative rank (“Two… Three…”), they click the plus-sign button located to the right of the strip to advance the highlighted rank on the strip. When a player says “Whoops, hang on”, which absolutely happens most of the time in actual play, the GM can freely rewind the count by clicking the minus-sign button.
Players can’t manipulate the strip, and they don’t have the -/+ buttons.
Crawlspace represents every player at the table other than you as a box in the Allies list. It simulates your view of a player sitting at the table with you, showing you everything you’d know about them based on their hand of cards and the cards on the table in front of them.
Each Allies box contains the following:
Crawlspace represents all groups of enemies (or enemy-like obstacles) in the Opponents list. It simulates the piles of cards that the GM plays in front of themself during an in-person game.
Each Opponents box contains the following:
On the right side of the screen is the same two-by-two display of draw and discard piles that Crawlspace displays during non-challenge phases. These are here for mid-Challenge Tests of Fate, or to let everyone paw through the discard piles as desired.
You can also draw directly from the Player Deck and discard pile to any player’s hand or other card-pile, or vice versa, and act likewise with GM cards. Nothing in the core Worm rules would have you do this, but Crawlspace won’t stop you from doing it anyway.
A running log of all player and GM actions that are visible to Crawlspace scrolls under the decks.
At the bottom of the Challenge page upper pane (and likely requiring you to scroll the upper pane in order to see it all) is a quick reference of all Challenge phase actions, organized by suit, as well as a reminder about key Challenge phase rules.
Players have a free-text area here where they can mark the zone that their character’s currently in.
The spaces to the left of your hand are where you, as a player, play your cards. If you’re a player (and not the GM), then most of your interaction with Crawlspace during the Challenge phase involves dragging cards from your hand to these spaces.
Stuff that you do with these spaces is visible to the GM and other players, and also appears in the log. Your play area contains some information that’s visible only to you, and not anyone else:
If you are holding cards in your hand, they appear side-by-side here. Other people at the table can see how many cards you’re holding, but they can’t see which cards they are.
The GM has a bunch of buttons next to their hand to let them control the flow of the Challenge phase. For more on that, see Play the Challenge phase as a GM.