Wednesday, August 31, 2011

New Generator & New Function

The fourth random generator has been created for This time its all about magic scrolls for the Pathfinder RPG game. This version of the generator includes all core spells (with a couple of purposeful exceptions), and I've left slots to plug in the expansions. The generator generates a random minor, medium or major scroll for a random class (wiz, sorc, cleric, druid, bard, paladin, ranger), lists the spell level, costs and caster level for each spell on the scroll, and if there are multiples spells on the scroll it will list the total value of the scroll. Lastly if there are any notes affecting the final cost of the spell, those are displayed as well.

I didn't cut any corners here - I wanted the costs to be accurate. My buddy John (Mr. two-time-silver-ennie-winner) who runs d20pfsrd and his crew have done such a great job of organizing that I was able to factor the "expensive spell components" costs into scrolls as well. So yeah, all those crushed up diamonds and rubies should be accounted for.

The other neat thing that came out of this is a brand new function that has been added to the dxContent generator language. The function is {D20PFSRDSpellLink~spellname}. Its a simple function to use and a handy tool for your generator building tool kit. Its only purpose in life is to convert a SRD spell name into a d20pfsrd HTML hyperlink. so you pass in "Cure Critical Wounds, Mass" and you get a hyperlink to the top of the Cure Critical Wounds page.

Keep on [random favorite past time]ing

Saturday, August 27, 2011

Fantasy City Block Generator - The details

It's taken two weeks to pull my latest generator together and it is by far the most complex to date. Here's a link to the City Block Generator if you can't wait for the end of the blog.

Thanks for staying with me for those who want all the gory details on what this new generator can do. If you've ever attempted to detail a fantasy city, you know the huge undertaking it can be. From concept to map to detailed notes can be a lengthy labor of love. I've dreamed of this puppy for a long time. This is not a generator that tells you how many people and what PCs are present... this one tells you all the nitty-gritty details, block by block, building by building, floor by floor.

To start it asks a number of questions (with the goal of fitting into a city concept you've already started).

  • First it asks you for a simple district index... I find (as do other DM's based on web hint/tips) that if you break your city up into identifiable districts, its more manageable. So this is the first step in building you text key. For example if you have a "North Merchant District", assign it a letter (like "A" or "NMD")

  • Next it gives you an option to name the street (if you already know it) or to generate a random name for you.

  • Next you can choose a street type:

  • Straight (or generally any typical street with buildings on both sides - straight, bent curved or otherwise) where a block represents two sides of a street.

  • Circle - for those circular streets where instead of "blocks" you'd have "sections" around a hub.

  • Square - like the Circle, but terminology reflects a city "square" like a large open plaza.

  • One-sided - like a "straight" street, except one side of the street is adjacent to some feature (like a castle wall or a river) where no structures could be built.

  • For straight or One-sided streets, you can specify a general direction - this enables the output to designate something like "Main Street: North side" and "Main Street: South Side"

  • You then tell the generator how many blocks (or sections for circular or square types) to generate at a time (up to 6). So if you have short street with no intersections, on block ought to do it... but if its a fairly long street, you can increase the number.

  • Next comes "street class" - at this time you get "Alley", "urban normal" and "rural normal". Not much is generated for "Alley" except the occasional business that might just be tucked away in the cities underbelly. "Urban normal" is where the tallest structures and the most dense city details are fleshed out. "Rural normal" features fewer stories and more greenery.

  • Next you can specify retail, industrial or residential as a general guide as to what business to put (or not put) on the street.

  • Next comes an option to include random d20 DC values to open or break doors.

  • Finally you can specify an "Economy" level which basically affects the frequency of abandoned or vacant structures.

Then the magic of dxContent takes over and spits out some general details about the street, before diving into a block-by-block break down of the street - you'll get a mix of tightly "row" type structures as well as larger structures with green space around them.

Next comes a building-by-building (complete with construction information, number of floors, map key and dimensions, and notes on how upper floors are accessed). Finally a floor-by-floor break down tells you what business is present on the first floor and uses/occupants for upper floors.

I utilized a number of web resources to give you a comprehensive lists of businesses and industries. I felt that had to be the main backbone of the whole thing, if it didn't generate a realistic representation of the businesses you'd find in a typical fantasy city it wouldn't have much value at all. Anyway... you have to see it to appreciate it. I sure hope you take the time to check it out at

Thursday, August 25, 2011

More Bug Squishing & The Cloud

I discovered and fixed a bug with saving to the cloud while working on the next generator. The bug details are boring, but I thought talking about how dxContent makes use of the cloud would be helpful.

Most of us use regularly use at least two "computers" - maybe a home desk top and a smart phone, or a laptop. Its also been my experience that lap tops are pretty much as common around the gaming table as dice (and now tablets too).

Well, one of the neat things about dxContent's Table Runner tool (the tool that lets you make your own generators) is that it can use both your browser's local storage (short term / temporary) and our web database to store your generators (long term / permanent).

Temporary local storage is great for incremental tweaks to generators you are building / developing. Its fast, efficient and you can close your browser, return to it and your work is still there (one goal is to make it an offline web page too - but that's another day). Its a great "sandbox" to rapidly edit your creation. When you're ready to permanently save, or need to switch computers you can save to the cloud. For example, I like to work mostly at my desktop. But once it gets late I enjoy propping up some pillows getting in bed and using my iPad to continue creating - and if i fall asleep no big deal. If I'm at the mall and the wife is still shopping, I can haul out the smart phone and continue creating.

At any point in your process, you can distribute your generator - you can embed it in web pages, stick in the dxContent generator library, and even link to it.

So, Ive tried to give my fellow DMs inspirational generator tools they can take and use anywhere.

Enjoy your next [FavoriteRPGs] game!

Friday, August 19, 2011

NEW - Intelligent Magic Item Add-on random generator

Today I put up a new generator for Pathfinder fans. It randomly creates "add-on" packages that you can then apply to a normal magic item. It does all the tedious work for you... calculating additional gold cost, Ego Modifier, Alignment... etc.

Oh hell... why tell you when I can just show you. Go here.

I had to take a few liberties with the generator...

  1. I had to arbitrarily assign some probabilities to which Attribute, Sense, and Communication options were generated. The least expensive items are more common, but not so common you'll never see the "good stuff".

  2. Pathfinder rules don't give you a hard % chance of weapons having a "Special Purpose Power" - so I made it 50-50.

  3. Pathfinder rules don't give you any kind of break down on the exact chance of having multiple Intelligent item powers... so I came up with 85% 1 power, 10% 2 and 5% have 3.

  4. Pathfinder rules also don't give you the % chance of an intelligent item having a Dedicated Power - again I made it a 50-50 chance.

  5. If you don't get a Special Purpose power, but do get a Dedicated Power, I had to make a decision. The very first core result for Dedicated powers can give you a special ability to detect any special purpose foes (which come form the special purpose power). So in this case, I just generate a creature type when no Foe was previously generated.

  6. Lastly I removed the "choose one" option from the intelligent item purpose power - I figure the point of the generator is to create and present ideas for you to consider - you can always tweak and "chose your own".

Other than those caveats, it should me "mostly core". I though about coding in the ability to set your own percentages, and even plug in your own "Gods" list... but that involves input fields and I'm always hesitant to slow down the process like that... anyway, we'll see what you all think and make adjustments that prove popular.

Have a [RandomQuality] day.

Wednesday, August 17, 2011

I wish I had a flux-capacitor...

After building a dozen or so generators for the dxContent Generator Library and countless test generators, I've become unhappy with one aspect of Table Runner.

I'm not happy with the USES TABLES command. For those who haven't ventured into Table Runner yet, its a statement that lets the parser know exactly what tables the script will be calling. Its also important when DISTRIBUTING generators (Distributing is embedding generators in other web pages or making them available in the dxContent Generator Library).

Why am I unhappy with it? Its prone to human error. It's easy to forget to change the reference when you rename a table. It should all be key-based and happen automatically behind the scenes. Whatever tables I have loaded into Table Runner should just get linked with the script. When the future enhancement goes in that allows sharing tables across projects "linking all present" will be essential.

So, I'm looking to re-code some things so that the concept of USES TABLES all happens behind the scenes and frees the developer from the burden of writing it. If only I had Doc Brown's DeLorean - I could go back and warn myself (and catch a little MTV back when it really was MTV - but then I'd run into Biff and things would get messy I'm sure).

So this is the next big change for dxContent - not much "wow" for the end user, but important.

  • I've fixed a bug I found in the Generate~ function while working on the Dice Bag generator. the Generate function allows you to delay the creation of content until the user clicks on it.
  • I've tweaked the Log~ & LogNew~ functions. They were automatically putting a return after every update to the log... which is annoying if you want your log additons to be on one line. Its better to put the responsibility for returns on the developer (use {CR~}, {CarriageReturn~} or simply the HTML
    tag for that when you need to start a new line).

Saturday, August 13, 2011

I've just added a much needed tutorial to the Table Runner tool. The sample generators you can run are also a good start to jump in with out any "reading"... but the tutorial takes a big step in helping you get from basic generator construction to something more complex.

Friday, August 12, 2011

There was a snafu with the web hosting tonight. Earlier in the day I went to do some administrative work and found an issue. Support worked on it and then later when I went to check, the site was down. Hopefully this will be resolved soon.

In other news, I've codes some fixes for the save to cloud feature, and discovered a minor issues with the import functionality.

Last night I put a Dwarf Name generator and a Pathfinder Magic Weapon generator into the generator library. I think the more complete the library is the more ideas people will get as to what can be done with the Table Runner tool.

Wednesday, August 10, 2011

I've started working on some utility type generators to put into the library - what better way to hunt for bugs right? Well, sure enough I found some in the If~, IIf~, and While~ functions. Those three functions have given me repeated headaches throughout development.

despite the bug hunt I was able to get a couple of generators into the library so at least it is no longer empty. Check out the Plot/Encounter ideas and High Elf Names generators!

Oh, and i also found and fixed some bugs in the library.

Monday, August 8, 2011

New features - Generator Library Infrastructure

Tonight was a good night - Ive finished all the phase I major coding on The features that went in tonight allow generator builders to put (distribute) their creations into a library of searchable, categorized generators.

Non-developers will now be able to take advantage of what will hopefully be an ever growing library of random goodness! They can "favorite" and "un-favorite" generators they find to make finding them again easy.

At the moment this doesn't give anybody anything useful because the library is empty, but that is now my next goal, to recruit generator developers and or add my own creations.

Saturday, August 6, 2011

Long development day

I had hope of fully coding the public generator area today. But instead I got started on a feature that allows you to store your scripts/tables in project directories. I ran into some issues with the Save to Cloud and Load From Cloud features after adding the new stuff. It was like shooting myself in the foot because it took me a lot longer to sort out than I'd expected.

But the good news is that projects appear to be working and that should go a long way to helping generator developers stay organized.

In other good news I had the first person sign up today!

Thursday, August 4, 2011

Welcome to

First a little background...

If you've ever played D&D or a game like it your aware there are lots of cool charts in the rules for generating random things like treasure, encounters, and even the population and attitude of cities.

It was natural evolution for these pen-and-paper charts to get automated. You can find tons of game related random generators on the web - random name generators seemingly the most common. These are neat and handy tools for the taxed gamemaster.

One of the coolest tools I ever used was some PC based shareware called TableSmith by Bruce Gulke. Not only did it come with ready made generators, but what set it apart for me was the ability to customize or make my own generators.

What I really liked most was the random association of ideas that you might get from typically unrelated things. These sparked imagination and often lead to new plot ideas or one of a kind magic items that helped me develop a memorable world for my players.

Take this result for example:

"PCs are possibly ambushed by...


Behavior: Seeking revenge for alleged crime

In an generally urban area.

Features: Religious (chaos) crypts"

Its just dripping with ideas. What was the crime? How does it tie into the crypts? How might the players get tangled up in it all? You see, its good food for thought, and it helps you as a gamemaster avoid the same basic plots you might gravitate to.

Same with random magic items, A Darkwood quarterstaff with the Anarchic special abilities conjures up a vivid image of the villain that would wield it.

Now let me tell you what dxContent is...

1. dxContent is browser based (cross-browser at that!) When I got my iPad I was disappointed that i could not find a random generator app to use in my Warhammer Quest games. I didn't know how or even want to build an iPad app but I did want to build a web site anyone could use from any mobile device.

2. dxContent's Table Runner software allows you to make your own random (or as i like to call it procedural) generators. The syntax for nearly all the functions are similar to TableSmith, but I would not say the two are "compatible".

3. dxContent will also be a community of table generators sharing their creations and collaborations in a dxContent generator "library".

4. dxContent is FREE. My goal is to cover hosting costs through unobtrusive google ads (feel free to click!).

5. dxContent Table Runner generators can be embedded in any site!

Enough for now, let me know what you think!