{"id":1972,"date":"2008-10-31T11:00:51","date_gmt":"2008-10-31T16:00:51","guid":{"rendered":"http:\/\/www.shamusyoung.com\/twentysidedtale\/?p=1972"},"modified":"2008-10-31T11:03:37","modified_gmt":"2008-10-31T16:03:37","slug":"phantom-of-the-arcade","status":"publish","type":"post","link":"https:\/\/www.shamusyoung.com\/twentysidedtale\/?p=1972","title":{"rendered":"Phantom of the Arcade"},"content":{"rendered":"<p>Susan Arendt, my editor at <a href=\"http:\/\/www.escapistmagazine.com\/\">The Escapist<\/a>, has authored <a href=\"http:\/\/www.escapistmagazine.com\/articles\/view\/events\/5403-Phantom-of-the-Arcade-A-Text-Adventure\">Phantom of the Arcade<\/a>.  It&#8217;s an old-school text adventure for their Halloween event, and it was written using <a href=\"http:\/\/www.inform-fiction.org\/I7\/Welcome.html\">Inform<\/a>.<\/p>\n<p>The creators of Inform call it, &#8220;A Design System for Interactive Fiction Based on Natural Language&#8221;.  <a href=\"?p=566\">I wrote about it<\/a> two years ago after giving it a try, and I pegged it for what it is:  A  programming language. At the time I said that trying to pretend that Inform wasn&#8217;t a programming language was misleading and likely to lead to frustration, and I also said that it can&#8217;t work.  I have been proven both right and wrong.  I asked Susan about her experience using Inform and she had this to say: <!--more--><\/p>\n<div class=\"quote\">Using Inform can be maddening. Things like spacing can break your code, and the error messages will point to something that you know works. Let me give you a perfect example of what it&#8217;s like to use Inform: I wrote a proof of concept game first, just to show the folks here what I was envisioning (many of them have never played a text adventure). There was a locked door in the proof of concept. I copied and pasted the exact code I used to create the door in the proof of concept game into the code for the Phantom game, and it didn&#8217;t work. Can&#8217;t tell you why, just plain wouldn&#8217;t work. That sort of thing happens frequently.<\/p>\n<p>That said, there are many ways to work around your problems. So even if you can&#8217;t get something to work the way it should, you can usually find a different way to achieve the exact same result.<\/p><\/div>\n<p>Frustrations with the compiler, gripes about the way it&#8217;s parsed, problems with formatting, developing workarounds&#8230;  sure sounds like a programming language to me.  It&#8217;s a programming language with inscrutable rules that lures non-coders in with promises that they&#8217;ll be able to make an interactive fiction game without needing to program.<\/p>\n<p>Susan sounds like a lot of programmers I&#8217;ve known (including the one that I see in the mirror every morning) who complain about the eccentricities and shortcomings of their chosen language.  <\/p>\n<p>But I must also eat some crow:<\/p>\n<div class=\"quote\">I&#8217;ll likely be doing another game in the future, now that I have a fairly solid knowledge of the Inform basics. I definitely need to leave myself more room for playtesting, though&#8230;all sorts of things went wrong that I never saw coming.<\/p>\n<p>[&#8230;]<\/p>\n<p>I, too, expected Inform to be much easier to use. I never expected to feel like I was programming&#8230; but Inform is definitely a programming language, no question. That said, it&#8217;s a language that&#8217;s far easier for non-programmers to pick up.\n<\/p><\/div>\n<p>It <strong>is<\/strong> is programming language, but it&#8217;s a programming language that&#8217;s accessible to non-programmers.  It <strong>does<\/strong> work.  Susan made a game, and is planning another.  The world of gaming is enriched, which is always the result of getting better tools.  I was harsh on Inform, but you can&#8217;t argue with success.<\/p>\n<p>As a coder I find the Inform syntax to be too formless, too vague, too&#8230; <em>analog<\/em> for my tastes.  But then, I&#8217;m not the target user.  I&#8217;m the guy the language was specifically <em>not<\/em> designed for.  All the other languages were made for people like me, and this one is aimed at everyone else.  <\/p>\n<p>And just so you don&#8217;t have to scroll all the way back up, here is another link to <a href=\"http:\/\/www.escapistmagazine.com\/articles\/view\/events\/5403-Phantom-of-the-Arcade-A-Text-Adventure\">Phantom of the Arcade<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Susan Arendt, my editor at The Escapist, has authored Phantom of the Arcade. It&#8217;s an old-school text adventure for their Halloween event, and it was written using Inform. The creators of Inform call it, &#8220;A Design System for Interactive Fiction Based on Natural Language&#8221;. I wrote about it two years ago after giving it a [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[55],"tags":[130,131],"class_list":["post-1972","post","type-post","status-publish","format-standard","hentry","category-game-design","tag-inform","tag-interactive-fiction"],"_links":{"self":[{"href":"https:\/\/www.shamusyoung.com\/twentysidedtale\/index.php?rest_route=\/wp\/v2\/posts\/1972","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.shamusyoung.com\/twentysidedtale\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.shamusyoung.com\/twentysidedtale\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.shamusyoung.com\/twentysidedtale\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.shamusyoung.com\/twentysidedtale\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1972"}],"version-history":[{"count":0,"href":"https:\/\/www.shamusyoung.com\/twentysidedtale\/index.php?rest_route=\/wp\/v2\/posts\/1972\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.shamusyoung.com\/twentysidedtale\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1972"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.shamusyoung.com\/twentysidedtale\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1972"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.shamusyoung.com\/twentysidedtale\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1972"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}