JavaScript must be enabled to play.
Browser lacks capabilities required to play.
Upgrade or switch to another browser.
Loading…
<<nobr>> <<set $syllableCount to 5>> <<haikuLine>> <br> <<set $syllableCount to 7>> <<haikuLine>> <br> <<set $syllableCount to 5>> <<haikuLine>> <</nobr>> [[new haiku|haiku]] [[back|start]]
<<nobr>> <<set $fillerWords to ["the", "of", "some", "many", "few", "that", "this", "which", "from", "for", "therefore", "because", "is", "will", "was", "both", "all", "none", "each", "what", "how", "these", "those", "every", "any", "either", "neither", "much", "whose", "did", "so", "whom", "became", "does", "can", "won't", "shall"]>> <<set $syllableBank to [[""], ["cat", "rat", "or", "xor", "nand", "nor", "not", either("and", either("and", "'n", "&")), either("one", "two", "three", "four", "five", "six", "eight", "nine", "ten", "twelve"), "elf", "dog", "sex", "shop", either("beetle", "beetles"), either("fuck", "fucks", "fucked"), "ash", "quark", "heart", "twine", "game", "zine", either("cock", "dick", "shaft"), "rot", "twink", "goth", "scene", "fae", "gay", "set", "graph", "hot", "cold", "plain", "plane", "drink", "sleep", "brass", "gold", "nerd", "mine", "craft", "chop", "sew", "punk", "tape", "vape", "smoke", "rock", "roll", either("drug", "drugs"), "weed", "sleep", "cruel", "web", "witch", "storm", "space", "stream", "growth", "god", "half", "of", "you", "i", "writhe", "veil", "love", "snow", "rain", "sun", either("star", "stars"), "start", "starve", "eat", "food", "slight", "soft", "hard", "next", "kiss", "tell", either("cop", "cops"), "earth", "pass", "more", "flaw", "lab", either("eye", "eyes"), either("brain", "brains"), "head", "foot", "die", "death", "shit", "damn", either("cuck", "cucks", "cucked"), "mouse", "mouth", either("teeth", "tooth"), "dark", "light", "new", "old", "phone", "cup", "piss", "glass", "shard", "slur", "dye", "wool", "shirt", "pants", either("sock", "socks"), "love", "pog", "art", "ghost", "ghoul", "frog", "dog", "log", either("breath", "breathe"), "base", "based", "bag", "null", either("a", "b", "c", "d", "e", "f", "g", "h", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "x", "y", "z"), "cain", "eve", "earth", "ground", "dirt", "shugg", "vore", "whore", "who", "what", "where", "why", "when", "which", "how", "stem", "juice", "mars", "world", "pray", "cum", either("stain", "stained", "stains"), "sheet", "proof", "play", "flay", "squeak", "hate", either("eat", "ate"), "dork", "milk", "door", "stream", "nail", "gun", "gore", either("blog", either("blog", "vlog")), "blood", "up", "down", "left", "right", "all", "bitch", either("bear", "bears"), "deer", "moth", "wide", either("cunt", "cunts"), "sand", "bike", "ham", "cheese", "sheep", "yes", "no", "line", "square", "cube", "sphere", "glome", "globe", either("at", either("at", "at", "@")), "pen", either("gnome", either("gnome", "nome")), "foam", "dome", "home", "house", "spouse", "wife", "woof", "fluff", "fur", "score", "bore", "floor", "fun", "pipe", "fan", "sweat", either("tear", "tears"), "tor", "heat", "real", either("fake", "false"), either("true", "truth"), "vain", "vein", "name", "same", "link", "content", "sound", "clock", "prey", "snot", "sneeze", either("bless", "blessed"), "talk", "walk", "stalk", "book", "hook", "strip", "strap", "seat", "belt", "yield", "field", "phone", "lone", "on", "off", "horn", "corn", "worn", either("tore", "torn"), either("shone", "shine", "shines"), "joy", "toy", "porn", "beach", "shore", "core", "rail", "train", "bus", "plaid", "paid", "moon", "christ", "world", "wide", "web", "dorm", "cave", "dome", "chrome", "edge", "scare", "horse", "bra", either("van", "vans"), "skate", "trick", "lick", "kick", "flip", "bit", "bite", "byte", "night", "write", "right", "fight", "might", "sight", "tight", "loose", "lose", "loss", either("pill", "pills"), "meds", either("ball", "balls"), "faith", "dread", "bed", "drive", "my", "slop", "sludge", "fate", "flat", "spy", "high", "hope", "flesh", "real"], ["guitar", either("zero", "seven"), "lysis", "serum", "deluxe", "lilith", either("yhwh", "yahweh"), "fucking", "poem", "abstract", "arcade", "quirky", "boson", "program", "xnor", "pussy", "penis", "gecko", "rotting", "emo", "soda", either("he/him", "she/her", "they/them", "it/its", "xe/xem", "fae/faer", "he/they", "she/they"), "fairy", "keyboard", "layout", "hitman", "music", "chlorine", "theory", "drywall", "comma", "coma", "copper", "silver", "diamond", "loser", "sewage", either("wire", "wires", "wired"), "easy", "cruelly", "about", "above", "across", "along", "insect", "iris", "browser", "acid", "abyss", "wizard", "sorrow", "angel", "goddess", "because", "object", "vile", "shimmer", "snowy", "erect", "vivid", "always", "police", "secret", "online", either("degree", "degrees"), "super", "hero", "villain", "heaven", "away", "flawless", "music", either("pronoun", "pronouns"), "stomach", "explode", "cucking", "fucker", "proton", "neutron", "photon", "lepton", "standard", "monad", "decay", "centaur", "meter", "bottle", "crystal", "number", "arson", "murder", "poggers", "haiku", "artwork", "sequence", "conlang", "empty", "collage", "college", "moloch", "marduk", "able", "abel", "christian", "aether", "fire", "water", "terra", "gaia", "question", "station", "toilet", "artsy", "orange", "venus", "planet", "saturn", "pluto", "ceres", either("prefix", "postfix", "infix", "suffix", "affix"), "affirm", "prayer", "semen", "towel", "paper", "curtain", either("become", "became"), "conscious", "polish", "hammer", "cartridge", "bullet", either("forward", "forwards"), either("backward", "backwards"), "ana", "kata", "carpet", "center", "meta", "ablaze", "aflame", "open", "bitches", "essay", "hyper", "garfield", "delete", "burger", "hot dog", "circle", "midnight", "coffee", "binder", "folder", "pencil", "husband", "boywife", "fluffy", "furry", "boring", "adam", "silly", "goofy", "funny", "little", "colon", "jewish", "cardboard", "rocket", "viscous", "onion", "kelvin", "concrete", "dada", "surreal", "logic", "anal", "oral", "sounding", "sci-fi", "alarm", "poser", "syrup", "oil", "guy fawkes", "unknown", "unclear", either("define", "defined"), "ancient", "comic", "vomit", "hooker", "stripper", "alone", "lion", "beaver", either("mammal", "mammals"), either("hashtag", "#"), "divide", "subtract", "shower", "flower", "power", "tower", "modern", "rainbow", "xenine", "gender", "horny", "corny", "public", "transport", "pepsi", "spirit", "matter", "energy", "jesus", "special", "random", "something", "carbon", "scary", "giant", "black hole", either("skateboard", "skater"), "psych ward", "demon", "pubic", "public", "private", "bible", "judas", "virgin", "knowledge", "gluon", "glueball", "coaster", "toilet", "abjad", "creature", "romance", "chuckle", "sandwich", "vision", "kismet", "abhor", "prism", "abide", "temple", "os"], ["poetry", "positive", "negative", "fermion", "embryo", "eleven", "kafkaesque", "opossum", "electron", "imagine", "stereo", "vagina", "transgender", "ampersand", "photograph", either("genital", "genitals"), "computer", "diy", "anything", "destruction", "clumsily", "sleepily", "easily", "surrender", "shimmering", "camera", "virtual", "augmented", "argument", "assortment", either("radian", "radians"), "europa", "communist", "catholic", "abortion", "decaying", "jupiter", "election", "politics", "anarchy", "anarchist", "multiset", "sequential", "worldbuilding", "w", "algebra", "tiamat", "genesis", "atheist", "r'lyeh", "cthulhu", "gestation", "video", "radio", "artistic", "galaxy", "mercury", "uranus", "asterisk", "consciousness", "battery", "suicide", "generate", either("koala", "koalas"), "elixir", "rational", "lesbian", "css", "hypertext", "recycle", either("autism", "autistic"), "banana", "hamburger", "cheeseburger", "triangle", "tesseract", "url", "avant-garde", "mcgriddle", "hyperlink", "media", "scaffolding", "microwave", "vaginal", "microsoft", "adderall", "carnivore", "herbivore", "omnivore", "decompose", "effigy", "efficient", "undefined", either("determine", "determined"), "period", "multiply", "devour", "post-modern", either("division", "divided", "÷"), either("masculine", "feminine", "outherine", "aporine", "agender"), "absentee", "disabled", "mercury", "apostle", "animal", "general", "internet", "nitrogen", "oxygen", "hydrogen", "helium", "particle", "syllabus", "firefox", "universe", "multiverse", "p-adic", "hospital", "elephant", "lazarus", "destruction", "forbidden", "nihilist", "relative", "roller skate", "alphabet", "featural", "chemical", "possession", "destiny"], ["calculator", "capybara", "mathematics", "dr pepper", either("algorithm", "algorithmic"), "esoteric", "coca cola", either("bisexual", "pansexual", "asexual"), "olivia", "eternity", "everything", "laboratory", "fundamental", "centimeter", either("geometry", "geometric"), "arithmetic", "generator", "html", "exterminate", "temperature", "decomposer", "definition", "philosophy", "euclidean", "hyperbolic", "refridgerate", "apostrophe", "primordial", "factorial", "acid reflux", "fluctuation", "nihilism", "existential", "roller coaster", "abugida", "syllabary", "logography"], ["abomination", "molotov cocktail", "serendipity", "imaginary", either("homosexual", "omnisexual", "fictosexual", "hypersexual"), "5150", "numerology", either("metamorphosis", either("metamorphosis", either("metamorphosis", "metamorph-this-dick"))), "hypermedia", "indeterminate", "non-euclidean", "post meridiem", "refrigerator", "relativity"], ["cardiovascular", "ante meridiem"], ["socioeconomic", "iambic pentameter"] ]>> <<set $wordBank to $syllableBank.flat()>> <</nobr>>
<<nobr>> <<widget "haikuLine">> <<for _i to 0; _i lt 7; _i++>> <<include "word banks">> <<set $syllables to random(1,$syllableCount)>> <<if $syllables gte 5 and random(1,10) is 5>> <<set $syllables-->> <</if>> <<print $syllableBank[$syllables].shuffle().random()>> <<set $syllableCount -= $syllables>> <<if $syllableCount lte 0>> <<break>> <</if>> <</for>> <</widget>> <<widget "freeVerseLine">> <<set _words to random(either(random(1,3),3),either(5,5,random(5,random(7,10))))>> <<set _wordCount to _words>> <<for _j to 0; _j lt _words; _j++>> <<include "word banks">> <<print $wordBank.shuffle().random()>> <<set _wordCount-->> <<if _wordCount lte 0>> <<break>> <</if>> <</for>> <</widget>> <<widget "alliterativeVerseWord">> <<include "word banks">> <<set $wordBank to $wordBank.shuffle()>> <<for _j to 0; _j lt $wordBank.length; _j++>> <<if $wordBank[_j].startsWith(_letter) is true>> <<print $wordBank[_j]>> <<break>> <</if>> <</for>> <</widget>> <<widget "alliterativeVerseLine">> <<include "word banks">> <<set _letter to either(either("t", "a", "o", "i", "s", "c", "b", "p", "h", "f", "m", "e"), either("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"))>> <<if either(1,2) is 1>> <<print $fillerWords.shuffle().random()>> <</if>> <<alliterativeVerseWord>> <<if either(1,2) is 1>> <<print $fillerWords.shuffle().random()>> <<if either(1,2) is 1>> <<print $fillerWords.shuffle().random()>> <</if>> <</if>> <<alliterativeVerseWord>> <<if either(1,2) is 1>> <<print $fillerWords.shuffle().random()>> <</if>> <<print " ">> <<if either(1,2) is 1>> <<print $fillerWords.shuffle().random()>> <</if>> <<alliterativeVerseWord>> <<if either(1,2) is 1>> <<print $fillerWords.shuffle().random()>> <<if either(1,2) is 1>> <<print $fillerWords.shuffle().random()>> <</if>> <</if>> <<if random(1,5) is not 1>> <<print $wordBank.shuffle().random()>> <</if>> <<if either(1,2) is 1>> <<print $fillerWords.shuffle().random()>> <</if>> <</widget>> <<widget "proseLine">> <<set _words to random(either(3,4,5), either(7,random(10,20)))>> <<set _wordCount to _words>> <<for _j to 0; _j lt _words; _j++>> <<include "word banks">> <<if _j is _words - 1>> <<set _string to $wordBank.shuffle().random()>> <<set _string += ".">> <<print _string>> <<else>> <<print $wordBank.shuffle().random()>> <</if>> <<set _wordCount-->> <<if _wordCount lte 0>> <<break>> <</if>> <</for>> <</widget>> <</nobr>>
[[free verse]] [[haiku]] [[alliterative verse]] [[prose]]
<<nobr>> <<set _lineCount to random(either(2,3),random(5,10))>> <<for _i to 0; _i lt _lineCount; _i++>> <<freeVerseLine>> <<if _i is not _lineCount - 1>> <br> <</if>> <</for>> <</nobr>> [[new poem|free verse]] [[back|start]]
<<nobr>> <<set _lineCount to random(either(3,4,4),random(5,10))>> <<for _i to 0; _i lt _lineCount; _i++>> <<alliterativeVerseLine>> <<if _i is not _lineCount - 1>> <br> <</if>> <</for>> <</nobr>> [[new poem|alliterative verse]] [[back|start]]
<<nobr>> <<set _lineCount to random(4,random(7,10))>> <<for _i to 0; _i lt _lineCount; _i++>> <<proseLine>> <</for>> <</nobr>> [[new story|prose]] [[back|start]]