{"id":98,"date":"2014-01-15T16:25:07","date_gmt":"2014-01-15T16:25:07","guid":{"rendered":"http:\/\/sigg3.net\/biamin\/?p=98"},"modified":"2014-02-24T16:36:19","modified_gmt":"2014-02-24T16:36:19","slug":"the-last-pieces-of-the-puzzle","status":"publish","type":"post","link":"https:\/\/sigg3.net\/biamin\/98","title":{"rendered":"The last pieces of the puzzle"},"content":{"rendered":"<p>I have waited with releasing any code, because I want it to be as close to complete as possible when I do. That&#8217;s just the way I work, with anything. Today&#8217;s github hipsters want to release early and often, but I grew up in a time when <strong>games weren&#8217;t patched because they did what they were meant to<\/strong> from release. Because not everyone had The Internet, and those who did usually didn&#8217;t have the bandwidth or know-how.<\/p>\n<p>Today&#8217;s very different. People actually pay to be alpha and beta testers (they call it early adopters) on Steam. That&#8217;s ideal for fast and agile development, but I&#8217;m more of a dictator when it comes to creating things. I have too much of an ego. So <em>biamin<\/em> will be released as version 1.<\/p>\n<p>What remains to be done?<\/p>\n<ul>\n<li>There are 3 bugs that needs to be addressed before &quot;shipping&quot;:\n<ol>\n<li>To avoid a systematic bug, I have decided that items will be randomly scattered not just at boot, but also when an item is found. This wasn&#8217;t my intent, but there you go. If in doubt, make it random. Random is good.<\/li>\n<li>The ASCII graphics didn&#8217;t pass the UTF-8 test, and was botched. This just means I&#8217;ll have to hunt down the few symbols that aren&#8217;t from the first 127 characters of ASCII.<\/li>\n<li>If you hammer the keyboard like an idiot, when [R]oll is expecting 1 symbol, bash keeps that variable for the foreseeable future. But it also crashes. This is an easy fix, I just unset the key pressed once the procedure is in motion. I can&#8217;t fix BASH, but I should avoid crashing it.<\/ol>\n<\/li>\n<li>In order to get code out of the door, I have decided to skip the elaborate social media feature &#8211;announce, and instead just echo a message to the terminal which the user can share him or herself to the same effect.<\/li>\n<li>I want to adhere to good coding practices, which involves verbose commenting and coding style. Since my HTML days I enjoy writing everything in small case, but apparently that&#8217;s not considered good form. I will adhere to the BASH coding conventions of: variables in CAPS, functions in CamelCase and loop variables named likeTHIS.<\/li>\n<\/ul>\n<p>The open question is, when will I have time to do &#8217;em? The systematic bug is a bit hard, because it renders obsolete a different codebase (the diminishing item array). Thankfully, that can be ignored in version 1, because <em>the code will work<\/em>.<\/p>\n<p><strong>Biamin is playtested!<\/strong><br \/>\nMy brother <strong>Koew<\/strong> did some play-testing, and broke some of the loops by repeatedly hitting the key like an idiot. I think this comes from his upbringing using Windooze. In GNU\/Linux (and thus, the terminal) you <em>never<\/em> hit the key repeatedly unless you want a broken system. You read what&#8217;s on the screen, and hit the desired key. Otherwise, you may end up uninstalling the kernel you&#8217;re currently running! Anyway, this is an easy fix, see the above ordered list.***<\/p>\n<p>He also complained that my map interface used [N]orth [S]outh [E]ast and [W]est instead of the WASD keys that are prevalent in gaming. He&#8217;s got a good point there, but I&#8217;m not sure if fixing it to be [W]North, [A] East, [S] South, [D] West would put <em>the rest of the game<\/em> in peril stylewise. At the moment, I use the first letter of the command, which breaks convention but it looks good aesthetically and also reflects early console adventure games. I will probably release version 1 as is and change it if there&#8217;s a request (from anyone else).<\/p>\n<p>Related to this he had some systematic issues, because he didn&#8217;t liked the forced ASCII banners when travelling that shows e.g. a forest road. I think they add atmosphere to the game, and I won&#8217;t change this because biamin wasn&#8217;t meant to be tic-tac-toe, but an interactive world. The ASCII banners add some colour to the world of MUSH\/MUD and also gives you time to consider your next move. Koew just walked around fighting, but there are other important mechanics available.<\/p>\n<p>Once the above is fixed, I will test it on Fedora, Slackware and Ubuntu.<\/p>\n<p><strong>In other news:<\/strong> I have started on a minigame for an as of yet unannounced <em>sequel<\/em> to Back in a minute! The sequel was planned this summer, when I was doing the remaining ASCII for biamin, and I look forward to coding it. The sequel will be just like Back in a minute, only better coded, and set in a completely different world.<\/p>\n<p><strong>*** EDIT Feb 24th: Sarcasm alert!<\/strong><br \/>\nI realize I was a bit unclear about it in the text above with regards to uninstalling the kernel: I am joking!<\/p>\n<p>There is no way biamin.sh will uninstall the kernel or do anything of the sort! The _only thing_ it tacitly removes are the temporary files and game files in $GAMEDIR that it created in the first place. The game isn&#8217;t meant to be run at root, but that shouldn&#8217;t pose a problem either.<\/p>\n<p>In the text above, I was jokingly referring to an earlier GNU\/Linux-related incident, where I was ssh&#8217;d into an ARM based embedded Linux in a screen session, where I managed to apt-get uninstall the kernel I was currently running. Luckily, I could still exit that screen session and re-install the kernel.. Which is amazing! But it was completely related to my not reading what was on the screen, and it is in NO WAY related to Back in a minute.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I have waited with releasing any code, because I want it to be as close to complete as possible when I do. That&#8217;s just the way I work, with anything. Today&#8217;s github hipsters want to release early and often, but I grew up in a time when games weren&#8217;t patched because they did what they&#8230; <a href=\"https:\/\/sigg3.net\/biamin\/98\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">The last pieces of the puzzle<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[11,8,12,7,9,10],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/sigg3.net\/biamin\/wp-json\/wp\/v2\/posts\/98"}],"collection":[{"href":"https:\/\/sigg3.net\/biamin\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sigg3.net\/biamin\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sigg3.net\/biamin\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/sigg3.net\/biamin\/wp-json\/wp\/v2\/comments?post=98"}],"version-history":[{"count":16,"href":"https:\/\/sigg3.net\/biamin\/wp-json\/wp\/v2\/posts\/98\/revisions"}],"predecessor-version":[{"id":158,"href":"https:\/\/sigg3.net\/biamin\/wp-json\/wp\/v2\/posts\/98\/revisions\/158"}],"wp:attachment":[{"href":"https:\/\/sigg3.net\/biamin\/wp-json\/wp\/v2\/media?parent=98"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sigg3.net\/biamin\/wp-json\/wp\/v2\/categories?post=98"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sigg3.net\/biamin\/wp-json\/wp\/v2\/tags?post=98"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}