Skip to main content

UI Mockup for Instant Notebook Generator

The instant hexcrawl notebook generator application project thingy now has a mockup for its user interface. 
It also has a (temporary?) name, so I can stop saying "instant hexcrawl notebook generator application project thingy". 


Because it populates hexes. And it's very excited about that fact. Get it.

Just a mockup right now -- I still have to make the clicky bits actually do things -- but I now have a good idea of how I want the application to function. It also makes it easier to divide up coding tasks for me and the couple of friends who've offered to help.

Decided to follow the general look of the Google+ interface, since I figure most users of this app would be familiar with that.

So, how I imagine the basic workflow, from empty project to POD-ready PDF notebook:

1. Hex Map

On that screen above, input/import all of your hexes, their terrain type, and whose territory (e.g. goblin, dwarven, House of Hearts) the hex belongs to (if any). Input will be a list of comma-separated details, in the format: coordinate,terrain,territory



Since there will be so many hexes (it's not unusual for a hexcrawl to have hundreds of hexes) it should be quicker & easier to enter the hexes this way than one by one via a GUI.

(Edit: Doing it this way also means that people can use Excel or Google Sheets to create their huge list of hexes, export as CSV, and pop it right in.)

2. Tags

Will write another post later detailing how random tables will work in HexPop!, but for now, think of tags as filters that are applied to rolls on random tables. So, for example, the app would have a single random encounter table of all of the creatures in your campaign. But the "forest" tag can be used to limit the results from the encounter table to only "forest" results.
The "Terrain Tags" and "Territory Tags" will be automatically pulled from the list of terrains and territories in the hex map you entered. "Other Tags" will be where the user can add their own tags.

3. Tables

Now we add (or import) all of our various random tables.
At the base level, each Table will have a code, e.g. [[ENCOUNTER]], [[KEY_NPC]], [[MAGIC_ITEM]]. Table entries will be able to reference other tables, e.g. "wants to kill [[KEY_NPC]]". When all the rolling happens, you'll end up with random results, referencing other random results, referencing other random results, etc. This is what allows for a few tables to give a wide variety of results across our hundreds of hexes.

(Note: The Hex Map is also a table that you will be able to reference as [[HEX]])

Also planning more advanced things for Tables: "static" entries (their [[TABLE]] references get rolled once, same result is kept from that point forward), tables that can automatically generate their own new entries, limits on the number of times a table result can be rolled, the aforementioned Tags.

4. Hex Definition

No new screen for this. But, now that we have our random tables added, this would be a good time to go back to the "Hex Definition" section of the "Hexes" screen. This is where we define what will actually be rolled and described for each hex. An example:

  • [[LANDMARK]]
  • Wants to [[NPC_GOAL]]
  • Is carrying [[SEARCH_THE_BODY]]
  • Contains [[TREASURE]]
Later, we will determine how these will be formatted for print. For now, we're just making a list of the bits-and-bobs that should be decided for each hex.

You will be able to override the Hex Definition on specific hexes if you want to manually enter your own contents.

5. Templates

Here's where we decide what Tables (including the Hex Map) will have their results printed in the book and how they'll be formatted.
Each Template is attached to a single Table. In each Template, you'll select which bits of information should be included, how they should be formatted (e.g. header, new line, continue on same line as previous), and how much note-taking whitespace should be included after each table entry.

Also thinking of including "special" templates that can be used. Examples: print the Table as a typical "random table" (dice rolls, results), print as a "square map" ala the back endpapers in Frostbitten & Mutilated.

6. Books

Final assembly of your notebook[s]
Split the results out into one or more notebook[s]. So you could, for example, have all of your hex contents in one notebook, all of your NPC, magic item, village indexes in another notebook, and be able to have each open to separate pages for convenient simultaneous referencing.

Choose print size for each Book. Decide what Templates will be included in each Book in what order. Not on the mockup yet, but I'll probably also have a widget for selecting images for the front and back covers of each Book.

Finally, click the Play button. All of the magical random table rolling happens, Templates gather all of the results, and out pops ("HexPops!"? eh?) a PDF file for each of your notebooks. Ready to be uploaded to Lulu (or another Print-on-Demand service), printed, and shipped to you and your gaming table.

(Note: The direct-to-PDF part is gonna be difficult. My weekend project version used PrinceXML to convert HTML + CSS to PDF. Super easy, understands books, good results. Also, expensive as hell for a commercial license! The beta version of HexPop! might just output the HTML, CSS, and instructions on how to process them through the free, non-commercial version of Prince.)

Popular posts from this blog

Dungeon in a Cigar Box

This has popped up in several pictures I've posted.

This is the dungeon-in-a-cigar-box that I built. Absolutely nobody asked about this, but I'm going to write about it anyway.
Inspiration for this came from this CRIT KIT Kickstarter that I missed out on:

Stumbled upon that a couple months back and thought it looked cool. Portable box that functions as a dice tray, dice & mini storage, and modular dungeon. Thought it would be a fun project to try building myself.

Additionally, you already know I love some Dragon Warrior.

Thought I'd make my dungeon floor and walls resemble that.
Bill of materialsI picked up most of this stuff at Michaels. Any arts & crafts store likely has comparable items.

Wooden cigar box: & stick red felt: couple sheets o…

Let's auto-populate Voivodja!

Problem I have a 40x30 map of Voivodja to populate for my A Red & Pleasant Land campaign. 1200 squares. I brainstormed a little over 100 ideas for locations. I have 1100 squares that still need something in them. At least a seed of an idea. 
Available Resources Copies of AR&PL, Vornheim, Frostbitten & Mutilated, lots of other OSR books, and a Bachelor's in Computer Science. 
Solution  The beginnings of an app for auto-populating the contents for all of the hexes in a world. On the backend, I've written a basic text templating and random table rolling engine. I've given it a huge data set of useful random tables from the various OSR books I own. Where appropriate, results in random tables recursively reference other tables, which reference other tables, which references other tables, etc.

Pass in a seed file of hex coordinates mapped to terrain types, an optional file of "Named NPCs", and it will spit out an A5-sized PDF ready to be printed as a coil-bound…

A Simple Resource Management System for Into the Odd

Rules without the commentary available here.

My mind is still on resource management systems. 

Into the Odd (ItO) doesn't have one and, to be honest, doesn't need one. Plenty of tension to be found via description rather than tracking individual rations. ItO is lightweight, fast, and runs great if you simply assume that, as written, the expedition always has food, water, light, camping & climbing equipment. 

So why bother with managing resources? 
Character customizationLike with Ben Milton's new Knave (, I like the idea of a character's role being determined by what kind of equipment they are carrying. Want to be a "fighter" in a classless system like ItO? Carry large, powerful weapons and wear armor. Want to be a "magic user"? Carry lots of Arcana (or spellbooks). A "specialist" (to use the LotFP term)? Carry lots of tools, poison vials, flashbangs, etc.

But customization like this works best if there is a l…