{"id":56,"date":"2014-01-16T04:11:52","date_gmt":"2014-01-16T04:11:52","guid":{"rendered":"http:\/\/thewebsiteisdown.com\/twidblog\/?p=56"},"modified":"2017-04-19T07:09:31","modified_gmt":"2017-04-19T13:09:31","slug":"rapid-prototyping-with-inform","status":"publish","type":"post","link":"https:\/\/thewebsiteisdown.com\/twidblog\/rapid-prototyping-with-inform\/","title":{"rendered":"Rapid Prototyping with Inform"},"content":{"rendered":"<p>While we&#8217;re waiting for my Dogecoin fortune to make itself I&#8217;ll tell you a story. Sit up here on my knee. That&#8217;s not my knee! <em>Nevermind what it was!<\/em> Let&#8217;s just say I&#8217;m very excited to tell you about this cool tool called Inform and how you can use it for rapidly prototyping your game.<\/p>\n<div id=\"attachment_68\" style=\"width: 430px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/thewebsiteisdown.com\/twidblog\/wp-content\/uploads\/2014\/01\/ill_go_up_and_see.jpg\"><img aria-describedby=\"caption-attachment-68\" decoding=\"async\" loading=\"lazy\" class=\" wp-image-68 \" src=\"http:\/\/thewebsiteisdown.com\/twidblog\/wp-content\/uploads\/2014\/01\/ill_go_up_and_see.jpg\" alt=\"More code, sooner.\" width=\"420\" height=\"248\" srcset=\"https:\/\/thewebsiteisdown.com\/twidblog\/wp-content\/uploads\/2014\/01\/ill_go_up_and_see.jpg 700w, https:\/\/thewebsiteisdown.com\/twidblog\/wp-content\/uploads\/2014\/01\/ill_go_up_and_see-300x177.jpg 300w, https:\/\/thewebsiteisdown.com\/twidblog\/wp-content\/uploads\/2014\/01\/ill_go_up_and_see-400x237.jpg 400w\" sizes=\"(max-width: 420px) 100vw, 420px\" \/><\/a><p id=\"caption-attachment-68\" class=\"wp-caption-text\">More code. Sooner.<\/p><\/div>\n<p><em>But why should I Prototype? I want to start coding right away! Waaah!<\/em><\/p>\n<p>If you&#8217;re a dolt who likes spending lots of time re-doing work then skip this post and start coding your game immediately without a second thought. (Or I should say: start coding your custom game engine and framework immediately because you&#8217;re probably into that as well). The rest of you smarties stay with me.<\/p>\n<p>This tools works well for any game where the player needs to go places, get things and do things with them in order to solve puzzles. Sounds like every game I&#8217;ve ever heard of (not you Mario Kart). The benefits of working this all out ahead of time should be obvious but essentially you are generating a location list, an item list, an NPC list and you can also formalize the order in which things must be done by the player so you don&#8217;t trap them in impossible scenarios.<\/p>\n<p>The tool is <a href=\"http:\/\/inform7.com\/\" target=\"_blank\">Inform 7<\/a>. It is designed for text adventure games but you can use it for prototyping any type of game. I&#8217;ll give you a very simple example.<\/p>\n<pre>\"Prototype\" by Josh\r\n\r\n<span style=\"line-height: 1.6;\">The Lookout Point is a room. <\/span>An old man is here.\r\n\r\n<span style=\"line-height: 1.6;\">The Outskirts is south from the Lookout Point. <\/span>A campaign poster is here.\r\n\r\n<span style=\"line-height: 1.6;\">The Village is east from the Outskirts. \r\n\r\n<\/span><span style=\"line-height: 1.6;\">The Scumm Bar is inside from The Village.\r\n<\/span><\/pre>\n<p>That text is actually the source code to a simple Inform game. All Inform input is written in a language which closely resembles English. This code describes four locations and two other items: an old man and a campaign poster. Lets see what we can get from Inform after running it.<\/p>\n<p><a href=\"http:\/\/thewebsiteisdown.com\/twidblog\/wp-content\/uploads\/2014\/01\/informMap-simple.png\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-65\" src=\"http:\/\/thewebsiteisdown.com\/twidblog\/wp-content\/uploads\/2014\/01\/informMap-simple.png\" alt=\"informMap-simple\" width=\"626\" height=\"661\" srcset=\"https:\/\/thewebsiteisdown.com\/twidblog\/wp-content\/uploads\/2014\/01\/informMap-simple.png 626w, https:\/\/thewebsiteisdown.com\/twidblog\/wp-content\/uploads\/2014\/01\/informMap-simple-284x300.png 284w, https:\/\/thewebsiteisdown.com\/twidblog\/wp-content\/uploads\/2014\/01\/informMap-simple-400x422.png 400w\" sizes=\"(max-width: 626px) 100vw, 626px\" \/><\/a><\/p>\n<p>Here you see Inform has created a map for us and a list of locations, each with a list of starting contents. This is called the index and it took us all of like, what, 6 seconds? Nice.<\/p>\n<p>Let&#8217;s flesh it out a bit. You can add descriptive text to everything and that too will show up in your index. Here are some additional details:<\/p>\n<pre>...\r\nThe Lookout Point is a room. \"High atop Melee Island, this rocky overlook pokes into the clouds.\"\r\n\r\nAn old man is here. \"A weathered old man.\" The description is \"An old grey-beard in a weathered raincoat gazes out at the sea.\"\r\n...<\/pre>\n<p>If we look at the index now we can see these additional details. If you were to pass this on to your artist or level designer they would still have lots of questions for you but this isn&#8217;t intended to be a repository for art or detailed screenshots. Just a very simple 1000 foot view of your game and how the pieces fit together.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>While we&#8217;re waiting for my Dogecoin fortune to make itself I&#8217;ll tell you a story. Sit up here on my knee. That&#8217;s not my knee! Nevermind what it was! Let&#8217;s just say I&#8217;m very excited to tell you about this cool tool called Inform and how you can use it for rapidly prototyping your game. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":68,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[4],"tags":[],"_links":{"self":[{"href":"https:\/\/thewebsiteisdown.com\/twidblog\/wp-json\/wp\/v2\/posts\/56"}],"collection":[{"href":"https:\/\/thewebsiteisdown.com\/twidblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thewebsiteisdown.com\/twidblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thewebsiteisdown.com\/twidblog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/thewebsiteisdown.com\/twidblog\/wp-json\/wp\/v2\/comments?post=56"}],"version-history":[{"count":10,"href":"https:\/\/thewebsiteisdown.com\/twidblog\/wp-json\/wp\/v2\/posts\/56\/revisions"}],"predecessor-version":[{"id":1382,"href":"https:\/\/thewebsiteisdown.com\/twidblog\/wp-json\/wp\/v2\/posts\/56\/revisions\/1382"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/thewebsiteisdown.com\/twidblog\/wp-json\/wp\/v2\/media\/68"}],"wp:attachment":[{"href":"https:\/\/thewebsiteisdown.com\/twidblog\/wp-json\/wp\/v2\/media?parent=56"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thewebsiteisdown.com\/twidblog\/wp-json\/wp\/v2\/categories?post=56"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thewebsiteisdown.com\/twidblog\/wp-json\/wp\/v2\/tags?post=56"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}