Solar CDX

TWIFcomp

The TWIFcomp gooseTWIFcomp is a competition for tweet-sized interactive fiction. Why? Because the world needs more strangely-themed interactive fiction competitions and this one requires little time to write, play, and judge. The idea grew out of a thread on usenet, and seems like just the thing to take IF into the attention span-challenged future. The basic premise: write a complete game in 140 characters. Here’s an example: 43.

Congratulations to TWIFcomp winners:

  1. Aaron Reed, “> by @”
  2. Adam Thornton, “Mentula Macanus: Apocolocyntosis”
  3. Andrew Plotkin, “You See Chaos Here.”
  4. Evgeny  Bychkov, “SHOOT YOUR EVIL TWIN…”

As soon as they send me their addresses, I will mail out their fabulous prizes.

Scores are posted on the TWIFcomp website, and a summary spreadsheet can be downloaded.

A compressed file containing all materials from TWIFcomp (including TWIFplus games) can also be downloaded.

Thanks to everyone who participated and supported TWIFcomp — now, you better start work on your IntroComp 2010 games!

– Jack


Rules

  1. Dates:
    • Submission: I must receive your game (both source code and compiled game) by email by 16:00 GMT on Sunday, April 25, 2010.
    • Games will be posted to this site later that day, and voting will commence, again by email (see voting rules, below).
    • Voting will conclude at 16:00 GMT on Saturday, May 1, 2010.
    • Results will be tweeted (by @dhakajack) on Sunday, May 2, 2010 at 16:00 GMT.
    • For the tweet-challenged, results will be formally posted on this page  on Sunday, May 2, at 22:00 GMT.
  2. The Games
    • Games may be a maximum of 140 characters. White space is not included in the count, but punctuation is.
    • What’s white space? Formatting characters, like space, tab, line feed, and new line (carriage return).
    • The game logic may be written in any programming language (Tads2, Tads3, Inform6, Inform7, Perl, LISP, Z80 assembler, etc.).
    • The game content may be written in any language (English, French, Klingon, Quenya, etc.)
    • The game must be interactive.
  3. Game Submission Procedure
    • After extensively testing your game, send me an email (address at bottom of page) including the following:
      • Your real name
      • A short description of your work (your description may be longer than the work itself)
      • The source code for your game
      • Indicate the programming language/version in which the game was programmed.
        • It must be possible for someone else to exactly reproduce the distributed version from the source code
      • Attach a copy of your game in whatever format you’d like it to be distributed
    • Up until the submission deadline (Sun, Apr 25, 16:00 GMT) you can send updated versions of your game.
    • No more than three game submissions per author.
  4. Behavior during the competition
    • There is no restriction on communication.
    • I will make a short blog post for each game, tagging it with TWIFcomp2010.  Anyone (including authors) can comment on these entries.
    • Postings that cross the line into troll-land will be deleted. I have complete (mua-ha-ha!) and unapologetic editorial control on this.
    • Each post will include at least the author’s name, a link to the playable game file, and a link to the source code. If the game is playable online (e.g., via parchment), I’ll include a link for that as well. If the author provided a description (or instructions, diatribes, etc.) it will be posted with these links. Linking to the source code rather than displaying it immediately is meant to avoid spoilers.
  5. Voting
    • Authors may not vote on their own games.
    • Beta testers can vote. Like there will be beta testers. Hah.
    • A voter must vote on a minimum of three games.
    • A voter may vote only once per game.
    • Voters must base their opinion on the first two hours of game play. That should not be a problem in this competition.
    • To vote, send me an email listing the titles of the games and a rating for each game from one (painful) to ten (best. game. ever.)
  6. Prizes:
    • All winners will receive an authentic TWIFcomp certificate, printed on real paper and signed by me.
    • First Place:  One roll of duct tape.
    • Second Place: One package of ramen (beef flavor).
    • Third Place: A pair of lucky dice (2d6).
    • Runner Up:  A pokemon card of my choosing.
    • Should one author occupy more than one position, they will be considered to have won the higher prize, with other contestants moving up.
    • Prizes will be distributed by surface mail.
  7. Intellectual Property Nitty Gritty
    • Game content must not violate other people’s intellectual property rights.
    • All games submitted to this competition, both the source code and distribution version of the game, will be considered to be released under a Creative Commons Attribution – Noncommercial – Share Alike 3.0 license.

FAQ

  1. How can a competition about games of only 140 characters require a FAQ?  Everything requires a FAQ.
  2. What is GMT?    Greenwich Mean Time.  Note that GMT doesn’t vary with daylight savings time. GMT is particularly convenient for people in Iceland, which is on GMT all year. I am not in Iceland, so it can’t be said that this is self-serving.
  3. How will you count characters? My first inclination would be to do something like this:  “cat yourSource.txt | perl -pe ‘s|[\s]||g’ | wc -c”
  4. What about strange accented characters and symbols? Every unicode code point is considered one character.
  5. What about ligatures (conjoined characters)? Now, we’re getting exotic. Again, I’d fall back on the number of unicode code points required to form the glyph.
  6. What is the definition of interactive? That’s open for debate. People can weigh their concept of interactivity in the their voting.
  7. Shouldn’t white space be included? You could make a case that tweets usually include white space, or that the rules slightly favor I7 because curly braces count but tabs don’t, but 140 characters is already restrictive enough. Besides, twitter doesn’t preserve tabs, line feeds, etc. It would get complicated, trying to figure out whether something is in DOS (CR/LR) or unix (CR) text. Spaces are greatly overrated. TwitterIsAllAboutCompression. Counting white space would lobotomize the games beyond recognition. So yeah. If someone whats to run SpaceLessComp next year, let me know.
  8. Do I need to include a title or byline in the game? No, but if you do, it counts towards the character limit.
  9. What colo(u)r is the duct tape?  It depends where you live:  either gray or grey.
  10. What about libraries? You can understand how it is difficult to make a general rule to cover libraries/include files. The intent of these rules is to establish a fair and level playing field, to give authors an opportunity to express their creativity, and to avoid restrictions beyond the already draconian length limit.  I’m afraid that if I say that all libraries are okay, I’ll get a ten character game that kicks off calls to a custom-written library the size of the Encyclopaedia Brittanica. On the other hand, most of these authoring systems are built on top of libraries, and it is hard to say where the core language begins and ends. Also, people are accustomed to using library functions, and today’s optional library may be tomorrow’s core system. So, here’s what I’ll propose: You can use libraries that are publicly available on the internet, but no version that has come out after announcement of this competition (i.e, after April 9, 2010). The contest is only on for two weeks, and I don’t think many  libraries will change in that period. This stipulation will assure that everyone has equal access to the libraries and that no one has gamed the library specifically for the competition. However many characters you use in referencing and accessing the library, that would count towards your character limit of 140. For example, if your source contained the phrase include locked_doors_and_windows.lib; that would cost you 36 characters. And no, you can’t rename the library file.  Whatever the library file was called on the 9th of April 2010, that’s what it should be called in your game. Arbitrary, yes, but that rule is needed for consistency and fairness.  If you do reference a library in your game, when you email me with your game submission, please include the library file and a URL indicating its source. I must be able to find the library at that URL for it to be considered valid.  Since all games will be considered to be released under a Creative Commons Attribution – Noncommercial – Share Alike 3.0 license, any library which is included as part of the project must be compatible with this this license. Phew.
  11. Submitting ADRIFT games: Since the games are constructed in a graphic user interface, the character limit doesn’t mean a lot. However, ADRIFT can be exported as text. If you can squeeze an entire game into an *.amf file (the basic structure of the file takes up most of the 140 characters), that text file can be submitted to the comp. Please submit the corresponding *.taf file as well.

com.gmail@dhakajack (reverse that for my address)

28 comments to TWIFcomp

  • anonymous

    I suppose choosing the WhiteSpace language would fall under trolling?

  • Jack

    No, not at all. By the rules of the competition, a submission in WhiteSpace of any length would be valid. In fact, I would encourage…no, make that *dare* you submit a practical work of interactive fiction written in WhiteSpace.

    Given that players will be voting, I’m not sure how many would run the program, but I certainly would.

    *Extra points* if you can implement a Z-machine in WhiteSpace by the contest deadline :-)

  • matt w

    Are previously published works OK? (What I mean is, can I post my entries on my blog and/or Parchment and/or the IF archive before April 25?)

  • Jack

    Sure, they’re your games. I’d say this comes under the “There is no restriction on communication.” rule above.

    To assure that we’re all on the same page when it comes to the competition, though, people will still need to send their games to me via email and before the deadline as specified in the rules. Voters for the TWIFcomp should only consider the version that is posted on this website on April 25th.

    As for previously published games, I don’t think the worldwide catalog of games under 140 characters is vast, so sure, everyone is welcome to trot out their secret cache of twitfic.

  • matt w

    Well, after I publish my games, they’ll have been previously published, if you know what I mean. Anyway, thanks!

  • This is excellent. I teach IF (as an intro to interaction design) and I’ll definitely have my students do this. Thanks for organizing it.

  • Stuart

    I’ve just written a small game (139 bytes by your perl script to be exact :)), but it is very cryptic and requires instructions to play (although it _is_ possible without them). Obviously there is no room to put them in the game, can the game have a README with instructions or is this against the rules?

  • Jack

    I’m all for limiting player frustration. On April 25th, I’ll post the entries. I haven’t entirely decided *how* yet, but probably just as blog entries with the TWIFcomp2010 tag. Every entry will have a comment field like the one you just filled out, so you can annotate your game however you’d like.

  • [...] there’s a competition for interactive fiction that could fit on Twitter — the source code has to be 140 characters [...]

  • Jesse

    The rules mention release dates for libraries. My game doesn’t use any libraries, but it does require a version of a *compiler* that I expect to be released between now and the comp deadline. Legal?

  • Jack

    Considering you are developing a general tool of great historical interest to the community, sure. To be fair, if Graham Nelson asked if he could submit an entry compiled with the not-yet-released version of I7, I suppose I’d let that slide as well ;-)

  • yandexx

    My friend asks, is importing static graphics and sound considered OK?

  • Jack

    Yes. External files are OK. I suppose it could be considered a special case of a library/include file — it is just a resource that your source code references.

  • Gunther

    Below is my z-machine interpreter in Whitespace:

  • Gunther

    …oops, looks like the comment box swallowed it!!!1

  • I tried to write a short game in Shakespeare, but Alas, I failed, it was infamously long.

    http://shakespearelang.sourceforge.net/

  • Jack

    Could I suggest perhaps someone more modern and closer to home: Hugo?

  • Eric: I briefly thought about writing a game in Shakespeare using 140 “characters”.

    Jack: The rules here say that voting is 1-10, but today’s post says 0-10. Which is it? Also, just curious, how will you be computing the final ranking?

  • Jack

    Doh. It should be 1-10. I’ll fix the other post!

    As for computation, unless someone comes up with a more useful method, I was going to average the scores for each game. For stats to make much sense, I’d probably set some low bar number of required votes to consider a game. Any suggestions regarding scoring methodology?

  • Though I’m an armchair voting-reform advocate, sadly I’m not as up on ranked-choice voting methodologies as I should be. I know BoardGameGeek uses Bayesian averaging: some number of dummy ratings of 5.5 (the average from 1-10) are added to each game, so that games with few ratings don’t dominate the rankings. I’m not sure how to decide how many dummy ratings to add, though; I think BGG adds 250, but many games get thousands or tens of thousands of ratings each. My gut says 10 dummy votes would be enough, but it might be better to base it on the number of actual voters (say 10%).

    However you decide to calculate the results, it would be nice if you published the ballots so that people could compare the results of different vote-tabulation methods after the fact (there are quite a lot of ways to count votes!). Personally I would also prefer to see voter names attached to ballots, but since you didn’t say up front that voting would be public, it might be better to keep the ballots anonymous.

  • Jack

    I completely agree about making the raw data available, as I’m sure there are multiple ways analyze it. I have to put all the data on one spreadsheet at the end anyhow, so I will make that spreadsheet available. I’ll know the email addresses from which replies were sent, but I will not include that on the summary sheet.

    Regarding methodology, any one is welcome to chip in. I know a number of excellent statiticians, so I will also ask a couple of them for some advice. Whatever final method is selected, I’ll post it here.

  • Would you be open to having a run-off election? Use the spreadsheet to identify some clear losers–games which got consistently low scores or no votes–and then run a second more traditional election (IRV or whatever) to decide the winner.

    Barring that, use a Wilson score confidence interval. This assumes you ignore the actual votes and just turn them into “positive” and “negative” votes; you can do that by calculating the average score and declaring that votes above the average are positive and votes below the average are negative. http://www.evanmiller.org/how-not-to-sort-by-average-rating.html

  • Jack

    A run off would be more complicated that I’d like for this comp, which is specifically targeted at people with a 140-byte attention span.

    I’ll bounce the Wilson idea off my statistician :-)

  • [...] Wettbewerbsbeiträge für die TWIFcomp 2010 sind online und können bis 1. Mai 2010 16 Uhr GMT bewertet werden. Bei diesem von Jack Welch [...]

  • [...] TWIF Comp, a contest for interactive fiction with code of 140 characters or less, recently wrapped up. [...]

  • Jack

    OK, I can add it, but it may take me a day…

  • [...] On the way down, we played along to the text adventure Bruce is working on, Stiffy Makane in Mentula Macanus: Apocolocyntosi. I was given gummi bears by my girlfriend for the trip, and those lasted about five minutes during [...]

Leave a Reply

  

  

  

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>