Waxy.org
Waxy.org is the sandbox of Andy Baio. I run XOXO, built Playfic and Supercut, helped build Kickstarter, founded Upcoming, made an album, and some other stuff too.

Contact Me: Email, AOL IM, or follow me on Twitter.

Introducing Playfic

Posted Feb 15, 2012

So, I made a weird new thing with my 15-year-old nephew, Cooper McHatton. It's experimental and has lots of rough edges, but quite frankly, I'm tired of working on it, so here you go.

Playfic is a community for writing, sharing, and playing interactive fiction games (aka "text adventures") entirely from your browser, using a "natural language"-inspired language called Inform 7.


Inform 7 is incredibly awesome and weird. For example, this is a fully functional game:

East of the Garden is the Gazebo. Above is the Treehouse. A billiards table is in the Gazebo. On it is a trophy cup. A starting pistol is in the cup. In the Treehouse is a container called a cardboard box.

Type that into Playfic, and you end up with this simple game, ready to send to the world.


The official documentation is extensive, with a great manual and recipe book. I've collected a list of resources to help you get started.

For now, there's very little documentation on Playfic itself, but you can click the "View game source" link on every game to see how it was made, and Cooper's adding sample games from the official Recipe Book.


My hope is that Playfic opens up the world of interactive fiction to a much wider audience — young writers, fanfic authors, and culture remixers of all ages.

While the language can be tricky, building simple games is surprisingly easy. Cooper had never coded anything or made a game before trying Playfic, and within 30 minutes of futzing around, he'd made his first game.

Some stuff is broken and missing, but I'd love to hear what you make of it. Open to any and all feedback. Go make some games!

22 Comments (Add Yours)

Feb 15, 2012
11:18 AM  
Andrew Wooldridge (@triptych) wrote:

Is the language a subset of inform7's -- meaning if you create a valid inform7 story, it'll run in playfic? Or is it syntactically different so they are similar, but not 100% compatible?


Feb 15, 2012
11:38 AM  
Andy Baio wrote:

Nope, it just uses the commandline Inform 7 compiler on the server, so should be 100% compatible. As long as your code doesn't require any extensions that aren't bundled with Inform 7, or try to include any other non-existent files, it should work just fine.


Feb 15, 2012
12:08 PM  
Austin Seraphin wrote:

Glad to say that this works very well with VoiceOver and Safari on a Mac. I've got to get back to writing my game!


Feb 15, 2012
9:29 PM  
@McFunkypants wrote:

This is truly amazing! You have created the killer IF app. I tip my hat at you both. May bards sing your praises in all the taverns in the kingdom. Here's wishing you a long lifetime filled with thrilling adventures and vast treasure.


Feb 16, 2012
2:25 AM  
Peter Pears wrote:

Most interesting. Little question, though - I can view the most recent games and the most popular games... how do I go about vieweing ALL games?


Feb 16, 2012
3:54 AM  
Andy Baio wrote:

You can't, yet! The Explore section is very sparse right now. I was waiting until I had a couple dozen games before redesigning it to make it browsable/searchable... Expect changes soon.


Feb 16, 2012
3:54 PM  
astro73 wrote:

I find this intriguing, and would enjoy more games. Here's some issues I have:


  • No indicator of the size of the game. It would help to know the toy pieces from the long-running ones.

  • Some kind of comments or feedback would be great. What did other people have to say about it?

  • The one time I used save, it seemed to fail. More directions on how to use it and how it works?

  • Is it at all possible to save games to the server, so I could resume from any browser?

Overall, a great start.


Feb 16, 2012
4:58 PM  
Chris O'Bray wrote:

I'm going to have so much fun with this. The last IF "game" I made was in grade 8 programming. Disguising my laziness as "being clever", every possible first move ended in death. This time I plan on allowing at least three moves before certain doom.

Awesome project you two, well done!


Feb 17, 2012
8:14 AM  
Peter Pears wrote:

I have a suggestion for you. An invaluable usage of Playfic could be to try out, on the fly, some example code - it could be a simple dirty test of something the author could later expand on; it could be example code to help someone else with their problems; it could simply be a copy-paste of code used in a thread at IntFiction, to showcase the problem and/or the solution. It could be used to simply showcase quick ideas: "Hey, I had this thought for a conversation interface, seems very cool and innovative... I'll just try it out on Playfic and then I'll have something to show for it, quickly, no fuss".

In this case, however, it would be useful to distinguish between "games", "examples" ("recipes" might be worth their own cathegory, too), and simple "quick and dirty code", which I'd call "sandbox".

Just a thought I had.


Feb 18, 2012
2:44 AM  
Peter Pears wrote:

With the amount of games already in, I think this'll be a tool of choice come next SpeedIF. ;)

Another suggestion, though hardly critical and not all that trivial - you *could* implement the use of extensions, by, say, allowing the user to open an extension pane, choose an extension, and automatically copy the contents of that extension onto the source code. There's a number of cosmetic changes you could do to ensure it doesn't get bulky and overwhelming - keeping the "extension code" hidden, or on a different panel, or just automatically appending it to a different part of the source code, or what have you - but it's doable, if not really a top priority.

Of course, anyone who really wants to use an extension can just do the copy/paste him/herself. ;)

In a related note, if you wanted to do something of the sort and that meant you had to provide the extensions yourself, rather than using the Inform page, I'd reccommend iXu, an utility which automatically downloads new and updated extensions.


Feb 18, 2012
3:57 AM  
Peter Pears wrote:

I probably have too many suggestions for my own good, but here's another one.

You could default games to z5, instead of z8. Then, if the game got too big for z5, if it were possible to detect it, you could automatically switch to z8. Or you could try giving the user that option. Again, this is not really a priority, it's just that I don't see people using z8 much, in this format - the games done so far certainly don't need to be z8.

Also, here's a thought for the future - it would be *way* cool if you could allow outputting for Glulx and using Quixe (or Parchment, doesn't it allow Glulx now?).

Just thoughts that pop into my head. Feel free to tell me to shut up.


Feb 18, 2012
3:58 AM  
Peter Pears wrote:

Hey, how come my last comment was automatically posted and my two previous, lengthy ones were "submitted for approval"?


Feb 18, 2012
9:07 AM  
Andy Baio wrote:

Peter: Sorry about that. Overzealous comment spam filter.

Love, love, love all the feedback. I'm planning on doing a semi-private mode, where you can share code with anyone who has the URL, but it doesn't show up on the site publicly. That might address your use case, but there's value to showing all that example code publicly, as long as it's separated from deeper games. I'll think about that.

Regarding extensions, I could just add mirror every extension in the I7 extension library, though I imagine that would become a maintenance nightmare, unless I could automate it somehow. Unfortunately, iXu only works for Windows, and I'm using the Linux compiler. Providing an extensions panel is an interesting idea, but I'm afraid that will create the same amount of work to maintain. Though the benefit is that it would expose all the additional features enabled by extensions, and give a way to browse them all.

What's the disadvantage to using .z8? Are the files larger, or is there less interpreter support for .z8? I assumed using the most modern Z-code would make sense.

And yes, I'm looking very closely at Quixe and Glulx. Quixe's HTML5 save/restore feature is fantastic, and creators won't hit the memory limits of the Z-machine.

Keep the feedback coming! Thank you!


Feb 18, 2012
4:37 PM  
Peter Pears wrote:

Regarding z8, it's just that using it when you could be using z5 always struck me as using, say, a shoebox to carry a pair of earring. However, few games nowadays use z5 (though most Playfic games would, I should imagine, be short enough, by their very casual nature), and on the practical side of things, there's really no difference - practically every interpreter worth its salt out there can play z8 as well as z5, and nowadays space constraints are not an issue - nor, usually, are memory and speed, since most interpreters (even my interpreter of choice for mobile IF, ZaxMidlet, which is java-based) can handle z8 as well as z5.

So I guess there's really no *need* to. It's just that, well, there'll be lots of earrings in shoeboxes. But when you're dealing with millions of cubic metres as we do today, well, what's a few shoeboxes more, heh?


Feb 21, 2012
3:14 AM  
Peter Pears wrote:

When you do get around to fleshing out the "explore games" section (which I imagine should be soon, given the number of games already out there), you could include an RSS feed for the newest.


Feb 22, 2012
2:36 AM  
Peter Pears wrote:

A system for rating/reviewing games might be good, too.


Feb 23, 2012
5:45 PM  
Sam Kabo Ashwell wrote:

I agree with Peter that it would be immensely helpful to distinguish between completed games, beta versions, and testing/sandbox stuff (and to default to the last of those).

It'd also be good if the full Explore section, when it shows up, could be sorted by date of publication. It seems fairly likely that a good number of games will be published only on Playfic, and this would make life much easier when determining which are eligible for XYZZYs, etc.


Feb 27, 2012
10:05 PM  
Christina wrote:

Wow, this reminds me of when I was in grade school and we used to program these types of games into our graphing calculators. Good times! Great concept translated into a great website =)


Mar 1, 2012
8:45 AM  
Peter Pears wrote:

Again, because my last comment hasn't been up and it's been days: since you've got so many games up, now, maybe it's time to refurnish the "Explore" section, and hey, what about an RSS feed of new games? That'd be cool.


Mar 1, 2012
10:12 AM  
Andy Baio wrote:

Awesome suggestions, all were already high on the to-do list. I'm going to add a news feed to the site, as well, to keep everyone up to date on changes.


Apr 1, 2012
5:15 AM  
DavidM wrote:

This is just so interesting. I had exactly this same idea and while trying to figure out ways to build a browser-based compiler for the Inform language, I stumbled across Playfic.

Great idea using the Inform 7 compiler itself, couldn't ask for better. You've done an exceptional job with it all, the entire site is just perfect and totally lends itself to collaboration.


Apr 20, 2012
5:09 AM  
Peter Pears wrote:

Not to belabor the point, but you really do have to make games browsable. Otherwise there's no way to access older games, and there's a lot of games there already.


 

Leave a comment





Waxy Links
Ads via The Deck
May 24, 2013
Jay Silver's TED talk on turning everyday objects into computer interfaces — the creator of Makey Makey, which I highly recommend (via)
Steven Universe pilot — Rebecca Sugar, the artist behind Adventure Time's best songs, starts her own show
The Lonely Island's "Semicolon" — catchy parody of hashtag rap
The Girl Who Turned to Bone — how rare diseases are now treated, and how people support each other online (via)
May 23, 2013
Daily Dot on the pre-history of Tumblr — interviews with the guys behind anarchaia and Projectionist
SIGGRAPH's technical papers 2013 preview — someone show these people how to use Kickstarter
Planet Online — the modern web meets early 1990s children's toy commercials
How does copyright work in space? — Hatfield negotiated a license directly with Bowie, but it's otherwise complicated
Limits & Demonstrations — standalone minigame set in the world of Kentucky Route Zero (via)
Google Poetics — common human search queries as poetry (via)
Jessica Hische on typography — great overall primer for selecting type
It's Not About the Nail — "stop trying to fix it" (via)
LEGO's full-scale X-Wing model arrives in Times Square — a 42:1 scale LEGO model of a LEGO model of a model
May 22, 2013
Computer Beach Party — so bad it's good; don't miss Jason Scott's great backstory and interview with the director
ROM CHECK FAIL — after five years, Farbs' classic retro gaming mashup ported to Flash
Indie developers can't self-publish on the Xbox One — giving in to pressure from partners?
NYT asks Scroll Kit developer not to use their name — asking him to take down the assets is fine, but this is overreaching
Face morphing mirror at Maker Faire — simple idea, great effect
Soylent, the post-food drink, raises $230k in a day — his blog is fascinating and, of course, there's a subreddit
Amazon introduces Kindle Worlds, official licensing for fanfic — John Scalzi notes that Amazon gets exclusive copyright and licensors can use your new elements without compensation
The History of YouTube by the Gregory Brothers — on YouTube's eight birthday
May 21, 2013
Google Glass through a toddler's eyes — reminds me of Among the Sleep with Oculus Rift support
Newsblur redesigns — my pick for a worthy Google Reader successor
You Must Escape — clever echolocation game mechanic, second place in Ludum Dare 26
Dictionary of Numbers — Chrome add-on puts large numbers into human terms (via)
May 20, 2013
Flickr launches major redesign with 1TB free space, new apps — looking pretty great
Marco Arment on the Tumblr acquisition — great early personal history of Tumblr
May 19, 2013
Yahoo approves Tumblr acquisition for $1.1B — the community isn't taking it well; let's hope Yahoo learned from their first billion-dollar mistake
May 17, 2013
Doodal — now you're doodling with portals
Bret Victor on drawing dynamic visualizations — I really wish Bret would independently release some of his work as products

Andy Baio lives here. Some rights reserved, for your pleasure.