{"id":985,"date":"2018-12-11T14:20:34","date_gmt":"2018-12-11T22:20:34","guid":{"rendered":"http:\/\/www.adamantyr.com\/blog\/?p=985"},"modified":"2018-12-11T14:20:39","modified_gmt":"2018-12-11T22:20:39","slug":"bug-hunt-blues","status":"publish","type":"post","link":"http:\/\/www.adamantyr.com\/index.php\/2018\/12\/11\/bug-hunt-blues\/","title":{"rendered":"Bug Hunt Blues"},"content":{"rendered":"\n<p>Happy upcoming holidays to everyone! Crawling along with the work&#8230; Bugs are becoming a major hassle.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"alignleft\"><img loading=\"lazy\" decoding=\"async\" width=\"272\" height=\"208\" src=\"http:\/\/test.adamantyr.com\/wp-content\/uploads\/2018\/12\/combat5.png\" alt=\"\" class=\"wp-image-987\"\/><\/figure><\/div>\n\n\n\n<p>I implemented monster and mob movement, which have been disabled for quite some time. This created a perplexing bug where suddenly the game would just screeching crash for no apparent reason&#8230; it turned out my NPC mobs were moving onto my player and trying to trigger themselves! This didn&#8217;t work because a return stack wasn&#8217;t aligned for it.<\/p>\n\n\n\n<p>Another bug happened after I cast a mass heal spell, and the game locked up. It turned out my &#8220;generate ally unit&#8221; list was including non-existent units, which caused all sorts of unexpected side effects and crashes. I suspect there are further bugs here because I&#8217;m still having the odd crash when a monster starts their turn.<\/p>\n\n\n\n<p>And I haven&#8217;t even tested all the spell effects yet! <br><\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"alignright\"><img loading=\"lazy\" decoding=\"async\" width=\"272\" height=\"208\" src=\"http:\/\/test.adamantyr.com\/wp-content\/uploads\/2018\/12\/travel2.png\" alt=\"\" class=\"wp-image-988\"\/><\/figure><\/div>\n\n\n\n<p>The program is big and complex enough now that small changes can cause regressions in other places I didn&#8217;t expect. This is a pain in the neck, to say the least&#8230; I want to get the engine to a complete enough state I can start getting some help with play balance testing instead of engine testing.<br><\/p>\n\n\n\n<p>I was noticing that my party was wiping the floor with most of the monsters, so I increased hit points across the board. I think I may have gone a bit too far that direction, but I think I&#8217;ll wait for independent confirmation before any further changes. Rations are super-effective in recovering fatigue, almost TOO much, so they may need to be slowed.<br><\/p>\n\n\n\n<p>There are plenty of lower-priority bugs as well. I noticed that monsters are spawning in spots they can&#8217;t get out of, many NPC&#8217;s are missing a &#8220;Leave&#8221; option so you&#8217;re trapped talking to them forever, map exits don&#8217;t come out where they are supposed to, and so forth. Content is relatively easy to fix, fortunately.<br><\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"alignleft\"><img loading=\"lazy\" decoding=\"async\" width=\"272\" height=\"208\" src=\"http:\/\/test.adamantyr.com\/wp-content\/uploads\/2018\/12\/combat6.png\" alt=\"\" class=\"wp-image-990\"\/><\/figure><\/div>\n\n\n\n<p>At some point I&#8217;ll also go back through the sound library and rework some of the sounds. I removed the original victory tune because I really wanted something different from <em>Tunnels of Doom<\/em>.<\/p>\n\n\n\n<p>I also expanded the amount of sound memory available to 8K from 4K, so I actually have more space for complex sounds than I did before. For example, the lightning bolt sound from <em>Tunnels of Doom<\/em> takes over 360 bytes because it&#8217;s an unrolled loop of subtle frequency and volume changes. I don&#8217;t think I&#8217;ll do anything quite that large, but I definitely want to revise some sounds which I lifted from other TI games and make them my own.<br><\/p>\n\n\n\n<p>The scariest bug, incidentally, is one on the hardware. I noticed when testing the game engine there that suddenly my party wasn&#8217;t able to hit the monsters in melee at all, and the monsters were hitting my characters and critically striking every single time. A very curious behavior&#8230; which does not repro in the emulator. I have a suspicion that the timer clock I&#8217;m using for the random number generator MAY be skewing things, but I haven&#8217;t had time to dig deeply into it yet.<\/p>\n\n\n\n<p>Santa won&#8217;t be putting the game in your stockings quite yet, 99&#8217;ers&#8230; but we&#8217;re close!<br><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Happy upcoming holidays to everyone! Crawling along with the work&#8230; Bugs are becoming a major hassle. I implemented monster and mob movement, which have been disabled for quite some time. This created a perplexing bug where suddenly the game would &hellip; <a href=\"http:\/\/www.adamantyr.com\/index.php\/2018\/12\/11\/bug-hunt-blues\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[16,4,5,11,12],"tags":[],"class_list":["post-985","post","type-post","status-publish","format-standard","hentry","category-assembly","category-crpg","category-design","category-screenshots","category-ti-994a"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/pgaeMJ-fT","_links":{"self":[{"href":"http:\/\/www.adamantyr.com\/index.php\/wp-json\/wp\/v2\/posts\/985","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.adamantyr.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.adamantyr.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.adamantyr.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.adamantyr.com\/index.php\/wp-json\/wp\/v2\/comments?post=985"}],"version-history":[{"count":2,"href":"http:\/\/www.adamantyr.com\/index.php\/wp-json\/wp\/v2\/posts\/985\/revisions"}],"predecessor-version":[{"id":991,"href":"http:\/\/www.adamantyr.com\/index.php\/wp-json\/wp\/v2\/posts\/985\/revisions\/991"}],"wp:attachment":[{"href":"http:\/\/www.adamantyr.com\/index.php\/wp-json\/wp\/v2\/media?parent=985"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.adamantyr.com\/index.php\/wp-json\/wp\/v2\/categories?post=985"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.adamantyr.com\/index.php\/wp-json\/wp\/v2\/tags?post=985"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}