{"id":187,"date":"2010-04-19T19:15:40","date_gmt":"2010-04-20T02:15:40","guid":{"rendered":"http:\/\/www.legendofeuterra.com\/devblog\/?p=187"},"modified":"2010-04-19T19:15:40","modified_gmt":"2010-04-20T02:15:40","slug":"revisiting-enemies","status":"publish","type":"post","link":"https:\/\/www.shadowdawngenesis.com\/devblog\/?p=187","title":{"rendered":"Revisiting Enemies"},"content":{"rendered":"<p>The teaser page has been updated with a bit more lively interface.\u00a0 I hope you like it, and especially the\u00a0rearrangement of the main theme <em>Forever No More<\/em>.\u00a0 I wasn&#8217;t sure I should post it, but if a certain other well-known RPG company posts their game&#8217;s main theme on their site the day they announce it then maybe that&#8217;s not such a bad idea.\u00a0\u00a0Since it is\u00a0the theme\u00a0of the <em>Shadowdawn\u00a0<\/em>series and used as a\u00a0title theme it will be\u00a0just a\u00a0little different when the actual game is done, and hopefully mastered (a technique in sound I know little about but do have friends capable of it), so I don&#8217;t think I&#8217;m giving too much away \ud83d\ude42<\/p>\n<p>Let me begin the development update\u00a0by saying in the days since I started programming <em>Shadowdawn Genesis<\/em>, I&#8217;ve definitely improved.\u00a0 When I need to use something I haven&#8217;t implemented, it&#8217;s a much easier task and I make very few mistakes for the compiler to cry about now, not to mention my code is getting easier to read and adjust as needed.<\/p>\n<p>That said, this weekend was spent in the process of not just finishing enemy AI and general programming, I decided that the original class (that&#8217;s the &#8220;type&#8221; that defines what defines an enemies\u00a0status and actions\u00a0in code for you non-programmers) was not well done.\u00a0 It was slow, very hard to decipher where to change things and timers were\u00a0being accessed\u00a0all over the place so there was a very good chance that a major AI bug would occur when things got more complex.\u00a0 So I totally scrapped the entire thing (much like I did with the Level Map class earlier this week to avoid memory issues down the road).<\/p>\n<p>One of the things I set out to do with the new NPC class (which now\u00a0encompasses enemies, neutrals, and party members) which I had been avoiding since the start of the project was create a proper animation routine.\u00a0\u00a0The test kittris were just one frame, regardless of which way they were facing or what they were doing, and obviously I couldn&#8217;t let that be the case for the finished game.\u00a0 Amazingly the whole thing worked with no problems on the execution side the first time I ran it, from here I just need to start the master NPC\/Enemy database which should be no problem (since I have a database already for items) and have the level data refer to them by an ID number for efficiency.<\/p>\n<p>Which brings up the next thing, although I hate giving myself more work, I realized I don&#8217;t have a lot of enemies planned.\u00a0 Maybe that&#8217;s ok, but guess I still need more &#8220;neutrals&#8221; like birds that fly overhead of random fauna wandering the wilderness.\u00a0 Hopefully I&#8217;ll be smart enough to keep their actions to a minimum.<\/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=187\"><\/g:plusone><\/div>","protected":false},"excerpt":{"rendered":"<p>The teaser page has been updated with a bit more lively interface.\u00a0 I hope you like it, and especially the\u00a0rearrangement of the main theme Forever<a class=\"moretag\" href=\"https:\/\/www.shadowdawngenesis.com\/devblog\/?p=187\"> [&#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,21,22,31,25,10,32,29,7,6,18,13,24,26,14,17,309,37,4,30,36,15,33],"class_list":["post-187","post","type-post","status-publish","format-standard","hentry","category-game-development","tag-2d-animation","tag-action","tag-adventure","tag-ai","tag-arashi","tag-art","tag-artificial-intelligence","tag-collision","tag-development","tag-game","tag-independent","tag-jrpg","tag-legend-of-euterra","tag-map","tag-music","tag-pc","tag-rpg","tag-scripting","tag-shadowdawn","tag-shadows","tag-usecode","tag-xbox-360","tag-xbox-live"],"_links":{"self":[{"href":"https:\/\/www.shadowdawngenesis.com\/devblog\/index.php?rest_route=\/wp\/v2\/posts\/187","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=187"}],"version-history":[{"count":0,"href":"https:\/\/www.shadowdawngenesis.com\/devblog\/index.php?rest_route=\/wp\/v2\/posts\/187\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.shadowdawngenesis.com\/devblog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=187"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.shadowdawngenesis.com\/devblog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=187"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.shadowdawngenesis.com\/devblog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=187"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}