Evolution of a Move: “Bag of Grenades”

This post is about a couple of moves in development for the Guardsman revolving around grenades. The Guardsman is meant to be a sort of battle hardened explosives expert veteran, and I wanted him to be able to use grenades in a similar way to Adventuring Gear or Bag of Books in Dungeon World.

This “Bag of Grenades” type move, called Grab Grenade, exists based on the creation of another move: Throw Grenade. This move might go through some more iterations, but here are the first two versions of it I had:

Throw Grenade v1.0

When you prime and throw a grenade, roll+Dex. On a 10+, the grenade lands where you aimed. On a 7-9, the grenade lands near where you aimed for a reduced effect.

While this was serviceable, I decided it would be better to include 7-9 options similar to the ones from Volley. Making choices is fun. Here’s the updated version:

Throw Grenade v1.1

When you prime and throw a grenade, roll+Dex. On a 10+, the grenade lands where you aimed. On a 7-9 choose one:

  • The grenade lands where you aimed but you have to move to make the throw placing you in danger as described by the GM
  • The grenade only lands near where you aimed, for a reduced or dangerous effect as described by the GM

I kept that a 7-9 only lands near your target, but I made it one of two options. I also made it so its effect was either reduced or “dangerous”. I didn’t want to limit GMs to just nerfing the effects of thrown grenades, I wanted them to have other complications. Maybe the Frag Grenade lands near some red oil barrels, which as we all know are explosive. Or maybe the Stun Grenade isn’t thrown far enough and it accidentally blinds one of your party members. There should be lot for GMs to do with that.

Both Grab Grenade and Throw Grenade rely on some key new items, most notably grenades. The other key item is the Grenade Belt, which the Guardsman takes in his starting gear. The Grenade Belt starts with 3 uses, meaning it has 3 grenades in it, and can be refilled through trade or plunder.

Grenade Belt
A belt with several pouches that a Guardsman uses to store grenades.
1 weight, 30 thrones, 3 uses

The stats of the grenades are not done yet, but the general idea of each is already set in the WH40K universe.

Frag Grenade
Deals damage in a blast radius to harm people and creatures.

Smoke Grenade
Covers an area in smoke for a period of time.

Stun Grenade
Emits a loud noise and a bright flash, temporarily disabling or confusing those caught in the blast.

Krak Grenade
Deals damage in a very small radius to puncture armor. They are generally used against vehicle and structures.

Fire Bomb
When the bomb is lit and thrown, the canister breaks on impact and the accelerant inside covers an area in flames.

Melta Bomb
A melta bomb creates a large explosion capable of destroying large vehicles and entire buildings. Melta bombs cannot be thrown.

Those are the basics of the grenades, here’s the first version of the move for getting grenades:

Grab Grenade v1.0

When you search your belt for a suitable grenade roll+Wis. On a 10+ hold 3. On a 7-9 hold 2. On a miss hold 1 in addition to what the GM says. When you spend hold equal to the cost of the grenade, add that grenade to your inventory and expend 1 use of your belt.

  • Krak Grenade, costs 3
  • Melta Bomb, costs 3
  • Frag Grenade, costs 2
  • Fire Bomb, costs 2
  • Stun Grenade, costs 1
  • Smoke Grenade, costs 1

I wanted to cost out the different grenades so that some were more expensive than others, so I gave different hold for your roll and costed out the grenades based on hold. I originally thought this was a good way to make the more exuberant grenades harder to get, but I found it made rolling a 10+ boring when you didn’t want a fancy nade.

Additionally, using two resources for one item was cumbersome. You would both spend hold and mark off a use of your Grenade Belt when you wanted a grenade. This seemed excessive.

The next version of the move did away with the hold, and simply provided different lists of grenades based on your roll. This still makes a 10+ boring when you need something basic, but we aren’t done with the move yet.

Grab Grenade v1.1

When you search your belt for a suitable grenade roll+Wis. Expend one use of your Grenade Belt and choose a grenade to add to your inventory. On a 7-9 choose from this list:

  • Frag Grenade
  • Fire Bomb
  • Stun Grenade
  • Smoke Grenade

On a 10+ the same or you may choose from this list instead:

  • Melta Bomb
  • Krak Grenade

On a miss the GM will offer you a different grenade, or the one you were searching for at a cost.

While this was better, I soured on the idea of more exuberant grenades. I didn’t like the Melta Bomb and Krak Grenade being in their own list. I thought the Melta Bomb was too different from grenades to be in this move, and the Krak Grenade was too similar to be in its own list. The next version of the move dealt away with Melta Bomb and moved the Krak Grenade to the rest of the options. Now I needed something for a 10+. Here’s v1.2

Grab Grenade v1.2

When you search your belt for a suitable grenade roll+Wis. Expend one use of your Grenade Belt and choose a grenade to add to your inventory. On a 7-9 choose from this list:

  • Frag Grenade
  • Fire Bomb
  • Stun Grenade
  • Smoke Grenade
  • Krak Grenade

On a 10+ the same and you also take +1 forward to Throw Grenade.
On a miss the GM will offer you a different grenade, or the one you were searching for at a cost.

This version is better, but I think +1 forward could be more interesting. I’d like to change it to a choice, similar to the option that you get on a 10+ with Hack and Slash that lets you add an extra d6 damage while opening yourself up to attack.

More changes are sure to come, but for now I’m considering these moves good enough to move on to other things.

Boring Ol’ Assassin

One of the first three classes I’ll be releasing is the Assassin, which is basically me taking Thief in one hand and Ranger in the other and smashing them together. The idea is to have the character be able to be played as an up close backstabber or a long range sniper.

Because I’m using so many skills that already exist in vanilla Dungeon World, this class is probably the most boring to read about. Hopefully it will still be fun to play.

I’m still missing some of the advanced moves and I’ll need to add some later. I’d like to add more moves that aren’t as combat focused.

I’ve listed the moves I have for the Assassin below with either New or the class I’ve stolen them from in brackets next to the name. Some of the moves I’ve renamed to be more 40k, using the existing temples of Officio Assinorum where applicable.

Starting Moves

Backstab (Thief)

When you attack a surprised or defenseless enemy with a melee weapon, you can choose to deal your damage or roll+DEX.

On a 10+ choose two.
On a 7–9 choose one.

  • You don’t get into melee with them
  • You deal your damage+1d6
  • You create an advantage, +1 forward to you or an ally acting on it
  • Reduce their armor by 1 until they repair it

Poisoner (Thief)

You’ve mastered the care and use of a poison. Choose a poison from the list below; that poison is no longer dangerous for you to use. You also start with three uses of the poison you choose. Whenever you have time to gather materials and a safe place to brew you can make three uses of the poison you choose for free. Note that some poisons are applied, meaning you have to carefully apply it to the target or something they eat or drink. Touch poisons just need to touch the target, they can even be used on the blade of a weapon.

  • Oil of Tagit (applied): The target falls into a light sleep
  • Bloodweed (touch): The target deals -1d4 damage ongoing until cured
  • Goldenroot (applied): The target treats the next creature they see as a trusted ally, until proved otherwise
  • Serpent’s Tears (touch): Anyone dealing damage to the target rolls twice and takes the better result.

Called Shot (Ranger)

When you attack a defenseless or surprised enemy at range, you can choose to deal your damage or name your target and roll+DEX.

  • Head
    • 10+: As 7–9, plus your damage
    • 7-9: They do nothing but stand and drool for a few moments.
  • Arms
    • 10+: As 7-9, plus your damage
    • 7-9: They drop anything they’re holding.
  • Legs
    • 10+: As 7-9, plus your damage
    • 7-9: They’re hobbled and slow moving.

Hunt and Track (Ranger)

When you follow a trail of clues left behind by passing creatures, roll+WIS.

On a 7+, you follow the creature’s trail until there’s a significant change in its direction or mode of travel.

On a 10+, you also choose 1:

  • Gain a useful bit of information about your quarry, the GM will tell you what
  • Determine what caused the trail to end

Advanced Moves for Levels 2+

Silent Strike (New)

When you backstab an enemy your attack also prevents them from raising the alarm, describe how.

Vindicare Shot (New)

When you successfully hit someone with Called Shot your limb shots have the Messy and Forceful tags and your head shots roll damage twice and take the higher.

Viper’s Strike (Ranger)

When you strike an enemy with two weapons at once, add an extra 1d4 damage for your off-hand strike.

Cheap Shot (Thief)

When using a precise or hand weapon, your backstab deals an extra +1d6 damage.

Venemum Training aka Envenom (Thief)

You can apply even complex poisons with a pinprick. When you apply a poison that’s not dangerous for you to use to your weapon it’s touch instead of applied.

Callidus Training aka Camouflage (Ranger)

When you keep still in natural or crowded surroundings, enemies never spot you until you make a movement.
Small change here, I’ve added crowded areas to the places you can be camouflaged.

 Underdog (Thief)

When you’re outnumbered, you have +1 armor.

Trap Expert (Thief)

When you spend a moment to survey a dangerous area, roll+DEX.

On a 10+, hold 3.

On a 7–9, hold 1. Spend your hold as you walk through the area to ask these questions:

  • Is there a trap here and if so, what activates it?
  • What does the trap do when activated?
  • What else is hidden here?

Tricks of the Trade

When you pick locks or pockets or disable traps, roll+DEX.
On a 10+, you do it, no problem.
On a 7–9, you still do it, but the GM will offer you two options between suspicion, danger, or cost.

Advanced Moves Levels 6+

Dirty Fighter (Thief)

Replaces: Cheap Shot

When using a precise or hand weapon, your backstab deals an extra +1d8 damage and all other attacks deal +1d4 damage.

Viper’s Fangs (Ranger)

Replaces: Viper’s Strike

When you strike an enemy with two weapons at once, add an extra 1d8 damage for your off-hand strike.

Serious Underdog (Thief)

Replaces: Underdog

You have +1 armor. When you’re outnumbered, you have +2 armor instead.

Disguise (Thief)

When you have time and materials you can create a disguise that will fool anyone into thinking you’re another creature of about the same size and shape. Your actions can give you away but your appearance won’t.

Arbitrator Starting Moves

I recently read an article about writing Dungeon World classes that started off with a very simple tip that helped me a lot: brainstorm a lot and write everything down. I wanted to do this, but realized that my code structure for the project isn’t great for drafts and writing. I think the code will eventually be a good place for final products and great way for other people to contribute ideas and pull requests, but it’s terrible for spewing ideas at my computer and seeing what sticks.

In light of this revelation I created a simple Google doc for the Arbitrator – a badass detective – and jotted down ideas for moves. I started with the fiction, as advised in the article linked above, and slowly fleshed them out with bullet point items. I added thoughts for each move as I bounced around between ideas. Here are some of the questions and thoughts I would append to my move ideas:

  • Could this just be a renamed move from an existing class?
  • Should this move require rolls?
  • Is there more than one positive outcome?
  • What are some complications that could arise?
  • What’s a cool name for it?
  • Is this a starting move or an advanced move?
  • Does this move work on its own or is it an extension of an existing move, such as Discern Realities or Hack and Slash?
  • What characteristic best suits this move?

Eventually those moves turned into actual text and were given names. I present below the first batch of moves I have for the Arbitrator, the Starting Moves.

Starting Moves

I Am Justice

When you give an NPC an order based on your Adeptus Arbites or Inquisitorial authority, roll+Cha. On a 7+, they choose one:

  • Do what you say
  • Back away cautiously, then flee
  • Attack you

On a 10+, you also take +1 forward against them.
On a miss, they do as they please and you take -1 forward against them.

This move is just a copy of the I Am The Law starting Paladin move. All I’ve done is changed where the authority comes from. Boring, but effective.


When you use Discern Realities on a crime scene and roll a 7+ you also find a clue of value to you. On a 10+ this clue gives you a hunch that the GM will describe.

As a GM I like this move because I often times find that there’s information I want to give the players when they start poking around, but it doesn’t fit into any questions in an obvious way. It’s entirely possible this move shouldn’t exist as is and I should just get better at Discern Realities, but I like the fictional idea of the Arbiter gaining useful intel because of their experience with crime scenes.


When you torture or beat someone to extract information from them roll+Str. On a 7-9 they answer your questions and you choose 2. On a 10+ choose 1 instead.

  • They pass out from the pain
  • They add information they think you want to hear
  • They resist for longer than you’d planned

First of all I love the name of this move. Confessor is similar to using a threat in order to gain leverage with Parley, but it’s thematically darker as the violence is required. I like the possible drawbacks, I think they give good prompts for creating adventure:

  • If it takes longer, will the cultists friends come rescue him?
  • If he passes out, does he do it mid sentence?
  • If they’ll say anything to make the pain stop, how do you know which bits of information are true?

Take Them Alive!

When you successfully hit a vulnerable opponent you can attempt to disable them instead of dealing damage. Roll+Str, on a 7+ they are incapacitated. On a 7-9 choose 1:

  • They get one last attack in
  • You hit harder than you’d planned, maybe killing them
  • They will need some time to recover to be of any use

Useful for wanting to grab up a bad guy for interrogation instead of pummeling them to death. Knock them out, break a leg, smash a foot, etc. I think I would like to add some more negatives to this move and have a choose 1 on a 10+ and more on a 7-9, but we’ll see.

An important thing to note about this move is the word vulnerableYou can’t knock out a Daemon on the first hit just because you have this move. He needs to be dazed or pinned down or near death.


Those are the starting moves I’ve got so far for the Arbitrator. I have ideas for advanced moves that I’ll continue to work on and post later.

Reducing Scope

Since I have a tendency to let my projects wane and disappear I’ve decided to further reduce the scope of the DW40K project. In so doing I’ve reduced my goals for the classes to be played, and especially how much advancement they can have.

My goal is to have three classes be playable – Assassin, Arbitrator, and Guardsman – and to only have enough for them to be playable until level 5. After level 5 there likely won’t be interesting choices for advanced moves to take. This will be helpful to get to playtesting earlier. I’ve also deleted the Tech-Priest from the codebase. That class is harder to write and can be added later on.

For each of the classes I’ll be incorporating (stealing) moves from the original Dungeon World, but I also want each class to have a 40k feel to it. To do so I’ll be writing new moves when I can, but more often I’ll just tweak or rename existing moves to have a more 40k feel.

An example of a tweaked move is the “I Am the Law” move for the Arbitrator. This move is an exact copy of the Paladin move of the same name. The only change is to the bold part of the text which now reads: “give an NPC an order based on your Imperial or Inquisitorial authority.” I think this move works for both 40k and DW at this point, but I’m not a fan of the name and would like to change it in the future when I think of something better.

A new move for the Arbitrator I’m working on is an advancement of Interrogator called Confessor. The idea will be to give the player the option to torture their victim mercilessly to increase the chances of getting information, at the risk of killing the subject.

Setting my goal at a max level of 5 also means I can likely get away with converting fewer of the more exotic weapons over. I’ll be discussing items more in future posts.

Vinquisition: The Codebase and Project

Technology Used

Part of the reason I wanted to start this project was to brush up on my NodeJS skills. As such, I’ve written the game into a Node project that runs as a website. The website uses:

  • NodeJS
  • Express
  • AngularJS
  • Bootstrap

I am currently hosting it on Heroku at http://vinquisition.herokuapp.com because it’s so easy to set up and share with people.

Folder and Data Structure

The codebase and game data is all in my GitHub repository. Anyone is welcome to make pull requests to update the game, or the website used to display the game.

For the codebase, what was important for me was to be able to keep the game data all in one place, so that any changes to the game only need to be in one place. For example, if I change Laspistol from 1 weight to 2 weight, I want to do that in one place and have that change show up in both the list of equipment and the starting gear of the Tech-Priest.

To accomplish that I’ve put everything related to game data into a game_data folder. The structure of my node project therefore looks like this:

  • bin
  • game_data
    • classes
    • items
    • skills
    • external_skills.js
    • index.js
    • tags.js
  • node_modules
  • public
  • routes
  • views

I’ve placed items, skills, and classes into folders with individual entries being their own js file in the folder. This was done so that commits to individual skills or classes are easier to make without touching other files.

All game data is stored in an object called game_data, which has its own child properties for each of the different type of game objects: classes, skills, items, tags. This was done to make it easy to add more game data in the future easily (monsters, missions, ammo, etc).

HTML Tags for Items/Classes/Skills

I used AngularJS directives to create new tags to be used that reference other pieces of the game. For example in class starting gear, I can write it out like so:

The Assassin starts with a <item k=”long_sword”></item>.

The AngularJS directive will find that item tag will use the “k” (for key) property to fetch the information at game_data.items.long_sword and replace it with the text “Long Sword”.

Tooltips are also added to the item name, so that on hover you can see a quick breakdown of the tags for that item.

Item tag tooltip

Similar directives were created for classes, tags, and skills.

This setup is working so far, but may change in the future. If you have any thoughts on where this system could be improved, or any caveats I may have missed, let me know in the comments.

Dungeon World: 40,000 – A Dark Heresy Conversion Project

Note: this project has been renamed Heresy World.

In my spare time I am building an expansion of Dungeon World to work in the universe of Warhammer 40k, specifically the game Dark Heresy. This short post is about my goals and my overall plan of attack. More posts will follow with specific decisions and developments.

I like the rules-light nature of Dungeon World, and its ability to build a narrative with very little preparation. I also love the grimdark setting of WH40k. In an exercise to flex my tiny game design muscles, and to learn some new programming skills, I’ve created a new website for showcasing my ongoing work.

My personal goals for this project are to learn more about Warhammer 40k’s lore, practice game design, have fun, and learn some new coding skills. The site is created in NodeJS and is my first personal node project.

My goals for the conversion are:

  • Convert iconic 40K weapons and items into DW stats and tags
  • Create 4 playable classes styled after Dark Heresy classes with new skills
  • Add tags to the game to incorporate new weapons
  • Change starting moves to capture the nature of combat in WH and life in the Imperium
  • Convert one short pre-made Dark Heresy campaign into a usable Dungeon World version

One thing I will not be tackling in my first version is psykers. It sucks for people who like to play psykers or wizards, but I don’t think they’re absolutely vital so I’ll be saving them for later.

I plan to start with four classes: Arbitrator, Tech-Priest, Assassin, and Guardsman. I’ll be trying to post updates on each class as I add more moves and changing existing ones.

New items and tags for those items will be added as needed and whenever I want to take a break from classes.