At the Intersection of Work, Play, and Learning

Cluster with Standard Attributes

Cluster with Standard Attributes

For the most part, I keep my professional blogging separate from my hobby blogging.  During the day, I’m a programmer for the University of Notre Dame, and at night a pen, paper, and cardboard gamer.

I consider myself to be a reasonably competent programmer, but recognize continued room for growth.  This manifests in reading and experimenting in code.  Lately, I’ve thought of myself more as a software doctor than a software engineer.  Doctors practice medicine, and I practice programming.

This past month, I picked up Avdi Grimm‘s “Objects on Rails” [Free legal online version] and Uncle Bob Martin‘s “Clean Code“.  I’m interested in exploring better software design, with a focus on code refactoring…I’m the primary maintainer of a 6+ year old Ruby on Rails based CMS (It started somewhere around Rails 1.1.6 for those keeping score).  And sometimes it feels like I’ve donned the Black and patrol the Wall. But I digress.

I decided that I wanted to apply some of these principles to a problem space that I understood…RPGs.  In particular, I wanted to automate the Diaspora Cluster Creation, not because it is convoluted, but because it is very well defined process.  That is to say I already understood the domain.

Cluster with Arbitrary Attributes

Cluster with Arbitrary Attributes

Over the past week, I’ve worked on creating the Diaspora Cluster Creator command-line utility by striving to apply these recommended constraints and methodology.  The tool I’ve created is an over-engineered solution for what amounts to 5 minutes of dice rolling at a table with a group of friends.

This exercise has proven to be ridiculously rewarding.  I was working on a greenfield project and trying to adhere to the teachings of others.  In some cases, I stumbled, creating code that I should’ve known would be a problem; Hint, if the tests are complicated to setup, then there are issues.  But, through refactoring, I was eventually able to clean things up – I’m still not satisfied with the Node class.

While I typically try to work within these constraints, for this project I was trying extra hard to keep them at the front of my considerations: The Law of Demeter, Single Responsibility Principle, Test-Driven Development, Command/Query Separation, general readability, and fast tests (Corey Haines would be proud).

The result has been a code-base that has been very fun to work with, and has been relatively painless to extend.  The Cluster creator can just as easily create Diaspora clusters with attributes different than the assumed Technology, Environment, and Resources.

The command-line solution is not suitable for the general role-playing populous, so I’ll need to take that into consideration.

For those of you interested in installing it yourself, it’s up on Githuband available as a Ruby gem – `gem install diaspora-cluster-creator`.  You can take a look at the Cucumber feature that defines the command-line behavior of the tool (Hint: there are several options).

Preparing for Diaspora

Tomorrow we are going to be starting a new Diaspora campaign as a player. I’m very much interested in getting into a platoon level conflict, as I believe the rules to be some of the best mass combat system for an RPG.

To do this, I will need to create a star system or two in which platoon conflict is likely. The obvious structure would be Rebellion vs Empire. However I could also see a setting up a two or three comparable entities fighting for control of a thurd region.

Given that Diaspora allows the players tremendous control over campaign creation, I’ll have to look at the system I’m creating. If I have a strong system then I can pick on a weaker system with one of my system’s aspects. If I’m “owning” with a weaker system then I’ll setup one of my aspects as a victim of a stronger system. The other system need not “spend an aspect” to reciprocate.

With a system ripe for a military conflict, my character would then need aspects to get him into large military conflicts. I’d imagine something like “Drug smuggling warlord” or “Corrupt Empirial colonel” or “Captain of the 3rd Light Brigade” should do the trick.

What we found in our previous game is that the collaborative character creation can quickly result in directions no one envisioned nor planned for. And I’m excited, because, while I have a plan, others will be directly affecting me.

So while I may wish to fight platoon battles, I can just as easily see my character being a convicted war criminal who’s military capabilities are severely hindered. Either way, I hope that our GM brings situations that challenge and engage us. I want information to flow so we can push to a conclusion – I don’t want a slow plod. I’d prefer a narrow scope campaign that wraps up in 6 or so sessions.

Dungeon World Custom Moves for Ziggurat of the Sun Princess

This past Sunday our usual gaming group wasn’t able to meet.  So I gathered up a few players, whipped up some Dungeon World characters, and ran them through Josh Mannon‘s “Ziggurat of the Sun Princess” [Free PDF download here].

I thought that I’d be running the game for 4 players so I made 4 custom moves to hand out and unlock throughout play.  They help me, as the GM, set the tone for what is going on.

And, in the case of Child of the Sun, it really drove one of the players to push hard to get a Sun Stone, as there was a tremendous mechanical advantage tied to touching the Sun Stone.

Expedition Leader

Others are looking to you to lead them on this expedition to the Ziggurat of the Sun Princess. Your sponsor has placed faith in you to make sure that the Sun Stones are properly cared for.

Tell them why you are fit to lead this expedition and roll+CHA.  On a 10+ Hold 3, on a 7-9 Hold 1. When you give an order to a player character you may spend 1 hold.  If the player character follows your order, you both mark XP.

Haunted Dreamer

Your travels to the Ziggurat of the Sun Princess have been plagued with visions of flowers shedding tears of blood.

While you are travelling to the Ziggurat, tell everyone about your dream and roll+Wis.  On a 10+ Hold 3, on a 7-9 Hold 1. When you see a part of your dream, previously told or remembered just now, exclaim “I have dreamt this!” then spend 1 hold and take +1.

Child of the Sun

Your body aches to behold and touch a legendary Sun Stone. You’ve heard it calling.

When you touch your first Sun Stone then roll+Con.  On a 10+ Hold 3, on a 7-9 Hold 1. As part of another move, you may proclaim “Father Sun, guide me!” and channel your heritage then spend 1 hold to select the dice result of your move’s roll.

Childhood Stomping Ground

As a child, you remember playing on the Ziggurat…it was overrun with vegetation and a perfect place to hide from those who pestered you.

When you first approach the Ziggurat tell everyone who it was you used to hide from and lead them to where you found that secret entrance so long ago then roll+Int.  On a 10+ choose 3, on a 7-9 choose 1:

  • The entrance is not in danger of collapse
  • The entrance is not trapped
  • The entrance remains undiscovered
  • The entrance is not home to a native creature

Floundering Around the Burning Wheel

Presently I’m running one Burning Wheel campaign and playing in another.  I feel both of them are circumventing portions of the game.

First, we rarely do proper Artha awards.  Instead of setting aside time at the end, we prefer to play until the last minute.  By the time we wrap up the session the kids are tired or others need to get to our next obligation, we only do a very simple Artha awards sequence.  Typically, we hand out 2 Fate and 1 Persona, then look for anything exemplary.

It’s not rules as written and it certainly feels awkward and shameful.  Ultimately, I believe we do these shameful things because character’s beliefs are not tying into the game.  This is a group failing.

In the case of Bloodstone, I provided the introduction for everyone to tie into. I didn’t work as closely with all of the players to make sure their beliefs tied into the game.  We don’t have a laser-like focus.  As such, there are some characters, namely Remy and Holden, who are typically more peripheral to the game.  Granted, negotiating beliefs for 5 characters of differing experience and age is challenging to begin with.

In the case of the Butcher, Baker, and Candlestick Maker, we had a vision of how our characters were connected, but those characters were made in a knowledge vacuum.  We certainly knew about the Crypt of the Slug Mother, but as players we didn’t know where the campaign was going.

These failings leave us in a somewhat jumbled mess, as some characters are floundering for their spot in the story.

One notable difference that I’m seeing between the two campaigns is the concept of complications.

I am perfectly content letting my players come up with many things…if they succeed on a test; Let them scavenge for anything, make Dark Secret-wise tests, attempt to console their companion…but I hope they know that a failed test will give me ammunition.  Sort of like roll a 6 or less in Apocalypse World, I now get to make a Hard Move.

Contrast with the Butcher, Baker, and Candlestick Maker, where several test failures are met with “Nothing Happens.”  And in a handful of cases, success could be distilled to “Nothing Happens.”  Which sucks.

The key thing I’ve learned is, let the characters propose actions.  If you don’t want to see it happen, make a high Obstacle.  Let the players then figure out how to reach for it.  If they succeed, give it to them.  If they fail…make a Hard Move.

Personally, a test should change the state of the game, and I believe other game players would agree.  Apocalypse World and it’s brilliant derivative Dungeon World, hard-code this in the moves.  In order to truly change the state of the game, you have to make a move – in Burning Wheel it would be make a test.  Think about it…in Settlers of Catan the state of the game changes when the dice are thrown…some people get new resources, others might get robbed.

It has taken a bit for me to more readily see the possible complications of a test.  It’s not that I wasn’t doing it before, its just now, I’m willing to throw things out there and let a player decide how hard they want to push for a success.  Its a calculated negotiation between players that directly impacts their characters.

What I’ve found to be best for running my Burning Wheel game has been to review the agenda, principles, and moves of Dungeon World (Get the Basic Rules PDF for $5).

In short, follow these guidelines, in order:

  • What the rules demand
  • What the adventure demands
  • What honesty demands – be open and honest
  • What the principles demand
    • Draw maps, leave blanks
    • Address the characters, not the players
    • Embrace the fantastic
    • Make a move that follows
    • Never speak the name of your move
    • Give every monster life
    • Name every person
    • Ask questions and use the answers
    • Be a fan of the characters
    • Think dangerous
    • Begin and end with the fiction
    • Think offscreen, too

I’ve already illustrated the moves of Dungeon World and Apocalypse World.  It’s not that I didn’t do those things before, its simply that the above outline is sort of like a liturgical invocation; a chance to set aside other thoughts and consider what the players demand; An enjoyable time with friends.