Saturday, February 3, 2018

LOTR Style Wilderness Travel



I've been reading my copy of "The One Ring" RPG, by Francesco Nepitello, and I found a real gem about wilderness travel.

In Lord of the Rings, overland travel is a big deal. There is no teleportation, or airships (actually, there are in the Silmarillion), or other forms of fast travel. Instead, journeys can take months. In fact, the rulebook states that a party ("company") of adventurers ("companions") usually only get one big adventure per year, and the characters will take an entire season off (usually winter).

Party Roles

The party of characters are encouraged to take on individual roles:

  • The Guide. Responsible for navigating the party, maintaining food stores, setting up camp, general maintenance, tending to the horses and wagons, and so forth.
  • The Pathfinder. This one is actually called the "scout", but I feel "pathfinder" is more appropriate as they're responsible for finding a path for the party to follow. They're also responsible for finding a suitable camp site, and responsible for traversing the party over perilous paths (steep cliffs, thick underbrush, through swift-flowing water, etc).
  • The Scout. Actually called the "look-out", but again, I felt scout was more appropriate. They're responsible for watching out for possible dangers, such as nearby monsters, bad weather, predatory animals, etc. Works well with "night watch" roles.
  • The Huntsman. Responsible for hunting and gathering food, locating drinkable water, and somewhat defending the camp from wild fauna. Can also be responsible for tracking and the like.
What makes these roles so fun is what comes next.

Dangerous Journeys

Because travel takes so long, the party will occasionally make fatigue rolls along the way. This is sort of like an encounter roll that the Game Master would make, but instead success & failure are determined by how stalwart the characters are. The difficulty and frequency of these rolls can depend on several factors, such as the overall terrain, how lawless the land is (there's a spectrum from "freeland" where cities reside to "border lands", "wild lands", "shadow lands" and "dark lands"), and the current season of the year.

If one of the characters fails their fatigue roll very poorly, the travel montage "zooms in", and changes to, a "hazard episode".

Wilderness Hazards

A hazard episode is basically an encounter--except hazards don't have to include NPCs. Instead, the party could face a raging river, or poor weather, or become lost in the woods, or stumble across a nest of carnivorous beasts.

However, what makes the LOTR hazards fun is that they're related to the failing character's role. For example, if "the pathfinder" failed their fatigue roll, the hazard the party faced would somehow be related to them failing at their duties (e.g. getting lost, or being forced to bed down in a poor campsite, or the party has to take a costly detour).

Each role has some example hazards, which I thought were pretty cool. Here's some examples:

  • Guide Hazards: Lost direction, uncomfortable lodgings, lost supplies, spoiled food, neglect that leads to wear and fatigue of the party.
  • Pathfinder Hazards: Dangerous path, slow detour, dead end, path leads into a nest of dangerous creatures.
  • Scout Hazards: Neglected to notice approaching bad weather, surprised by ambush, believes misleading information, misses a valuable treasure/area.
  • Huntsman Hazards: Rouses interest and is hunted by predatory animals, cannot find enough food, feeds party spoiled/poisonous food.
 The party can band together in an attempt to overcome these hazards, as well. If no characters take on the challenges of the roles, the fatigue tests will automatically fail, and things go south from there.

Conclusion

Though the book doesn't really say whether hazards are supposed to be played out as an abstraction, or in more details (like a combat encounter), I can see how each hazard could be treated like a mini side quest in their own right.

Another idea would be to have positive "hazards", perhaps called "events" or "opportunities", which could be friendly or positive events that may lead to mini side quests. Examples could include: finding a lost village in the wilderness, scoring a larger-than-average amount of food, discovering a bandit's hideout (which could lead to the party ambushing them, or stealing their loot).

Thoughts?

Tuesday, January 9, 2018

How to Remove Unused Hidden Images From LibreOffice 5 Writer Documents

As a game designer, I've spent years writing. My application of choice has been LibreOffice, which is surprisingly versatile. But, despite the massive community behind it, the software is not perfect.

Digital Crud

One issue I've noticed over the years of writing is the accumulation of my writer document's growing file-size. I've noticed that as I added and took away images (for both backgrounds and inline objects), the images didn't actually go away. They disappeared, sure, and couldn't be seen; but they were embedded somewhere inside the document.

Cleaning the Crud

The process below will show you how to perform some "digital surgery" to an ODT document and remove unwanted graphics that could be taking up valuable memory/bandwidth.

1. Backup Your Files

Because we're going to be altering the document in a round-about-way, its very easy to mess up, which will result in LibreOffice branding your file "corrupt" and refusing to open it. So, backup everything important encase you have a misstep.

If you botch the process, LibreOffice will refuse to load the file. If this happens to you, as far as I know, you have to start over with a new copy of the file.




2. Rename the Extension to .zip

An ODT file is actually just a collection of other files (an archive). If you rename the ODT file with a ".zip" extension (e.g. "document.zip"), you can use a zip program such as Winrar to open it up.


3. Find Unwanted Images

Inside, you'll find several directories (folders), XML files, and other important documents. You'll also find a "Pictures" directory. Open that folder and inside you'll find every image used inside your writer document.

If your goal is to remove images that are no longer used but still embedded, you'll need to go through each image and deem whether it should stay or go. But don't delete anything just yet! Instead, when you find a file you don't want anymore, right click on the file and choose "Rename". This will open a prompt with the filename; which you can easily copy and use in the following steps. Copy the names verbatim, because any misspelling will result in an error.


4. Open styles.xml and manifest.xml

If you simply delete the images and call it a day, LibreOffice will consider your document corrupt. So, we also have to remove any mention of the files ever being there.

Open the styles.xml and manifest.xml (found in the META-INF directory). XML files are just text files, so opening them in a text editor should suffice. Be aware that these files may be quite large in size (several megabytes), which may require a robust text editor to handle them properly. I prefer using Geany because it's open source, free, and has a robust "find" feature.




5. Find the image entries and remove them

In both documents, press CTRL+F to invoke the find feature. Paste the filename of the image you wish to remove into the text field, and click "Find" or "Next" to locate where the image is mentioned.


There may be multiple entries of the image, so be sure to search the entirety of both documents.

In the styles.xml: The image is mentioned in a XML <draw:fill-image/> element. If you don't know or understand XML; that's okay. Simply copy and delete the following:

<draw:fill-image draw:name="ImageName" draw:display-name="ImageName" xlink:href="Pictures/FileName" xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad"/>

Where ImageName and FileName will be specific to your document. The exact code may be slightly different than mine, but the main point is to remove everything in-between "<draw:fill-image" and "/>" (including those text).

Remove it all, then save the document. It'll ask if you want to update the styles.xml file. Say Yes.




In the manifest.xml: The image is mentioned in a XML <manifest:file-entry/> element. Remove the following code:

 <manifest:file-entry manifest:full-path="Pictures/FileName" manifest:media-type="image/FileExtension"/>
Where FileExtension is the extension of the image (e.g. png, tif, gif, etc.). Remove it all, then save the document. It'll ask if you want to update the manifest.xml file. Say Yes.


6. Delete the Image File

Now that we've deleted all entries of the file, its safe to remove the burdensome image. Permanently delete the image from the archive.


7. Repeat Steps 3 Through 6 For All Unwanted Images

The above steps should be repeated if you have multiple images you wish to delete. Once finished, proceed to step 8.

8. Rename the File Back to a .odt Extension and open the document

If the surgery went well, LibreOffice should open up the document normally and be none-the-wiser about what happened, but a whole lot lighter (file size-wise).