• Welcome to the new COTI server. We've moved the Citizens to a new server. Please let us know in the COTI Website issue forum if you find any problems.

TiddlyWiki for Traveller

nickgark

SOC-7
Over the last few months, I've been working on a plugin for TiddlyWiki that supports the use of TiddlyWiki for storing library data in a form that makes it easy to give to players as an in-game resource.

For those who haven't come across it, TiddlyWiki (http://tiddlywiki.com) is an open source single-file wiki (all of the wiki nodes are stored in a single HTML file) that requires only a web browser and can be used offline.

The plugin can be downloaded from http://games.gark.net/AAB/plugin.html , and there's an example of it in use at http://games.gark.net/AAB/

So far, it can render SVG subsector maps and system details; the example of use above should be able to show these off adequately (try clicking on the map in the Spinward Marches entry, and follow your nose).
 
This is really cool. I love seeing now approaches to presenting the data from the wiki.

The only thing I would ask that since you are copying some information from the Traveller Wiki, that you include a link back to the wiki in your copyright page.
 
The only thing I would ask that since you are copying some information from the Traveller Wiki, that you include a link back to the wiki in your copyright page.

Will do - I thought that I’d reduced the sample data to material taken directly from primary sources (mindful of the FFE fair use policy) rather than from the Traveller Wiki. Besides, the plugin’s the point, not the sample data.

(edited to add: I've now added a link to the Traveller Wiki)

I should note that one of the main drivers for this project was that, while the Traveller Wiki is a great resource for referees, it’s less good as an in-game resource that can be handed to players without further mediation by the referee (the inclusion of meta game information, and the mixing of canon and non-canon in many articles). It’s intended as a sandbox in which a referee can create library data for their players (adapted for their TU) without adding non-canonical information to the Traveller Wiki.
 
Last edited:
I should note that one of the main drivers for this project was that, while the Traveller Wiki is a great resource for referees, it’s less good as an in-game resource that can be handed to players without further mediation by the referee (the inclusion of meta game information, and the mixing of canon and non-canon in many articles). It’s intended as a sandbox in which a referee can create library data for their players (adapted for their TU) without adding non-canonical information to the Traveller Wiki.

That's a great idea. The hard part is the curation, both page selection and editing the pages. Every person I've spoken to who was asking about something similar has a slightly different idea of the list.

I've seen several attempts to make this happen in different ways over the years. This is the most complete version I've seen. Good Job.

And thanks for adding the link.
 
Thanks. What I've posted online is a small fraction of what I've been using for my games (for fair use reasons).

What I'd like is the ability to pull in articles from the Wiki so that they can be edited locally, but there no longer seems to be a MediaWiki-TiddlyWiki adapter in the current version of TW.
 
What I'd like is the ability to pull in articles from the Wiki so that they can be edited locally, but there no longer seems to be a MediaWiki-TiddlyWiki adapter in the current version of TW.

Given the utter mess of what passes for the MediaWiki markup language combined with the aggressive way which Wikipedia uses templates I'm entirely not surprised. I've seen a few attempts at writing MediaWiki parsers, and everyone seems to just give up on them.

I know enough about the mediawiki and tiddlywiki markup languages that I might be able to come up with a partial converter. But it would be a 30% solution.
 
Last edited:
The use of templates in MediaWiki is the bit that hurts the most, mainly because the template calls are embedded in pages, giving you an extra layer of cruft to parse and understand before you can start on the conversion. TW has a different approach, in that you can set up a template so that it's automatically applied to any tiddler with a particular tag; the drawing of sector/subsector maps and the system data tables in my plugin works on that basis, which means that the tiddlers containing the library data entries are quite clean.

I like the job that you did with the stellar data templates on the Traveller Wiki (storing the data in a separate page), and had originally contemplated a similar approach in my TW plugin, but ended up storing the data in the fields of each world tiddler (in TW, the text content of a tiddler is just another field). This means that I don't have a nice way of maintaining parallel sets of data for the different milieu (but then, that's not a use case for what I'm trying to do).
 
I like the job that you did with the stellar data templates on the Traveller Wiki (storing the data in a separate page), and had originally contemplated a similar approach in my TW plugin, but ended up storing the data in the fields of each world tiddler (in TW, the text content of a tiddler is just another field). This means that I don't have a nice way of maintaining parallel sets of data for the different milieu (but then, that's not a use case for what I'm trying to do).

Template are, in the MediaWiki world, a way of making very complicated things very simple. As an aside, did you know the MediaWiki template processor is a Turing-complete language. In the latest versions of MediaWiki, there is a Lua interpreter in there as well.

More specifically, the world data templates are there as a feed for an underlying data table (see Semantic Wiki) rather than the more standard text templates.

TikiWiki works more like the Semantic Wiki. You define fields, each with a specific meaning and set of data, then use the plugin to display the data. So if you are using more than one or two TikiWiki Plugins, any kind of converter will have to understand both.

I didn't see any limitations on how large a TikiWiki you can be. Do you know? There probably isn't a hard limit, but may be one based upon performance or the like.
 
I must admit that I haven't played around with TikiWIki, although I have a bit with SMW (admittedly from the perspective of consuming the data as part of my day job).

I hadn't realised that the Traveller Wiki uses SMW behind the scenes - it makes a great deal of sense.
 
I must admit that I haven't played around with TikiWIki, although I have a bit with SMW (admittedly from the perspective of consuming the data as part of my day job).

I hadn't realised that the Traveller Wiki uses SMW behind the scenes - it makes a great deal of sense.

Well, The Traveller Wiki uses a few parts of the SMW, but not the whole thing. If you have some experience with SMW and would like to see something done with Traveller or it's parts let me know. It would be interesting to see what other analysis can be done with that data. Part of this is about experience with the tools.

The big thing I'm interested in your TikiWiki experiment (both the public and private) is how you approached which articles you would select for inclusion. The Traveller Wiki now is all inclusive, and really too large to be use as more than an occasional reference.

What I like about your TikiWiki is the expansive reference has been reduced to, if published, about a 256 page campaign guide, but in an online editable format. Really about the right size to hand to players for their reference materials.

In thinking about what you said, the better approach may be to use Wiki markup (or SMW tools) to build a collection of articles (or parts of articles) and the export or extract that.

With that, I'm still interested in your approach to article selection.
 
TiddlyWiki, not TikiWIki; the latter is a conventional PHP-based Wiki that’s designed to be edited by multiple users, whereas TiddlyWiki is nothing but an ingenious hack based on a single file of HTML and JavaScript, and was originally intended as a highly portable personal wiki-based notebook. There has been some work on multiuser edits and federation, but those aren’t use cases that are driving it strongly.

I’ve been using it as something akin to a logbook, or for organising my thoughts about games that I’m running (a campaign notebook, effectively). As an example of how I’ve so used it, here are my notes for a series of CoC games that I ran a couple of years back: The Shadow Over Walmington

The question of how I’ve decided what to include in my Traveller TW is interesting, in that it’s been driven both what I’ve needed for my games, and by what TW can comfortably support. I’d had a previous attempt at a Traveller TW using the previous version of the software, which wasn’t entirely satisfactory because I had no principled way of getting world data into it. When TW5 came out, I decided to migrate/rewrite my code and make a concerted effort to use T5SS as the glue which could tie together the rest of the entries. This wasn’t a great success; the way that I use TW templates and macros for rendering means that TW struggles with much over a sector or two, let alone the 11,000 3I worlds and those of neighbouring states.

I’ve decided to keep the full gazetteer of sectors and subsectors, and only go down to system data for a) the sector in which I’ve set a scenario and b) “important” worlds elsewhere (capitals of large polities, homeworlds of major races).

On top of that, there’s some general framing that’s useful for players to help them understand the system data: explanations of governments, installations, tech levels and trade codes; information about allegiances and sophonts (minor races from the chosen sector, plus some background on all major races).

After that, I’ve tried to pull in general information about the organisation and history of the 3I, and for large neighbouring polities where appropriate. Basically, the sort of thing that I’d expect to find in a single-volume paper encyclopaedia or something like the CIA World Factbook. So, high level information on government and armed forces, diplomatic relations and history (conflicts, succession of rulers, etc).

Your characterisation of it as a campaign guide is spot-on, but I’m pitching this primarily at my players (and if it helps me get the background sorted out in my head during the process of compiling it, so much the better). What I want is something with enough breadth that there’s a little about anything they might be interested in, enough depth to satisfy most of their questions, and enough entries that I can hide plot hooks and clues for later use without them sticking out because the library data is too sparse.
 
Last edited:
I should add that I’ve also been contemplating adding some of the alien language resources into it so that it also does some duty as a very small phrasebook.
 
In fact, the more I think about this, the more I'm starting to think that I'm creating the unholy offspring of the CIA World Factbook and a Lonely Planet guide.

How easy it is to merge two TiddlyWikis?

The full gazetteer of sectors and “important” worlds (capitals of large polities, homeworlds of major races), some general framing that’s useful for players to help them understand the system data: explanations of governments, installations, tech levels and trade codes; information about allegiances and sophonts (some background on all major races, some important minor races). General information about the organization and history of the 3I, and for large neighboring polities where appropriate.

This would be part 1. Generally useful information and background for any campaign.

system data for the sector in which I’ve set a scenario, minor races from the chosen sector, information on corporations, government and armed forces, diplomatic relations and history (conflicts, succession of rulers, etc).

This would be part 2. Information specific to a sector, or equivalent area for the campaign. I have enough data in the Wiki to put together several sectors: Spinward Marches (obviously), Gvurrdon, Dagudashaag, Knoellighz (I would need to ask special permission for these last two)
 
At one level, merging TiddlyWikis is fairly straightforward; drag the html file for one onto another in a browser, and you’ll get an import dialogue that lists all of the tiddlers that are to be added. What TW doesn’t do is give you an easy way of comparing tiddlers of the same name to avoid conflicts, or merging individual tiddlers.

To make building my TW easier (particularly while developing the plugin), I’ve chosen to manage the tiddlers separately from the TW as a number of JSON files, each containing a number of tiddlers; I can build a custom TW by including or excluding files as desired.

I completely agree with your Part I/II characterisation; the JSON files that I’ve built are divided under on those lines. I’ll have a look at what I have so far and see what I can do to catalogue it all into Part I/II.
 
I must admit that I haven't played around with TikiWIki, although I have a bit with SMW (admittedly from the perspective of consuming the data as part of my day job).

I hadn't realised that the Traveller Wiki uses SMW behind the scenes - it makes a great deal of sense.

It looks good.

Shalom,
Maksim-Smelchak.
 
Okay, here's a list of the JSON source files for my TW, and the titles of the tiddlers that they contain: http://games.gark.net/AAB/report.html

As you can see, about half of the entries are those for subsectors, the majority of which have no text (although the templates in the wiki will fill out some links to the containing sector and to neighbouring subsectors).
 
Okay, here's a list of the JSON source files for my TW, and the titles of the tiddlers that they contain: http://games.gark.net/AAB/report.html

As you can see, about half of the entries are those for subsectors, the majority of which have no text (although the templates in the wiki will fill out some links to the containing sector and to neighbouring subsectors).

Thanks for this. It will take a little bit to dig through the TiddlyWiki setup, but this looks like a great start to thing.
 
Back
Top