Official Blog of the Adventuron Text Adventure Creation System

Friday 2 November 2018

Cloak of Darkness - 1999





For comparison purposes, here is a port of the hello-world-esque reference text-adventure "game" Cloak of Darkness (by Roger Firth) to Adventuron. Apologies for the poor "art".

A playthrough follows after the source.

Source:
start_at       = foyer
intro_graphic  = cod

setup    / dark_expression = is_dark
themes   / theme layout = "H LG D O" ; // We customize the layout to remove automatic exit listing
integers / message_tidyness : integer "3" min="0" ;
booleans / is_dark : boolean_dynamic {(is_at "bar" && is_present "cloak" )} // dark if at bar with cloak present (worn or unworn)

rooms {
   foyer     : room "You stand in the foyer. Exits lead north, south, and west." header="Foyer" ;
   cloakroom : room "You see a hook.\nThe foyer lies to the east." header="Cloakroom" ;
   bar       : room "You see a message scrawled in sawdust." header="Bar" ;
}

navigation {
   from, direction, to = [
      foyer, south, bar, 
      foyer, west, cloakroom, 
   ]
}

objects {
   cloak   : wearable  "a black velvet cloak" start_at="inventory" initially_worn="true" examine_message="The cloak appears to be light absorbent." ;
   hook    : scenery "a hook" conspicuous="false" start_at="cloakroom" ;
   sawdust : scenery "sawdust" conspicuous="false" start_at="bar" ;
}

on_command {
   : if (is_at "bar") {
      : match "n _"  {
         : goto "foyer" ;
         : redescribe ;
      }
      : match "examine sawdust; read sawdust; examine message; read message" {
         : if (message_tidyness == 0) {
            : print "The message seems to have been disrupted, you read, \"You have lost!\"." ;
         }
         : else {
            : print "The message reads ... you have won the game !" ;
         }
         : end_game ;
      }
      : if (is_dark) {
         : print "You disturb something in the dark" ;
         : decrement "message_tidyness" ;
      }
   }
   : else_if (is_at "foyer") {
     : match "n _"  {
        : print "You only just arrived, no need to leave now !" ; : done ;
     }
   }
   : else_if (is_at "cloakroom" && is_exists "cloak") {
      : match "hang cloak"  {
         : print "You hang the cloak on the hook." ;
         : destroy "cloak" ;
         : done;
      }
   }
}

assets {
   graphics {
      cod : base64_png "iVBORw0KGgoAAAANSUhEUgAAAQAAAACgCAIAAABseyVrAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAiOSURBVHhe7dhLluWoDgXQHMhr1vxnVnN4XinFKYKPEDLGNj570chAH4ytW436Q0RERERERERERERERERERERERERERERERERERETq3//9012aSrSNbMRPLm1K9HzZ7B5LA21Zvr20huiBLprUtC2Wxoie4+rRxPRffRBRBOeSvus5/2Hm75Bu8Jyx4w+AbsAfAH0afwD0afwB0KfxB0Cfxh/ARBtc4XOe8802mB65wttv8SGP+mB7jM4et/iKR32tPUZnj1t8xaO+1h6jI7fY4CKf8KhPtc3cbHOR/cmnesLXes6TnLfNRT7hIV9rp6HZ6S77e8jX2mlodrrL/h7ytXYaGrnLNtfZ3EO+1mYTs9l1NveEr7XZxFx3nZ3e0lPI17r3zc59gNtvdNHpt99rW2tea+sU2T/5AGiSLQ2vNf10NJzYk/6z5uW2jjhztBRKh3Rh82/WDWadLn2wdJemu/oVG/3D5xo9D5626JAtDZ9wvg8e5nwrcrn0RRvNw+dKYawtartLCwaFa3Eulgboate9cbtz+FC70IhKyJnQyrGNFuKsdGmMlrno1ds9wyeG29qFB0mwc2z+cpyFpQG6xdxvgI9q9LSjhlhb2e8WdtNs3Vr0x9IA3ev8J0k7YGmsppvQYhe2onbVAQndTEOrVvazpbG/yh1aDR9m9GNkhbI01uZMy3T7t6J21QEJ3UxDWSs76dJAwgjRDfA9RpfW+xglsZBoJfgLu5mGrEm6JKGqm0A3wJfzLK0ZYRTGQgeJVhPswgMSupkGqc2WxtqcabSV1ny09oUROnQLPdH036NQO1QeKKEd4MNXlyb9ZoQOnmg1IdtvpXWdLIzV0lvhq2dLwzVGjhEC5FSXJv2k6R8jwoWHM7X0ITIo5aw4Bwjl2dLwX9VNj1iVOFNL31LOiuxMHKBYtzPPILXhcvoQzEq2NDxDrOfJx4gdSl+EWcHSwDyBzuefJHAo0VVGx3HK7E5pQjSHjGM6keUOtPaHGP2JboCJTJfGfjNCQ+xTiFbDRNpz2U3wm9iKroVPVS7NOG1iq6tNvPjcd0iXkI/kXFrjk9UeSwPPNvFR33XxL+p+ISRkS8MNWbIsjT3e3Kd9190/Z/TzSL5RlSa0ch5u7pO/+lVsCN+jujSpp5WP/TL0ItOf/+0v5PXkA4wuLW4oc5yFzzf9Fnu8lleSV58tjZlDXIYyZUK35C2mX0Qa7vFyXgMv3Xj1RshWti13KMX3sxRet/3GuwktZWG41XfwFS0iL/rSd132v/rEDfAVrSBv+eoXXR6x4FCiDpnCBYNYnrLmXCLLsiksD1p2NFHTmimUU7KD1hxNZFkzhdVT1hxNZFkzhdVT1hxNZFkzhdVTZDNbGiNaY8HYtYYb+2eW9iKKWTBJrf7Vo7HpX1pJFHPpJNnNrzuXaIA9pmFo2+pshIiWmjuL0q3bs5tAtIhnXp3QqtvNk0O0CKY2MJRprSwNtPkzidbBXBrTmeWUS/NM/kyi1TDK/qWVPrEqotUwqdnScMisPkSvxNGn7+J/+4mIiIiIiIiI1uP/k6GPwuhnS8NEGysnPt3BJtGejCnHb6CVQPR63fnGb8BOI3of/2Qj05NM9A5DM41kZz7RC4wONH8DtJXANPM3QJsIjzJ/ALQD/gDouzD9gVEOFxI9BYY4NsfhQqJHwPTH5jhcSHQ/jH54jsOFRDdL5z48x+FCopulsxue43Ah0c3S2Q3PcbiQ6E4yuJjd8ByHCy/1zKeiB8lGJDwx4cJLzXqqB16N5shGJDwx4cJLOZ/KzpEmWLo71awjzneoQtvpne+X3Sp2SakKFF7Nfio89lBadWnquKxPujTDLSs/lgZOyBrK0tge0lul/x4Sq1rAeDAJYeluAvtZgvxZXZrhkBUeSwO/Q7rlk5bEOqTQIe2T/bkJXCl8t3Dh1eTBymdr7aeQ0808eHIAPY0qO1qV5Q/VZqRV1nBbuGf4wuHCBarP5nlgyfFkHu7NFEPJtomtXkBui6W7buHCNcpncz4w0rqZwpM51PBwXbJB+kxp9Q64cOzOrcKsZyutBeWjhZms3N8QmZ7kgyfZ300M5Y82r5Im5/u8zJlrl4XoVl2aZMpKqktTe5CMQvmzazT/YOfb0aqh/NHmVVOavI9cO3DzshA72Ex3ZMl+SzUNm9nScFuWL0tjptF8YeTHWvlLRvuXRk/cR+zmZVW5k7Kj4Mk5oJudn+Wk/7Yh05MMRr6zlaSlSwM9o/mlk+UvFnt3WYmniT9H/zChW6ukGi13qpDWzUwZJQj5l1a6hQvFmdrXG7q8JGcl2Z9VZVXJ08ev2s1zhOR000pGFXraS7NDzjQ5f/qL+S8vmWV+uVPVTXP2cap2k037FE9OlVEV7jkEp4weFCjZh/PyklbNPN/hYEcDWt26p0iCnVNlV8V6BshBQ8eN5m+le3O8nVaaEUp5mrSiAa1u3YO6CS0XtRWj5ch3VjnTNmTcXEJYuluwo4A+1WQ7GmC0sk+RqJHQ0q0KdEZJujTm4C/05Oypem28jmo048k5oFsr2Y6OCh9kRw2eKjS3M9M0rGxfMp08Vcix03aDC+Py6ZIcmzMZaWly+W/8eZLdzYgaVTajZwppzqVlCTvakpVUa5FTje4pvXO6NOzjKUQUmVhpAv48z+429yzh7ymZxtK8hqFkyKqwNPzDju5m1lXTPsaqJmeb8ud5dre5Z4krehrkuKFD02TUYieVRqsJm5h7Pbyv6tKkNmeak91t7lniip5dcqjz6DKz3MkgwU6jx1n/wW4cETna8wDVnG4tEowcojulMypLA7+1QnaVQI6dRnSbdEZlaeBHdVO0SjKeHKKbYZqrS5MK/hz9g+jhMNBYGmjIko+lgR/VTaKtYPpbS/OItpeN/rE0QERERERERERERERERERERERENOTPn/8DBNss8j34718AAAAASUVORK5CYII=";
   }
}

Playthrough:


Thursday 1 November 2018

New Game - Unhallowed (ZX Spectrum 128K + Web/Adventuron)


Unhallowed is a new PAW text adventure game, by @blerkotron, for the ZX Spectrum 128K (and compatible machines such as ZX Next) and web browsers (via Adventuron).


Unhallowed was developed for the ZX Spectrum using the excellent PAW adventure writing system. 

Upon finishing writing and testing the game, the game was then ported to Adventuron via the "PAW to Adventuron" converter, followed by a manual text reformatting pass performed by Blerkotron, to take into account the larger screen area.

A "loading" screen was then manually added, and a few other minor adjustments made. Finally, the game was exported to a HTML file.

To avoid spoilers, the screenshot is from early in the game, but things get spookier quite soon after.

See the release note by Blerkotron here.
The game can be downloaded for 8-bit, and web, here.