The following is a list of = NAMES_TO_PRINT ?> randomized IF game titles created by
joining the beginning and end parts of two random existing IF titles.
The original generator and algorithm was created by David Fisher,
who was inspired by the
Video Game Name Generator
and extracted the name list from Baf's Guide
(see the rec.arts.int-fiction thread).
The current list is from the IFDB database dump (July 2012).
Click on the titles to read randomly generated reviews.
Try the IFComp editions:
,
or using only IFComp titles.
array(
'A Change in the Weather',
'The Mind Electric',
'The Magic Toyshop',
'MST3K1: Detective',
'All Quiet on the Library Front',
'Tube Trouble',
'Uncle Zebulon\'s Will',
'Toonesia',
'The One That Got Away',
'A Night At The Museum Forever',
'Undertow',
'Undo'
),
1996 => array(
'The Meteor, the Stone and a Long Glass of Sherbet',
'Tapestry',
'Delusions',
'Small World',
'Kissing the Buddha\'s Feet',
'Fear',
'Maiden of the Moonlight',
'Wearing the Claw',
'Alien Abduction?',
'Aayela',
'Lists and Lists',
'Ralph',
'Reverberations',
'The Land Beyond the Picket Fence',
'In the End',
'Piece of Mind',
'Phlegm',
'Sir Ramic Hobbs and the Oriental Wok',
'Stargazer: Prologue',
'Of Forms Unknown',
'The Curse of Eldor',
'Don\'t Be Late',
'The House Of The Stalker',
'Rippled Flesh',
'Punkirita Quest One: Liquid',
'My First Stupid Game',
'Promoted'
),
1997 => array(
'The Edifice',
'Babel',
'Glowgrass',
'She\'s Got a Thing for a Spring',
'A Bear\'s Night Out',
'Sunset Over Savannah',
'Poor Zefron\'s Almanac',
'The Lost Spellmaker',
'Sins Against Mimesis',
'A New Day',
'Zero Sum Game',
'Zombie!',
'The Frenetic Five vs. Sturm und Drang',
'Travels in the Land of Erden',
'Unholy Grail',
'Friday Afternoon',
'Madame L\'Estrange and the Troubled Spirit',
'Sylenius Mysterium',
'Phred Phontious and the Quest for Pizza',
'Down',
'VirtuaTech',
'The Obscene Quest of Dr. Aardvarkbarf',
'A Good Breakfast',
'The Town Dragon',
'The Tempest',
'Temple of the Orc Mage',
'E-Mailbox',
'Pintown',
'Leaves',
'Congratulations!',
'CASK',
'Symetry',
'Aunt Nancy\'s House',
'Coming Home'
),
1998 => array(
'Photopia',
'Muse: An Autumn Romance',
'The Plant',
'Arrival, or Attack of the B-Movie Clichés',
'Enlightenment',
'Mother Loose',
'Little Blue Men',
'Trapped in a One-Room Dilly',
'Persistence of Memory',
'Downtown Tokyo, Present Day',
'Informatory',
'The Ritual of Purification',
'The City',
'Where Evil Dwells',
'Purple',
'Four in One',
'Research Dig',
'CC',
'Spacestation',
'Cattus Atrox',
'In the Spotlight',
'Lightiania',
'Acid Whiplash a.k.a. Rybread Celsius Can\'t Find a Dictionary',
'I Didn\'t Know You Could Yodel',
'Fifteen',
'The Commute',
'Human Resources Stories'
),
1999 => array(
'Winter Wonderland',
'For A Change',
'Six Stories',
'A Day for Soft Food',
'Exhibition',
'Halothane',
'On the Farm',
'Hunter, in Darkness',
'Beat the Devil',
'Jacks or Better to Murder, Aces to Win',
'Erehwon',
'Lunatix: The Insanity Circle',
'Bliss',
'Stone Cell',
'Four Seconds',
'The HeBGB Horror!',
'Only After Dark',
'A Moment of Hope',
'Chaos',
'Strangers in the Night',
'Lomalow',
'King Arthur\'s Night Out',
'Calliope',
'Music Education',
'Spodgeville Murphy and The Jewelled Eye of Wossname',
'Life on Beal Street',
'Remembrance',
'Thorfinn\'s Realm',
'Death to my Enemies',
'The Water Bird',
'Chicks Dig Jerks',
'SNOSAE',
'Pass the Banana',
'Outsided',
'Lurk. Unite. Die. Invent. Think. Expire.',
'Guard Duty',
'Skyranch'
),
2000 => array(
'Kaged',
'Metamorphoses',
'Being Andrew Plotkin',
'Ad Verbum',
'Transfer',
'My Angel',
'Nevermore',
'Masquerade',
'YAGWAD',
'Shade',
'Guess the Verb!',
'Letters from Home',
'Rameses',
'The Djinni Chronicles',
'The Best Man',
'And the Waves Choke the Wind',
'At Wit\'s End',
'Dinner with Andre',
'Planet of the Infinite Minds',
'The Big Mama',
'The End Means Escape',
'Punk Points',
'A Crimson Spring',
'Enlisted',
'Futz Mutz',
'Return to Zork: Another Story',
'Unnkulia X',
'Desert Heat',
'Got ID?',
'Castle Amnos',
'The Masque of the Last Faeries',
'The Pickpocket',
'The Trip',
'Happy Ever After',
'Prodly the Puffin',
'Withdrawal Symptoms',
'Aftermath',
'The Clock',
'Wrecked',
'Threading the Labyrinth',
'Void: Corporation',
'1-2-3...',
'Escape from Crulistan',
'Stupid Kittens',
'Marooned',
'On the Other Side',
'Jarod\'s Journey',
'Infil-traitor',
'Comp00ter Game',
'Little Billy',
'Asendent',
'What-IF?',
'Breaking the Code'
),
2001 => array(
'All Roads',
'Moments Out of Time',
'Heroes',
'No Time To Squeal',
'The Beetmonger\'s Journal',
'Vicious Cycles',
'Best of Three',
'Earth and Sky',
'Triune',
'Film at Eleven',
'Prized Possession',
'Journey from an Islet',
'Grayscale',
'The Chasing',
'The Coast House',
'A Night Guest',
'Carma',
'Fusillade',
'Fine Tuned',
'The Evil Sorcerer',
'The Gostak',
'The Isolato Incident',
'Crusade',
'2112',
'You Are Here',
'Elements',
'The Cruise',
'Bane of the Builders',
'To Otherwhere and Back',
'Stiffy Makane: The Undiscovered Country',
'Kallisti',
'Colours',
'The Cave of Morpheus',
'Silicon Castles',
'Timeout',
'Begegnung am Fluss',
'an apple from nowhere',
'Stranded',
'Schroedinger\'s Cat',
'Stick it to the man',
'Jump',
'Volcano Isle',
'Mystery Manor',
'Invasion of the Angora-fetish Transvestites from the Graveyards of Jupiter',
'Surreal',
'Goofy',
'The Test',
'Lovesong',
'The Newcomer',
'The Last Just Cause',
'You Were Doomed From the Start',
),
2002 => array(
'Another Earth, Another Sky',
'Till Death Makes a Monk-Fish Out of Me!',
'Photograph',
'The Moonlit Tower',
'Janitor',
'The PK Girl',
'Tookie\'s Song',
'Fort Aegea',
'The Temple',
'Jane',
'MythTale',
'Unraveling God',
'Identity Thief',
'Augustine',
'Rent-A-Spy',
'The Granite Book',
'Eric\'s Gift',
'When Help Collides',
'Evacuate',
'Constraints',
'Sun and Moon',
'Not Much Time',
'Hell: A Comedy of Errors',
'Out of the Study',
'Color and Number',
'BOFH',
'The Case of Samuel Gregor',
'A Party to Murder',
'Screen',
'Concrete Paradise',
'Scary House Amulet!',
'Coffee Quest II',
'Four Mile Island',
'Moonbase',
'Koan',
'Ramón and Jonathan',
'Terrible Lizards',
'Blade Sentinel'
),
2003 => array(
'Slouching Towards Bedlam',
'Risorgimento Represso',
'Scavenger',
'The Erudition Chamber',
'Gourmet',
'Shadows on the Mirror',
'The Recruit',
'Baluthar',
'Cerulean Stowaway',
'The Atomic Heart',
'Episode in the Life of an Artist',
'A Paper Moon',
'Sardoria',
'Caffeination',
'Temple of Kaos',
'Sophie\'s Adventure',
'Adoo\'s Stinky Story',
'Domicile',
'Internal Documents',
'Sweet Dreams',
'The Adventures of the President of the United States',
'No Room',
'Delvyn',
'Little girl in the big world',
'Bio',
'Hercules First Labor',
'Amnesia',
'Curse of Manorland',
'The Fat Lardo and the Rubber Ducky',
'Rape, Pillage, Galore!'
),
2004 => array(
'Luminous Horizon',
'Blue Chairs',
'All Things Devours',
'Sting of the Wasp',
'Square Circle',
'The Orion Agenda',
'Mingsheng',
'Splashdown',
'Gamlet',
'Trading Punches',
'The Great Xavio',
'Goose, Egg, Badger',
'The Big Scoop',
'I Must Play',
'Identity',
'Murder at the Aero Club',
'Bellclap',
'Magocracy',
'Typo',
'Kurusu City',
'Blink',
'Chronicle Play Torn',
'A Day In The Life Of A Super Hero',
'Order',
'Who Created That Monster?',
'Blue Sky',
'The Realm',
'Redeye',
'Stack Overflow',
'Zero',
'Zero One',
'A Light\'s Tale',
'Getting Back To Sleep',
'Ruined Robots',
'PTBAD3',
'Ninja v1.30',
'Escape from Auriga',
'Die Vollkommene Masse'
),
2005 => array(
'Vespers',
'Beyond',
'A New Life',
'Distress',
'Tough Beans',
'The Colour Pink',
'Unforgotten',
'Snatches',
'Chancellor',
'Internal Vigilance',
'Escape to New York',
'Mortality',
'History Repeating',
'Vendetta',
'Son of a...',
'Xen: The Contest',
'Gilded',
'Mix Tape',
'Waldo\'s Pie',
'Off the Trolley',
'Psyche\'s Lament',
'The Plague',
'Sabotage on the Century Cauldron',
'On Optimism',
'Space Horror I: Prey for Your Enemies',
'Cheiron',
'Neon Nirvana',
'The Sword of Malice',
'Dreary Lands',
'Hello Sword - The journey a.k.a. Hello Sword - Il viaggio',
'Phantom: Caverns of the Killer',
'Amissville II',
'FutureGame',
'Jesus of Nazareth',
'PTBAD6andoneeighth',
'Ninja II'
),
2006 => array(
'Floatpoint',
'The Primrose Path',
'The Elysium Enigma',
'The Traveling Swordsman',
'Moon-Shaped',
'Delightful Wallpaper',
'Legion',
'Madam Spider\'s Web',
'Möbius',
'Unauthorized Termination',
'Game Producer!',
'The Sisters',
'Star City',
'Strange Geometries',
'The Tower of the Elephant',
'Aunts and Butlers',
'Xen: The Hunt',
'Labyrinth',
'Requiem',
'Carmen Devine: Supernatural Troubleshooter',
'The Bible Retold',
'Another Goddamn Escape the Locked Room Game',
'Fight or Flight',
'MANALIVE, A Mystery of Madness - I',
'Hedge',
'A Broken Man',
'Polendina',
'Initial State',
'MANALIVE, A Mystery of Madness - II',
'Pathfinder',
'The Apocalypse Clock',
'The Wumpus Run',
'Ballymun Adventure',
'Tentellian Island',
'Lawn of Love',
'Beam',
'Enter the Dark',
'Green Falls',
'Sisyphus',
'Visocica',
'Simple Adventure',
'Fetter\'s Grim',
'PTGOOD 8*10^23'
),
2007 => array(
'Lost Pig',
'An Act of Murder',
'Lord Bellwater\'s Secret',
'Across The Stars',
'The Chinese Room',
'Varkana',
'A Fine Day for Reaping',
'Orevore Courier',
'My Name is Jack Mills',
'A Matter of Importance',
'Ferrous Ring',
'Deadline Enchanter',
'My Mind\'s Mishmash',
'In The Mind Of The Master',
'Gathered In Darkness',
'Fox, Fowl and Feed',
'Wish',
'Packrat',
'Slap That Fish',
'Jealousy Duel X',
'Beneath: a Transformation',
'The Immortal',
'Eduard the Seminarist',
'Press [Escape] to Save',
'Reconciling Mother',
'The Lost Dimension',
'Ghost of the Fireflies',
'Adventure XT',
'Vampyre Cross'
),
2008 => array(
'The Absolute Worst IF Game in History',
'Afflicted',
'Ananachronist',
'April in Paris',
'Berrost\'s Challenge',
'Buried In Shoes',
'Channel Surfing',
'Cry Wolf',
'A Date With Death',
'Dracula\'s Underground Crypt',
'Escape from the Underworld',
'Everybody Dies',
'Freedom',
'Grief',
'The Hall of the Fount of Artois',
'LAIR of the CyberCow',
'The Lighthouse',
'The Lucubrator',
'Magic',
'A Martian Odyssey',
'The Missing Piece',
'Nerd Quest',
'The Ngah Angah School of Forbidden Wisdom',
'Nightfall',
'Opening Night',
'Piracy 2.0',
'Project Delta',
'Recess At Last',
'Red Moon',
'Riverside',
'Search for the Ultimate Weapon',
'Snack Time!',
'Trein',
'Violet',
'When Machines Attack'
),
2009 => array(
'The Grand Quest',
'Byzantine Perspective',
'The Believable Adventures of an Invisible Man',
'Spelunker\'s Quest',
'GATOR-ON, Friend to Wetlands!',
'Grounded In Space',
'Condemned',
'Beta Tester',
'Gleaming the Verb',
'Resonance',
'Trap Cave',
'The Ascot',
'Star Hunter',
'Yon Astounding Castle! of some sort',
'Broken Legs',
'The Duel in the Snow',
'The Duel That Spanned the Ages',
'Earl Grey',
'Interface',
'zork, buried chaos',
'Eruption',
'Snowquest',
'The Hangover',
'Rover\'s Day Out'
),
2010 => array(
'Aotearoa',
'Rogue of the Multiverse',
'One Eye Open',
'The Blind House',
'Death Off the Cuff',
'Mite',
'The People\'s Glorious Revolutionary Text Adventure Game',
'Flight of the Hummingbird',
'Gris et Jaune',
'The Warbler\'s Nest',
'Divis Mortis',
'Oxygen',
'The Bible Retold: Following a Star',
'Leadlight',
'Gigantomania',
'Under, In Erebus',
'Pen and Paint',
'The 12:54 to Asgard',
'The Bible Retold: The Lost Sheep',
'Heated',
'Ninja\'s Fate',
'Sons of the Cherry',
'East Grove Hills',
'R',
'A quiet evening at home',
'The Chronicler'
),
2011 => array(
'Taco Fiction',
'Six',
'The Play',
'Escape From Santaland',
'PataNoir',
'The Life (and Deaths) of Doctor M',
'Beet the Devil',
'Kerkerkruip',
'Cana According To Micah',
'A Comedy of Error Messages',
'The Binary',
'Tenth Plague',
'Cursed',
'Ted Paladin And The Case Of The Abandoned House',
'Cold Iron',
'It',
'Andromeda Awakening',
'Keepsake',
'Sentencing Mr Liddell',
'Calm',
'The Guardian',
'The Hours',
'Blind',
'The Myothian Falcon',
'Last Day of Summer',
'Death of Schlig',
'Fan Interference',
'Playing Games',
'How Suzy Got Her Powers',
'Return to Camelot',
'Awake the Mighty Dread',
'The Ship of Whimsy',
'Operation Extraction',
'Professor Frank',
'Dead Hotel',
'Fog Convict',
'Luster',
'Vestiges'
),
2012 => array(
'Andromeda Apocalypse',
'Body Bargain',
'Castle Adventure',
'Changes',
'Escape From Summerland',
'Eurydice',
'Fish Bowl',
'Guilded Youth',
'howling dogs',
'In a Manor of Speaking',
'Irvine Quik & the Search for the Fish of Traglea',
'The Island',
'J\'dal',
'Kicker',
'A Killer Headache',
'Last Minute',
'The Lift',
'Living Will',
'Lunar Base 1',
'Murphy\'s Law',
'The Sealed Room',
'Shuffling Around',
'Signos',
'Spiral',
'Sunday Afternoon',
'The Test is Now READY',
'Transit',
'Valkyrie'
)
);
$compEdition = $_GET[ 'ifcomp' ];
switch( $_GET[ 'edition' ] )
{
// for backwards compatibility with old links
case 'comp08':
$compEdition = 2008;
break;
case 'comp09':
$compEdition = 2009;
break;
}
if( isset( $comps[ $compEdition ] ) )
{
$specialArray = $comps[ $compEdition ];
}
if( $compEdition == 'all' )
{
$names = array();
foreach( $comps as $compArray )
{
$newNames = array_merge( $names, $compArray );
$names = $newNames;
}
}
for( $loop = 0; $loop < NAMES_TO_PRINT; ++$loop )
{
do
{
$source = array_rand( $names, 2 );
if( empty( $specialArray ) )
{
// no "special edition" selected, just pick two names
$prefix = explode( ' ', $names[ $source[ 0 ] ] );
$suffix = explode( ' ', $names[ $source[ 1 ] ] );
}
else
{
// othewise we'll take randomly either the end part
// or the beginning part of the title from a special list
if( rand( 0, 1 ) )
{
$prefix = explode( ' ', $specialArray[ rand( 0, count( $specialArray ) - 1 ) ] );
$suffix = explode( ' ', $names[ $source[ 1 ] ] );
}
else
{
$prefix = explode( ' ', $names[ $source[ 0 ] ] );
$suffix = explode( ' ', $specialArray[ rand( 0, count( $specialArray ) - 1 ) ] );
}
}
$prefix_words = count( $prefix );
$suffix_words = count( $suffix );
// if the prefix is only one word, choose that. Otherwise
// pick a random number of words from it.
if( $prefix_words == 1 )
{
$prefixToPrint = $prefix[ 0 ] . ' ';
}
else
{
$prefix_pick = rand( 1, count( $prefix ) - 1 );
$prefixToPrint = '';
for( $i = 0; $i < $prefix_pick; ++$i )
{
$prefixToPrint .= $prefix[ $i ] . ' ';
}
}
// if the prefix is only "the" or "a" or something else
// we don't want, loop through the algorithm until
// we get a good result.
} while( !words_ok( trim( $prefixToPrint ) ) );
$fullname = $prefixToPrint;
if( $suffix_words == 1 )
{
$fullname .= $suffix[ 0 ] . ' ';
}
else
{
$suffix_pick = rand( 1, count( $suffix ) - 1 );
for( $i = $suffix_pick; $i < $suffix_words; ++$i )
{
$fullname .= $suffix[ $i ] . ' ';
}
}
echo '- ';
echo $fullname;
echo "
";
}
function words_ok( $words )
{
$badWords = array( 'the', 'a', 'an' );
if( in_array( strtolower( $words ), $badWords ) )
{
return false;
}
return true;
}
function debug( $msg )
{
if( isset( $_GET[ 'debug' ] ) )
{
echo $msg;
}
}
?>