Friday, November 7, 2014

ENTER THIS CONTEST! Make A Widget On Twine Or Whatever

So I made this, it's terrible…

…so why did I make it? Just to prove a point: here's a widget that generates random 3d6-in-order ability scores and walks a person through character creation and I made it in like fifteen minutes with zero programming skill using a thing called Inklewriter and the advice here. There are also ways to make it so certain options or ideas appear or disappear depending on whether you've passed "key" screens and to insert pictures and whatnot.

If I'd put a little more work in, I could actually plunk a new-to-D&D player down in front of the screen while I went and fished out dice and minis for them and they could make their first character for any edition with all the bonuses and thief percentages and spells and whatever. I can also see this interface being used for:

-Character lifepaths

-Interpret-the-picture style puzzle challenges

-Giving players characteristics or class/race based on hidden rules (i.e. like What Voltron Lion Are You?--style quizzes)

-Dungeon modules (click the option the players took instead of trying to find a page in a book)


So that point I was making is: there are several easy-to-use online story/text-game-writing tools that you  can use to make stuff that might be useful at a game table instead of for their original purpose.

Another one is Twine...

Since I managed to almost make a decent character generator and all I'm trained to do is rub colors into paper and jiz on people for money, I bet you'll be way better at this than me. So I am announcing the…

D&D With Porn Stars Official Digital Widget Contest

Due Date:

December 4th (but there's a bonus for turning your widget in early, see below).


Signed copy of Red & Pleasant Land goes to the winner.


  • What you make is supposed to be a useful tabletop game tool, not a game or story in itself. Edge cases acceptable.
  • Enter as many times as you like.
  • Tools can be for any tabletop RPG but since I'm the judge I'm probably biased towards ones I like.
  • You can make your widget using Inklewriter (some tips here) or Twine (available here--a little more complex instructions here) (some tips here and advanced tips here) or any other program you like so long as I can make the final product work on my mac.
  • Your widget cannot be extant and available on the web as of yesterday (i.e. no submitting old stuff)
  • More info about how to do things available from the RPG community here on Google +--add me if you haven't. (Not necessary to enter the contest).
  • Submit your entry by emailing me: zakzsmith at hawt mayle. If you don't email me, it does not count.
  • Entries will be judged by me on the following criteria:
  1. Usefulness: 1-100 points. How likely would I be to use this at the table for a game? Does it duplicate something already available or is it genuinely new? Do the writing and pictures (if any) make it more useful? 
  2. Speed of Entry: 1-27 points. For each day (Pacific time) your entry is received before December 4th you will receive an extra point. So if I receive your widget on December 3rd you get one bonus point. If I get it today--Nov 7--you get 27 bonus points. 
  3. Attractiveness: 0 points. Does it look lovely? If it doesn't make the thing work better I don't care. 
  4. Dorkness: Negative 100 points. Oh my god your widget is actually a Turing Test! How cleverly you have subverted the contest paradigm! If you do anything that tries to be funny but actually just makes the widget less useful you will end up with negative points which means I have to come to your house and take whatever you value most away from you. Exhausting for everyone involved.
  • Special Handicap Rule: Fancy smart actual programmers are totally allowed to enter with super-advanced widgets utilizing skill and programs far beyond that available to the average blogger. However, if this results in one or more stunning Lebron-shows-up-to-the-playground entries, these will be judged separately and I will award both "n00b" and "Jawa" prizes
Uh, I think that's it, you can ask questions here or on Google+.


  1. Ok, I don't know if this counts, but I threw this together using Google Tour Builder. Probably not what you had in mind, but I figured what the hell. Anyone using this will need to first install the Google Earth plug-in for their browser:

    Bitterroot: A Swords & Wizardry Wilderness Adventure for Low Level Characters

  2. I'm all up on this, but I'm a little discouraged. Not because Twine is hard to use (it's pretty simple) but it's tough to come up with a utility that fits your criteria.

    1: We want something that will get used at the table either regularly or, if rarely, takes up so much time that automating it really helps.

    2: It needs to be something that the user makes extensive choices for. Otherwise it's just output from Abulafia, which does the job very well. For example, a treasure or dungeon generator, or a list of hirelings available, or the contents of a shop.

    3: It also needs to be something that no other user needs to have input on. For this reason, a Thief Downtime Heist utility would be problematic, because the DM would probably want to play through that challenge.

    4: The utility needs to do complex work quickly - if the burden of using a computer instead of paper and dice is higher than the time savings of using the computer, nobody will use it. An example would be a Hireling Morale Tracker, which would require extensive data entry to build a mental state for the hireling - when the DM can probably suss it out instantly and throw a modifier on a morale check on the fly. Similarly, a timekeeping utility that let you add events that occur at certain times would be nice - but a DM can usually keep track of all that with scratch paper or even a nice printed time sheet.

    5: The interaction between the user and the utility needs to not detract from the experience of the other gamers. For example, a Familiar Tomagotchi could be a cute thing for the M-U, and nobody cares if he's cleaning up its poop right, but if the utility features cool things going on it's fun for everyone else to see that happening. Like if your familiar ate a bad mouse and he's gassy, or he was checking the expiration dates for your spell component pouch and dropped it by a mean dog and needs your help getting it back. Then again the tool needs to not consume too much of the user's time and distance him from whatever the rest of the group is doing.

    A character generator is perfect. It's a well-defined path where the player is the only one with input. It's complex and done infrequently. It only speeds up the process without impacting the game otherwise.

    Maybe part of the problem I'm having is that after so many years, we've developed pretty good analog methods for handling all of these tasks at the table, which makes a switch to a digital tool a harder sell. And after so many years of development, there are good digital solutions for a whole lot of tasks. See

    I'm still going to be thinking about this, and I hope I come up with a good enough idea in time!

  3. Well said 1d30. I am also a bit struggling with the setup. I do actually have an idea, but to make it shiny, the widget should be able to accept user input (by typing, not by clicking an option). I have not looked deeply into the abilities of inklewriter or twine yet, but at first glance this doesn't seem possible.

    Ah well, maybe I will just do a small thing to portrait what I actually had in mind ...

  4. I decided to go a bit evil here and have created a tool that constructs villains for fantasy, horror & sci-fi games.

    I'll be dropping it in an email too, but can't hurt to get it out there more widely. inklewriter is fun.

  5. @piles
    If you give someone an on-screen keyboard, they can click the letter and in your code have it add the pressed letter to the string that it displays in the "this is your word that you're typing" box. It's a laborious workaround, but c'mon, we're people who figure out how to drag copper pieces out of dungeons.

  6. @1d30: Thanks. Will look into it

  7. I'm sorry, I could have made that clearer. What I meant is, let's say you store a variable for your text string. Your page has a place where it shows that text string. At the start it would be empty.

    Then in the same page you display a list of letters and numbers. When you click a letter, it adds the letter to the end of your text string.

    Your destination links would need to somehow understand, so if you typed "north" instead of "south" you would go to a different destination page. Then again, I don't know how you're using it - you could get away with storing a bunch of these strings and then using them later since they're still stored.

    Also I'm unclear on how long the thing stores your variables. What if the user comes back later? Is it in a cookie? This could affect the user experience.

  8. Ah, right. Yeah, I thought of that as well, but found that a bit too much. Especially if you would like to have several user inputs; a different page for every input etc.

    I think for such a thing you would need a different platform, or inklewriter should expand on the utility.

    Anyhow, I am still tempted to show a fixed input idea. I 'only' have to find the time to set it up ...

  9. Didn't find the time to build something. I had the following idea.

    Recently I ran (an adapted version of) G1 and G2 and for this I prepared a monster roster: How many monsters (mostly giants) reside where. It was just a table, but I updated the table each session and moved the giants as I saw fit (mostly depending on the player's actions).

    During the sessions I would have liked a map of sorts with audio-connections between the locations (rather than physical connections), to see which opponents would hear the battle, whispering etc.

    So, for the contest I was planning to build a dungeon with for each room links to locations within hearing distance at different noise levels (whispering/walking, talking/searching, shouting/battle). I was even thinking to have the possibility to transfer the monsters from one to the other.

    But alas, time overtook me.