Random posts

sergiocornaga's picture

5 Year Anniversary - 2 New WarioWare Games

Five years have passed since I joined this site and posted my first game, a spontaneous collaboration with Mark Gobbin. Doing so drew responses from SpindleyQ (who I also have to thank for founding this glorious site) and anna anthropy (whose inspirational KotM entries posted on her blog led me here in the first place).

It surprises me how much these comments meant to me at the time (and evidently still do), especially considering one was just "BAM". As a belated display of gratitude, I made two WarioWare D.I.Y. microgames inspired by games SpindleyQ and anna have posted here: in the dark and Xmastime!

I definitely wouldn't be the game maker I am today (i.e. an adequate one) without GT. My heartfelt thanks go out to everyone who's come here, past and present. I have another five year anniversary relating to this site coming up in a few months, which I aim to celebrate in a similar fashion. Hopefully by stating this now I'll be less likely to weasel out of it.



Drive your tank and kill the stuff!

Michael Brough
Made For: 
An event

Twine: visited(), a function to find how often a passage was visited

Update: The Javascript on this page is now built into Twine 1.4! It is no longer necessary to install it.

I've noticed that a good deal of variable usage in Twine is simply employed to track whether or not you've visited a certain passage previously, or done so a number of times. This script code provides you with a function that can give this value straight, without needing to use the <<set>> macro.

Obsolete script removed: use Twine 1.4

To use it, use "visited("Passage")" as a value in a <<set>>, <<if>> or <<print>> macro. It will equal the number of times you've visited the passage whose name is between the quotes and parentheses. For instance:

  1. <<if visited("Store")>>You've been to the store.<<endif>>
  2. <<if not visited("Firepit") and not visited("Maggotpit")>>You've not yet been to the fire pit or maggot pit.<<endif>>
  3. <<if visited("Trap Floor") gt 2>>Your repeated stomping is making the floor weaken.<<endif>>
  4. You've visited the chasm <<print visited("Dark Chasm")>> times.<<endif>>
  5. <<set $count = visited("Jewelers")>>You've visited the Jeweler's <<print $count>> times.<<endif>>

Also, instead of a passage name, you can put a variable.
  1. <<if visited($bossPassage)>>If only you'd had this when you'd fought the boss!<<endif>>
  2. <<set $beenToMyHome = visited($myHome)>>

New: If you just put visited(), then it will count visits to the current passage, without you needing to include the passage's name.
<<set $beenHereBefore = visited()>>

In addition, here is a function called "visitedbefore" which can be used to tell you if a passage has ever, in the course of the game, been visited before another passage.

window.visitedbefore = function(e,f) {
	var h,c,ret;
  	for(ret=c=0; c<state.history.length; c++) {
		h = state.history[c].passage;
		if(h && h.title == e) {
			return true;
		} else if (h && h.title == f) {
			return false;
	return false;

This only returns true or false. Use it like so:
  1. <<if visitedbefore("Firepit", "Maggotpit")>>First the fire pit, then the maggot pit, now this?!<<endif>>
  2. <<if visited("Armory") and visitedbefore("Firepit", "Maggotpit")>>First the fire pit, then the maggot pit, now this?!<<endif>>

Again, variables can be substituted for passage name strings:
  1. <<if visitedbefore("Dragon Hoard", $myHome)>>You must've left it at home after meeting the dragon.<<endif>>

The two passage names must be separated by a comma.

Some notes:

  1. This doesn't count use of the <<display>> macro as a visit.
  2. If neither passage has been visited, visitedbefore() will return false.

Feel free to report any bugs to @webbedspace.

Press X Not To Die

Game File: 

Press X (and Z) when necessary to defeat the vicous green blob (OF DOOOOOOOOOOOOOOOOOOOOOM).

Well, it killed an hour.. Built in flex, so it's a flash thing.. Probably easier to go see it at http://jwhiting.nfshost.com/coding/pressxnottodie.swf

Made For: 
Pirate Kart 2
SpindleyQ's picture

The 3DO Is The Official Console of Glorious Trainwrecks

Submitted without comment: A single screenshot from 3DO first-person-shooter Cyberdillo.

funky-plunger.jpg78.69 KB

Enjoyment of the Public


Don't be late for the performance!

Made For: 
An event

Indie Game The Movie, The Line, The Puzzle Game

Screen Shot 2012-03-06 at 1.35.22 PM.png

A small puzzle game made in two hours while waiting on line for Indie Game The Movie at GDC.

Andy Wallace
Made For: 
Glorious GDC Gameboree 2010

Ghostie Goes To Heaven


Ghostie is finally at peace, and is on his way to Heaven! Enjoy the afterlife, friend!

Controls: Arrow Keys

Made For: 
An event
Healy's picture


TwIFcomp is an IF comp where the entrants were restricted to 140 characters of code, minus whitespace. The results are often wrecktastic. The ones I especially like are You see Chaos Here, LOTR, > by @, Ring, and Money. Most of these games have a link to play them in a browser, so why not try some of them out?

Malefact's picture


Game File: 

I made a masocore game, with me as the protagonist!


press keys to move

Made For: 
Pirate Kart 2
Syndicate content