{"id":1121,"date":"2026-03-22T20:24:50","date_gmt":"2026-03-22T20:24:50","guid":{"rendered":"https:\/\/retrorendezvous.org\/?p=1121"},"modified":"2026-04-02T08:07:56","modified_gmt":"2026-04-02T08:07:56","slug":"riddles-in-the-dark-goblin-cave-adventure","status":"publish","type":"post","link":"https:\/\/retrorendezvous.org\/index.php\/2026\/03\/22\/riddles-in-the-dark-goblin-cave-adventure\/","title":{"rendered":"Riddles in the Dark : Goblin Cave Adventure"},"content":{"rendered":"\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"776\" src=\"https:\/\/retrorendezvous.org\/wp-content\/uploads\/2026\/03\/GoblinCaveV5a-1024x776.jpg\" alt=\"\" class=\"wp-image-1150\" style=\"aspect-ratio:1.2657914013636107;width:431px;height:auto\" srcset=\"https:\/\/retrorendezvous.org\/wp-content\/uploads\/2026\/03\/GoblinCaveV5a-1024x776.jpg 1024w, https:\/\/retrorendezvous.org\/wp-content\/uploads\/2026\/03\/GoblinCaveV5a-300x227.jpg 300w, https:\/\/retrorendezvous.org\/wp-content\/uploads\/2026\/03\/GoblinCaveV5a-768x582.jpg 768w, https:\/\/retrorendezvous.org\/wp-content\/uploads\/2026\/03\/GoblinCaveV5a.jpg 1262w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"814\" src=\"https:\/\/retrorendezvous.org\/wp-content\/uploads\/2026\/03\/GolblinCaveAdventure2-1024x814.jpg\" alt=\"\" class=\"wp-image-1125\" style=\"aspect-ratio:1.2579940639525116;width:430px;height:auto\" srcset=\"https:\/\/retrorendezvous.org\/wp-content\/uploads\/2026\/03\/GolblinCaveAdventure2-1024x814.jpg 1024w, https:\/\/retrorendezvous.org\/wp-content\/uploads\/2026\/03\/GolblinCaveAdventure2-300x238.jpg 300w, https:\/\/retrorendezvous.org\/wp-content\/uploads\/2026\/03\/GolblinCaveAdventure2-768x610.jpg 768w, https:\/\/retrorendezvous.org\/wp-content\/uploads\/2026\/03\/GolblinCaveAdventure2.jpg 1442w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"has-normal-font-size\">Copy and paste the program text in the file below to <a href=\"https:\/\/bbcmic.ro\/\">Owlet<\/a><\/p>\n\n\n\n<div class=\"wp-block-file\"><a id=\"wp-block-file--media-1a77081e-b48d-4082-b925-11f757473cca\" href=\"https:\/\/retrorendezvous.org\/wp-content\/uploads\/2026\/03\/GoblinCaveAdventureV5.txt\">GoblinCaveAdventureV5<\/a><a href=\"https:\/\/retrorendezvous.org\/wp-content\/uploads\/2026\/03\/GoblinCaveAdventureV5.txt\" class=\"wp-block-file__button wp-element-button\" download aria-describedby=\"wp-block-file--media-1a77081e-b48d-4082-b925-11f757473cca\">Download<\/a><\/div>\n\n\n\n<p><strong>Surviving the Darkness: A Guide to &#8220;Goblin Cave Adventure&#8221;<\/strong><\/p>\n\n\n\n<p>Picture this: It\u2019s the early 1980s. The room is dark, save for the warm, phosphor glow of a CRT monitor. The mechanical clatter of your Acorn BBC Micro keyboard echoes as you frantically type\u00a0&#8220;KILL NASTY GOBLIN&#8221;. You are playing Melbourne House\u2019s legendary 1982 text adventure,\u00a0<em>The Hobbit<\/em>.<\/p>\n\n\n\n<p>What made that game so magical wasn&#8217;t just the graphics or the prose; it was the fact that the world felt&nbsp;<em>alive<\/em>. Characters didn&#8217;t just wait for you in rooms\u2014they wandered, they fought, they got lost, and they died while you were off doing something else entirely.<\/p>\n\n\n\n<p>I wanted to recapture that exact feeling. I wanted to build a game that felt like a lost cassette tape from 1984, but with a modern twist: infinite replayability.<\/p>\n\n\n\n<p>The result is&nbsp;<strong>Goblin Cave Adventure<\/strong>, a procedurally generated, living text adventure written entirely in authentic BBC BASIC II.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">The Motivation: 32KB of Living Ecosystem<\/h3>\n\n\n\n<p>My goal was simple but technically daunting: Could I build a procedurally generated maze, an auto-mapper, a real-time command parser, and an ecosystem of autonomous NPCs that loot items, unlock doors, and fight each other&#8230; all within the brutal constraints of the BBC Micro\u2019s memory?<\/p>\n\n\n\n<p>Because BBC BASIC II lacks modern luxuries like multi-line&nbsp;IF&#8230;ENDIF&nbsp;blocks, the code is a beautiful, tangled web of single-line logic, clever array management, and Mode 7 Teletext trickery.<\/p>\n\n\n\n<p>But the effort was worth it. The cave system is a living MUD-lite. If a wandering Goblin hits a locked door, he\u2019ll turn around\u2014unless he happened to find the matching key on the floor a few turns ago, in which case he\u2019ll unlock it! If Gandalf crosses paths with the Great Goblin, they will fight to the death. If you are a room away when this happens, you might just read:&nbsp;<em>&#8220;You hear a lock click,&#8221;<\/em>&nbsp;or&nbsp;<em>&#8220;A scraping noise echoes down the passage.&#8221;<\/em><\/p>\n\n\n\n<p>It is a game where you are not the center of the universe. You are just trying to survive it.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">How to Play: Surviving the Depths<\/h3>\n\n\n\n<p>Your overarching objective is to clear the caves of darkness. There are&nbsp;<strong>5 hostile enemies<\/strong>&nbsp;(Gollum, the Vicious Warg, two nasty Goblins, and the Great Goblin). If you can eliminate them all, you win.<\/p>\n\n\n\n<p><strong>The Interface &amp; Stats<\/strong><br>At the top of the screen, you will see a fixed, non-scrolling yellow HUD tracking your vitals:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>HP (Hit Points):<\/strong>&nbsp;You start with 20. Take a hit, lose 1 HP. Hit 0, and you die in the dark.<\/li>\n\n\n\n<li><strong>STR (Strength):<\/strong>&nbsp;You start at 4. (Hint: if you find and&nbsp;TAKE STING, your strength jumps to 6!)<\/li>\n\n\n\n<li><strong>ENEMIES:<\/strong>&nbsp;The number of bad guys left alive. Friendly dwarves and Gandalf don&#8217;t count\u2014and if they kill a goblin for you, this number will tick down!<\/li>\n<\/ul>\n\n\n\n<p><strong>The Commands<\/strong><br>The parser is forgiving (case-insensitive) but strictly 1980s. Here is your survival toolkit:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Movement:<\/strong>&nbsp;N,&nbsp;S,&nbsp;E,&nbsp;W,&nbsp;U&nbsp;(Up),&nbsp;D&nbsp;(Down).<\/li>\n\n\n\n<li><strong>Look Around:<\/strong>&nbsp;L&nbsp;or&nbsp;LOOK.<\/li>\n\n\n\n<li><strong>The Auto-Mapper:<\/strong>&nbsp;Type&nbsp;M&nbsp;or&nbsp;MAP. This is a massive quality-of-life feature! It pauses the game and draws a complete Teletext map of everything you have explored on both the Upper and Lower levels.<\/li>\n\n\n\n<li><strong>Inventory:<\/strong>&nbsp;I,&nbsp;INV, or&nbsp;INVENTORY.<\/li>\n\n\n\n<li><strong>Item Management:<\/strong>&nbsp;TAKE [ITEM]&nbsp;and&nbsp;DROP [ITEM]. (e.g.,&nbsp;TAKE STING,&nbsp;DROP KEY).<\/li>\n\n\n\n<li><strong>The Ring:<\/strong>&nbsp;WEAR RING&nbsp;grants you 10 turns of invisibility. Enemies will not ambush you, and if you attack them, they will thrash blindly in the dark! Type&nbsp;REMOVE RING&nbsp;to take it off.<\/li>\n\n\n\n<li><strong>Doors:<\/strong>&nbsp;Four colored doors (Golden, Curious, Iron, Red) block your path. Use&nbsp;OPEN,&nbsp;CLOSE,&nbsp;LOCK, and&nbsp;UNLOCK&nbsp;to interact with them (assuming you have the right key!).<\/li>\n\n\n\n<li><strong>Combat:<\/strong>&nbsp;Type&nbsp;FIGHT,&nbsp;ATTACK, or&nbsp;KILL&nbsp;(e.g.,&nbsp;FIGHT GOBLIN).<\/li>\n\n\n\n<li><strong>Spying:<\/strong>&nbsp;Type&nbsp;NPC&nbsp;at any time to pull up a debug screen showing which NPCs are alive, dead, and exactly what items they have looted from the map!<\/li>\n<\/ul>\n\n\n\n<p><strong>The Real-Time Twist<\/strong><br>While it is a turn-based text adventure, it is also watching the clock. If you sit at the&nbsp;&gt;&nbsp;prompt for 30 seconds without pressing a key, the game will automatically execute a&nbsp;WAIT&nbsp;command. The world will tick forward, enemies will move, and you might suddenly find yourself ambushed by a Warg while you were sipping your tea!<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Ready to Descend?<\/h3>\n\n\n\n<p>If you want to step back into 1984, fire up a BBC Micro emulator (like BeebEm, B-Em, or JSBeeb in your browser), paste in the code, and type&nbsp;RUN.<\/p>\n\n\n\n<p>Keep your wits sharp, let the dwarves do the heavy lifting if you can, and whatever you do&#8230; listen closely to the noises in the dark.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Copy and paste the program text in the file below to Owlet Surviving the Darkness: A Guide to &#8220;Goblin Cave Adventure&#8221; Picture this: It\u2019s the early 1980s. The room is [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_genesis_hide_title":false,"_genesis_hide_breadcrumbs":false,"_genesis_hide_singular_image":false,"_genesis_hide_footer_widgets":false,"_genesis_custom_body_class":"","_genesis_custom_post_class":"","_genesis_layout":"","_price":"","_stock":"","_tribe_ticket_header":"","_tribe_default_ticket_provider":"","_tribe_ticket_capacity":"0","_ticket_start_date":"","_ticket_end_date":"","_tribe_ticket_show_description":"","_tribe_ticket_show_not_going":false,"_tribe_ticket_use_global_stock":"","_tribe_ticket_global_stock_level":"","_global_stock_mode":"","_global_stock_cap":"","_tribe_rsvp_for_event":"","_tribe_ticket_going_count":"","_tribe_ticket_not_going_count":"","_tribe_tickets_list":"[]","_tribe_ticket_has_attendee_info_fields":false,"footnotes":""},"categories":[27,19],"tags":[],"class_list":["post-1121","post","type-post","status-publish","format-standard","category-basic-programming","category-bbc-micro-b","entry"],"featured_image_src":null,"featured_image_src_square":null,"author_info":{"display_name":"Paul Bussey","author_link":"https:\/\/retrorendezvous.org\/index.php\/author\/paul-admin\/"},"_links":{"self":[{"href":"https:\/\/retrorendezvous.org\/index.php\/wp-json\/wp\/v2\/posts\/1121","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/retrorendezvous.org\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/retrorendezvous.org\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/retrorendezvous.org\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/retrorendezvous.org\/index.php\/wp-json\/wp\/v2\/comments?post=1121"}],"version-history":[{"count":7,"href":"https:\/\/retrorendezvous.org\/index.php\/wp-json\/wp\/v2\/posts\/1121\/revisions"}],"predecessor-version":[{"id":1155,"href":"https:\/\/retrorendezvous.org\/index.php\/wp-json\/wp\/v2\/posts\/1121\/revisions\/1155"}],"wp:attachment":[{"href":"https:\/\/retrorendezvous.org\/index.php\/wp-json\/wp\/v2\/media?parent=1121"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/retrorendezvous.org\/index.php\/wp-json\/wp\/v2\/categories?post=1121"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/retrorendezvous.org\/index.php\/wp-json\/wp\/v2\/tags?post=1121"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}