{"id":191,"date":"2010-04-22T21:16:52","date_gmt":"2010-04-23T04:16:52","guid":{"rendered":"http:\/\/www.legendofeuterra.com\/devblog\/?p=191"},"modified":"2010-04-22T21:16:52","modified_gmt":"2010-04-23T04:16:52","slug":"the-master-production-checklist","status":"publish","type":"post","link":"https:\/\/www.shadowdawngenesis.com\/devblog\/?p=191","title":{"rendered":"The Master Production Checklist"},"content":{"rendered":"<p>The new NPCs are working quite nicely.\u00a0 Yet another\u00a0milestone in my engine optimization down, and much happier with the AI behavior as well (there was something just off about the previous way enemies behaved).\u00a0 One thing I am about to change however is the way I trigger passive and aggressive modes, originally I was thinking that it should be simply be\u00a0a static proximity between the npc and player, but that won&#8217;t\u00a0make sense\u00a0for pursuit-based AIs where they will continue trying to chase the player down for longer distances, especially if the player <em>really<\/em> pissed it off by hitting it a few times.\u00a0 This will change to an aggression timer so that the longer the player messes with the enemy&#8217;s detection range and combat\u00a0the longer the cooldown will be before it resumes its passive behavior.\u00a0 I&#8217;m also going to let the player take advantage of stealth with slow approaches or special equipment and other factors like ambient lighting, if that&#8217;s their choice, though I doubt many will need to use it.\u00a0 It&#8217;s all about options!<\/p>\n<p>Creating an interactive world is quite a chore.\u00a0 It&#8217;s not really so hard to program the interactions; what&#8217;s difficult is making enough things to interact with.\u00a0 Really need a large variety of objects to decorate a world, even if the world isn&#8217;t fully explorable, and a keen sense of real world observation is necessary to see how things lay about.\u00a0 I&#8217;ve been making a list of things I need to draw, from the enemies, NPCs, combat special fx and projectiles, and environmental objects&#8230; it&#8217;s quite a list.\u00a0 But it&#8217;s not impossible.\u00a0 I just have to take things one day at a time; as long as I&#8217;m able to complete things every day there&#8217;s no reason to worry.\u00a0 But I am going to go with\u00a0their priority as well, I want the <em>game<\/em> done, and other stuff is just polish as much as I&#8217;d like to have it in there.<\/p>\n<div name=\"googleone_share_1\" style=\"position:relative;z-index:5;float: right; margin-left: 10px;\"><g:plusone size=\"tall\" count=\"1\" href=\"https:\/\/www.shadowdawngenesis.com\/devblog\/?p=191\"><\/g:plusone><\/div>","protected":false},"excerpt":{"rendered":"<p>The new NPCs are working quite nicely.\u00a0 Yet another\u00a0milestone in my engine optimization down, and much happier with the AI behavior as well (there was<a class=\"moretag\" href=\"https:\/\/www.shadowdawngenesis.com\/devblog\/?p=191\"> [&#8230;]<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[39,31,25,10,43,32,29,6,18,13,26,309,4,36],"class_list":["post-191","post","type-post","status-publish","format-standard","hentry","category-game-development","tag-2d-animation","tag-ai","tag-arashi","tag-art","tag-art-delay","tag-artificial-intelligence","tag-collision","tag-game","tag-independent","tag-jrpg","tag-map","tag-rpg","tag-shadowdawn","tag-usecode"],"_links":{"self":[{"href":"https:\/\/www.shadowdawngenesis.com\/devblog\/index.php?rest_route=\/wp\/v2\/posts\/191","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.shadowdawngenesis.com\/devblog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.shadowdawngenesis.com\/devblog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.shadowdawngenesis.com\/devblog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.shadowdawngenesis.com\/devblog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=191"}],"version-history":[{"count":0,"href":"https:\/\/www.shadowdawngenesis.com\/devblog\/index.php?rest_route=\/wp\/v2\/posts\/191\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.shadowdawngenesis.com\/devblog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=191"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.shadowdawngenesis.com\/devblog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=191"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.shadowdawngenesis.com\/devblog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=191"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}