Friday, March 16, 2018

The Campaign TiddlyWiki: Tags

Last time I wrote about TiddlyWiki, I focused on overall organization and various tricks and methods for structuring tables of contents and lists of tagged tiddlers. Today I'm going to dive into some actual applications for these techniques.

Thursday, March 15, 2018

PBE Games - A Very Minor Update

PBE Games hasn't published much since the last update I did as part of a Tile of the Week post, but here's a brief note about the most recent Dungeons in Blue releases.

  • Elevations - 16 geomorphs all depict staircases and level changes. While plenty of tiles have stairs leading to other levels, these add variations within a single level.
  • Base and Expansion A to Z Pack - This discount bundle includes all standard and expansion tile sets (Set A to Z and Expansion Set A to Z).
  • Special Tiles Pack - Another big bundle that includes all the oddball geomorph sets plus the various icon and room packs. Like the Base and Expansion pack, this bundle features a hefty discount.
I do have several sets in the pipe, including two more Complexes bundles, and a triple pack of high-density geomorphs (you can see a preview from one high density set here). I also have two more One Page products and another Hexed Places ready to roll.

So, like the title says, a very minor update. Thanks, as always, for checking things out.

Thursday, March 1, 2018

Organizing an RPG Campaign with TiddlyWiki

This is rambly because I touch on several different topics related to TiddlyWiki (TW5). As I mentioned in my last post about using this software, I'm doing a sort of in-house review of how I've used it in the past to keep track of game-related notes. The first thing I want to touch on today is the good and bad of using TiddlyWiki.
  • It's simple to record textual information and apply basic formatting like headers or bullets. If you can remember a half-dozen bits of markup,  you can probably create an easy-to-read wiki.
  • It's less easy to apply more complex formatting, like tables. While there's markup to support advanced HTML and apply CSS, unless you have some understanding of these subjects, it's a little time-consuming.
  • TiddlyWiki is great at linking up disparate bits of information, and tags are awesome tools for structuring your data. In fact, I'm going to talk a little bit more about tag organization in a bit.
  • Updating information at the gaming table can be challenging. Switching between view and edit mode for individual tiddlers, especially if you use transclusion, can be a big distraction.
So, where does that leave me in my thinking? First, all background material for my campaigns is going into TiddlyWiki. For me, it's the ideal repository for historic, governmental, NPC, religion, regional, and city data, as well as other general documents. I'll also use it for rules notes and system information that I need to keep handy. When it comes to specific encounter and session planning, things get a little fuzzier. I've done sessions where literally everything is stored in TiddlyWiki, and it just doesn't work in all cases. Scrolling back and forth to find specific information on a creature for an encounter or notes on a room in a dungeon is more of a distraction than a boon. I think the breakdown for me is something like this:
  • The session outline/summary goes into TiddlyWiki.
  • Locale descriptions get wikied.
  • Encounter details and stat blocks get committed to paper.
Managing an encounter or combat is so much simpler when you can scribble down hit point updates, changes to the environment, or conditions without worrying about which tiddler you need to edit and how stuff needs to be formatted. If data does need to be updated in TiddlyWiki, I think a journal summary of the changes (which can double as a session log), is the way to go.

Now that I have a general idea what I want to store, I can think a bit about how to do it more effectively. I've been toying with my blank campaign wiki a bit over the last few days. Specifically, I've been tweaking tags and sidebars. Tags are labels you can apply to any tiddler, and they can also be tiddlers themselves. Sidebars are navigation panels to the right side of the story area (where open tiddlers are displayed). By default, TiddlyWiki has four sidebars:
  • Open displays a list of tiddlers that are currently open.
  • Recent shows a historic list of tiddler activity.
  • The Tools panel gives you access to a bunch of TiddlyWiki functionality.
  • The More sidebar lists specific tiddler categories: tags, missing, recent, orphans, etc.
The real power here is you can add custom sidebars, and I'm going to use them to add three tables of contents to my notes. Based on past games and the thinking above, the data I store falls into three broad categories: Campaign notes about the game world, System documents for house rules and mechanics, and Wiki parts like templates and blank sample tiddlers. So, step one is to create three tiddlers called Campaign, System, and Wiki, and tag each one with $:/tags/SideBar, which automatically turns them into sidebars. I'm also going to use system fields in each to put them in the order I want. The list-before field tells TiddlyWiki to show the current tiddler before the one listed in the field; list-after means list it after (duh). The image to the left shows my new custom sidebar layout with my three tiddlers front and center. One side note: I also tag each of these tiddlers with contents, which is not the same as the Contents tiddler. I'll talk about this in a bit.

So, what goes into these three tiddlers? As you might guess, a table of contents (TOC) of everything tagged with campaign, system, or wiki. Creating an expandable TOC is simple:

     <div class="tc-table-of-contents">
         <<toc-selective-expandable "campaign" "sort[title]">>


This bit of markup has a template that shows a header, uses a built-in macro to create the campaign TOC, sorted by title, and, finally, transcludes the contents tiddler (which, if you remember, tags all three of the sidebar tiddlers).

Confused yet? The reason for this bit of trickery is to avoid tagging a sidebar with any tag that might show up in its TOC. That creates a recursive loop that causes Bad Things (TM) to happen. Using this method, I can quickly access the sidebar tiddlers. The Contents tiddler I mentioned earlier contains TOC listings for the campaign, system, and wiki tags and serves as the default TiddlyWiki homepage.

The final step in all this is creating tiddlers for the top level tags in each category. If you look at the sidebar image above, you can see some of the tags I've created, and how the toc-selective-expandable macro works. Briefly, each entry, bestiary, for example, is a tiddler tagged with campaign that contains a {{||DLIST}} template. Anything tagged with bestiary is automatically categorized under the appropriate tag, as you can see in the expanded npc entry, which shows Agent Blue both as an NPC, and as a gvtnpc, my shorthand for government NPC.

Now, this is not *exactly* the behavior I want. If I have 200 NPCs, the underlying tags are going to get lost in the shuffle. I may end up adding a layer here and only tag NPC tiddlers with the appropriate sub-tag.

OK, so this is longer than I expected, but I hope it's shown you some of the power of TiddlyWiki (or offered some useful advise if you're already a convert).