Make a random generator

Write lists on the left; results show on the right as you type. How to write one · All generators

Results

seed 0

    Your generators on this device

    How to write a generator
    output then indented lines
    A list is a name on its own line with its entries indented under it. The list called output makes each result (or write $output = [something] on one line).
    [animal]
    A random entry of the list called animal. Entries can use other lists, so results build up.
    Nested lists: an entry with entries under it
    [animal] picks through every level; [animal.bird] picks only from the nested list called bird.
    cat ^2
    Odds: twice as likely as an entry without them; ^0.5 half as likely, ^1/10 a tenth, ^0 never.
    {big|small|tiny}
    Pick one inline; options can carry odds too: {big^3|small}.
    {1-6} {a-z} {2d6+1}
    A whole number, a letter, dice.
    {a} {A} and {s}
    "a" or "an" to fit the word after it; an "s" unless the number before it is 1: {1-3} cat{s}.
    [animal.titleCase]
    Also .upperCase .lowerCase .sentenceCase .pluralForm .singularForm .possessiveForm .pastTense.
    [animal.selectUnique(3).joinItems(", ")]
    Several at once: selectMany(n) may repeat, selectUnique(n) never does, selectAll takes every entry.
    [hero = name, ""] then [hero]
    Keep a pick and say it again later; the "" keeps it quiet the first time.
    [deck = card.consumableList, ""] then [deck] [deck]
    Deal without repeats until the list is used up.
    wizard ^[gender == "female"]
    Odds worked out at each pick: true counts as 1, false as 0, a number as itself.
    [names[gender]]
    The nested list whose name is the value of gender.
    [if (level > 10) {A veteran.} else {A rookie.}] and [level >= 15 ? "Legendary" : ""]
    Choose by a condition: == != < > <= >= && || !, and sums with + - * / %. Only the branch taken is picked from.
    $inputs with gender = select female|male, level = number 1-20, nick = text Shadow
    Choices shown above the results; use them like kept values: [gender].
    animals = {import:abcdefgh}
    Use a published generator: [animals] is its result, [animals.bird] one of its lists. The id is the end of its hub link.
    $meta with title = ..., description = ..., image = <gallery id>
    How its published link looks when shared; the image is a picture from the public gallery.
    {wheel: food}
    A wheel of the list's entries (their odds are the slices' sizes) that spins to the one picked; the result says it too.
    $layout = cards
    How the results are laid out: lines, cards (the first line is the title), grid (small tiles) or table (columns split by | ).
    [shared.visits], {add: visits}, {set: last = [food]}
    A published generator's shared data: everyone using it reads and adds to the same small store (20 keys, short texts). Only the published text writes; your edits do not.
    {ai: a one-line motto for a [guild] guild}
    A few words written by Verse's free language model from your prompt (lists work inside it); the same result keeps the same words. At most three in a result.
    .presentTense .futureTense .negativeForm
    "walked home" becomes "walks home", "will walk home", "did not walk home".
    Tap a word
    In a result, the dotted parts came from a list or a choice: tap one to roll just that part again.
    image
    A list called image is a picture prompt: "Picture it" sends it to the image generator.
    $title = My generator, // a comment, <br>, \[ \{ \| \s
    A name, a note to yourself, a new line, and the characters themselves.