{"id":108,"date":"2006-07-14T22:53:16","date_gmt":"2006-07-14T20:53:16","guid":{"rendered":"http:\/\/www.tale-of-tales.com\/DramaPrincess\/wp\/?p=108"},"modified":"2006-07-14T22:59:13","modified_gmt":"2006-07-14T20:59:13","slug":"test-1-action-system","status":"publish","type":"post","link":"https:\/\/www.tale-of-tales.com\/DramaPrincess\/wp\/?p=108","title":{"rendered":"Test 1: Action system"},"content":{"rendered":"<p><img decoding=\"async\" id=\"image109\" src=\"http:\/\/www.tale-of-tales.com\/DramaPrincess\/wp\/wp-content\/uploads\/2006\/07\/ActionSystemTest1.gif\" alt=\"Drama Princess Action System test 1\"\/><br \/>\n<em>Drama Princess Action System test 1: press a key to move the pink cone to another spot: the black actor will walk towards the cone, stop when he arrives and start displaying idle behaviour.<\/em><\/p>\n<p>This may look like a simplistic test but it is structured to accomodate for the whole Drama Princess system. This structure consists of two main parts: <em>data<\/em> and <em>engine<\/em>.<\/p>\n<p>The <strong>data<\/strong> part contains the mesh and texture of the actor, animations and <em>Behaviours<\/em> described as conditional lists of actions. These Behaviours are mini-applications that can contain any form of logic. They communicate with the engine through <em>Interface<\/em> systems.<\/p>\n<p>The <strong>engine<\/strong> part is more elaborate. It consists of a <em>logic<\/em> system and a <em>draw<\/em> system.<\/p>\n<p>The Logic System consists of four Manager systems that are applied to each actor in a loop. \t<\/p>\n<ul>\n<li>The <em>Decision Manager<\/em> will contain the decision making logic and starts new Behaviours.<\/li>\n<li>The <em>Behaviour Manager<\/em> calls the currently active Behaviour.<\/li>\n<li>The <em>Motion Manager<\/em> prepares the animation system for the next frame.<\/li>\n<li>And the <em>Movement Manager<\/em> calculates the position and rotation of the actor based on animation speed and target location.<\/li>\n<\/ul>\n<p>Interface systems provide for the communication between Managers and Behaviours and each other. <\/p>\n<ul>\n<li>The <em>Behaviour Interface<\/em> takes care of loading Behaviours.<\/em> <\/li>\n<li>The <em>Motion Interface<\/em> adds and removes animations and contains &#8220;shortcut&#8221; logic for starting and stopping the walking of an actor.<\/li>\n<li>The <em>Actor Interface<\/em> contains routines for storing Actors&#8217; parameters.<\/li>\n<\/ul>\n<p>The Draw System consists of the <em>Appearance Manager<\/em> which draws the actor in 3D space at the correct position with the correct animation.<\/p>\n<p><A HREF=\"http:\/\/www.tale-of-tales.com\/DramaPrincess\/tests\/DramaPrincessActionSystem_test1.exe\">Download the test executable<\/A> (3 MB, requires Windows and DirectX 9.0c).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Drama Princess Action System test 1: press a key to move the pink cone to another spot: the black actor will walk towards the cone, stop when he arrives and start displaying idle behaviour. This may look like a simplistic test but it is structured to accomodate for the whole Drama Princess system. This structure [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-108","post","type-post","status-publish","format-standard","hentry","category-development"],"_links":{"self":[{"href":"https:\/\/www.tale-of-tales.com\/DramaPrincess\/wp\/index.php?rest_route=\/wp\/v2\/posts\/108","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.tale-of-tales.com\/DramaPrincess\/wp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tale-of-tales.com\/DramaPrincess\/wp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tale-of-tales.com\/DramaPrincess\/wp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tale-of-tales.com\/DramaPrincess\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=108"}],"version-history":[{"count":0,"href":"https:\/\/www.tale-of-tales.com\/DramaPrincess\/wp\/index.php?rest_route=\/wp\/v2\/posts\/108\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.tale-of-tales.com\/DramaPrincess\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=108"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tale-of-tales.com\/DramaPrincess\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=108"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tale-of-tales.com\/DramaPrincess\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=108"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}