{"id":303,"date":"2014-09-06T15:39:05","date_gmt":"2014-09-06T13:39:05","guid":{"rendered":"http:\/\/www.blackgolem.com\/blog\/?p=303"},"modified":"2019-07-16T08:57:16","modified_gmt":"2019-07-16T06:57:16","slug":"the-corner-cutting-experiment","status":"publish","type":"post","link":"http:\/\/www.blackgolem.com\/blog\/the-corner-cutting-experiment\/","title":{"rendered":"The Corner Cutting Experiment"},"content":{"rendered":"<p>Nordenfelt&#8217;s release date\u00a0got scheduled to be on <a href=\"http:\/\/www.nordenfelt-thegame.com\/blog\/2014\/08\/25\/nordenfelt-release-on-december-15th-2014\/\">December 15th<\/a>. This means there are only 3 months left. Therefore I boiled down Nordenfelt&#8217;s task list as much as possible. Only the most\u00a0important\u00a0points on the list survived. Then\u00a0I applied Parkinson&#8217;s law and shrinked\u00a0the schedule\u00a0to half its time. This means <a href=\"http:\/\/www.nordenfelt-thegame.com\/\">Nordenfelt<\/a> should be finished in the end of\u00a0October. Yeah, right! \ud83d\ude42<\/p>\n<p>For sticking to this plan I had to get &#8220;faster&#8221;. Not by\u00a0skimping but by focusing on the most important aspects and leaving everything else out. This includes fancy graphics, polish, sounds and other details. That&#8217;s the 80\/20 rule in action.<\/p>\n<blockquote class=\"twitter-tweet\" data-width=\"530\" data-dnt=\"true\">\n<p lang=\"en\" dir=\"ltr\">This week&#39;s experiment: finishing tasks in half the time. Not by working faster but by cutting corners like crazy.<\/p>\n<p>&mdash; hermitC (@black_golem) <a href=\"https:\/\/twitter.com\/black_golem\/status\/503802769611186176?ref_src=twsrc%5Etfw\">August 25, 2014<\/a><\/p><\/blockquote>\n<p><script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script><\/p>\n<p>This experiment went well so far. But then came <a href=\"http:\/\/www.squirrel-lang.org\" target=\"_blank\" rel=\"noopener noreferrer\">Squirrel<\/a>.<\/p>\n<p>I always wanted to integrate a scripting language in <a href=\"http:\/\/www.nordenfelt-thegame.com\/\">Nordenfelt<\/a> to save compile time. The new bot swarm feature was the perfect reason to integrate Squirrel. The bots were planned to approach enemies and blow them up on their own. The bot\u00a0AI was perfectly suited for scripting.<\/p>\n<p>As mentioned above, the current schedule is very restricted. And unknown technology turned out to be the natural enemy of a narrow time frame. Figuring out how the scripting language has to be integrated and correctly used takes some time. Don&#8217;t get me wrong, binding Squirrel with <a href=\"http:\/\/scrat.sourceforge.net\/\">Sqrat<\/a>\u00a0is a breeze. Nevertheless, you have to get an understanding of\u00a0how it\u00a0works. This takes time.<\/p>\n<p>To make a long story short, after spending a full day with Squirrel I canceled the &#8220;seek and destroy&#8221; bot AI and coded a simple &#8220;follow player ship&#8221; behaviour\u00a0in C++. The &#8220;seek and destroy&#8221; AI went to the Kanban backlog.<\/p>\n<p><a href=\"http:\/\/www.blackgolem.com\/blog\/wp-content\/uploads\/2014\/09\/simple_bot_swarm_2.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-312\" src=\"http:\/\/www.blackgolem.com\/blog\/wp-content\/uploads\/2014\/09\/simple_bot_swarm_2-480x360.jpg\" alt=\"simple_bot_swarm_2\" width=\"480\" height=\"360\" srcset=\"http:\/\/www.blackgolem.com\/blog\/wp-content\/uploads\/2014\/09\/simple_bot_swarm_2-480x360.jpg 480w, http:\/\/www.blackgolem.com\/blog\/wp-content\/uploads\/2014\/09\/simple_bot_swarm_2-530x397.jpg 530w, http:\/\/www.blackgolem.com\/blog\/wp-content\/uploads\/2014\/09\/simple_bot_swarm_2.jpg 1024w\" sizes=\"auto, (max-width: 480px) 100vw, 480px\" \/><\/a><\/p>\n<p>This is what I&#8217;ve learned and\/or rediscovered during the last two weeks:<\/p>\n<ul>\n<li>Parkinson&#8217;s Law works! It reduces quality, though.<\/li>\n<li>Experiments and\u00a0tight time frames are a bad match.<\/li>\n<li>Sticking to ideas which take too long is bad.<\/li>\n<li>&#8220;I want this feature to be exactly this way&#8221; is childish. Face reality!<\/li>\n<li>Include\u00a0weekends, events and vacations in your schedule.<\/li>\n<\/ul>\n<p>Right now I would love to continue working my ass of for <a href=\"http:\/\/www.nordenfelt-thegame.com\/\">Nordenfelt<\/a>. Unfortunately, there is this Oktoberfest-like event this weekend. Social connections need to be cherished and beer has to be drunken &#8211; the reasons for the last point in the list above.<\/p>\n<p><strong>Cheers,<\/strong><br \/>\n<strong>Thomas<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Nordenfelt&#8217;s release date\u00a0got scheduled to be on December 15th. This means there are only 3 months left. Therefore I boiled down Nordenfelt&#8217;s task list as much as possible. Only the most\u00a0important\u00a0points on the list survived. Then\u00a0I applied Parkinson&#8217;s law and shrinked\u00a0the schedule\u00a0to half its time. This means Nordenfelt should be finished in the end of\u00a0October.<span class=\"excerpt-ellipsis\">&hellip;<\/span><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2,11,13],"tags":[],"class_list":["post-303","post","type-post","status-publish","format-standard","hentry","category-graphics","category-nordenfelt","category-productivity"],"_links":{"self":[{"href":"http:\/\/www.blackgolem.com\/blog\/wp-json\/wp\/v2\/posts\/303","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.blackgolem.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.blackgolem.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.blackgolem.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.blackgolem.com\/blog\/wp-json\/wp\/v2\/comments?post=303"}],"version-history":[{"count":16,"href":"http:\/\/www.blackgolem.com\/blog\/wp-json\/wp\/v2\/posts\/303\/revisions"}],"predecessor-version":[{"id":1647,"href":"http:\/\/www.blackgolem.com\/blog\/wp-json\/wp\/v2\/posts\/303\/revisions\/1647"}],"wp:attachment":[{"href":"http:\/\/www.blackgolem.com\/blog\/wp-json\/wp\/v2\/media?parent=303"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.blackgolem.com\/blog\/wp-json\/wp\/v2\/categories?post=303"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.blackgolem.com\/blog\/wp-json\/wp\/v2\/tags?post=303"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}