{"id":401,"date":"2008-11-21T16:18:03","date_gmt":"2008-11-21T14:18:03","guid":{"rendered":"http:\/\/tale-of-tales.com\/ThePath\/blog\/?p=401"},"modified":"2008-11-21T16:18:03","modified_gmt":"2008-11-21T14:18:03","slug":"the-forest-for-the-trees","status":"publish","type":"post","link":"https:\/\/tale-of-tales.com\/ThePath\/blog\/2008\/11\/21\/the-forest-for-the-trees\/","title":{"rendered":"The forest for the trees"},"content":{"rendered":"<p>At the joyous occasion of finalizing the forest (<em>not really: we wish we didn&#8217;t need to finish anything&#8230; -old internet habits die hard<\/em>), I&#8217;m working on the final collision objects for the trees today. It&#8217;s a hilariously convoluted process. This is what the &#8220;code&#8221; looks like for the tree collision objects in the main forest area:<\/p>\n<p><A HREF=\"http:\/\/tale-of-tales.com\/ThePath\/blog\/wp-content\/uploads\/2008\/11\/20081121-foresttreescollisionobjects-small.jpg\"><img decoding=\"async\" src=\"http:\/\/tale-of-tales.com\/ThePath\/blog\/wp-content\/uploads\/2008\/11\/20081121-foresttreescollisionobjects-small.jpg\" alt=\"\" title=\"The Path ------ Trees collision objects Quest3D channel group\" width=\"600\" class=\"alignnone size-full wp-image-402\" srcset=\"https:\/\/tale-of-tales.com\/ThePath\/blog\/wp-content\/uploads\/2008\/11\/20081121-foresttreescollisionobjects-small.jpg 800w, https:\/\/tale-of-tales.com\/ThePath\/blog\/wp-content\/uploads\/2008\/11\/20081121-foresttreescollisionobjects-small-300x111.jpg 300w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/A><\/p>\n<p>We actually need two collision objects for every tree. One that the characters can see, so they can try to avoid them. And another for the system to try and keep characters from intersecting with the tree in case they didn&#8217;t succeed in avoiding it (physics simulation). The row of little blocks at the bottom of the screenshot contains the positions of all trees, one block for every tree. Multiply this by 16 to get the entire forest.<\/p>\n<p>In a test version of the game, the collision objects look like this:<img decoding=\"async\" src=\"http:\/\/tale-of-tales.com\/ThePath\/blog\/wp-content\/uploads\/2008\/11\/20081121-foresttreescollisionobjectsrendered-small.jpg\" alt=\"\" title=\"The Path ------ a forest of collision objects\" width=\"600\" class=\"alignnone size-full wp-image-408\" srcset=\"https:\/\/tale-of-tales.com\/ThePath\/blog\/wp-content\/uploads\/2008\/11\/20081121-foresttreescollisionobjectsrendered-small.jpg 600w, https:\/\/tale-of-tales.com\/ThePath\/blog\/wp-content\/uploads\/2008\/11\/20081121-foresttreescollisionobjectsrendered-small-300x162.jpg 300w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><br \/>\n<em>Mmm&#8230; Candy cane forest!<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>At the joyous occasion of finalizing the forest (not really: we wish we didn&#8217;t need to finish anything&#8230; -old internet habits die hard), I&#8217;m working on the final collision objects for the trees today. It&#8217;s a hilariously convoluted process. This is what the &#8220;code&#8221; looks like for the tree collision objects in the main forest [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9],"tags":[],"_links":{"self":[{"href":"https:\/\/tale-of-tales.com\/ThePath\/blog\/wp-json\/wp\/v2\/posts\/401"}],"collection":[{"href":"https:\/\/tale-of-tales.com\/ThePath\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tale-of-tales.com\/ThePath\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tale-of-tales.com\/ThePath\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/tale-of-tales.com\/ThePath\/blog\/wp-json\/wp\/v2\/comments?post=401"}],"version-history":[{"count":9,"href":"https:\/\/tale-of-tales.com\/ThePath\/blog\/wp-json\/wp\/v2\/posts\/401\/revisions"}],"predecessor-version":[{"id":413,"href":"https:\/\/tale-of-tales.com\/ThePath\/blog\/wp-json\/wp\/v2\/posts\/401\/revisions\/413"}],"wp:attachment":[{"href":"https:\/\/tale-of-tales.com\/ThePath\/blog\/wp-json\/wp\/v2\/media?parent=401"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tale-of-tales.com\/ThePath\/blog\/wp-json\/wp\/v2\/categories?post=401"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tale-of-tales.com\/ThePath\/blog\/wp-json\/wp\/v2\/tags?post=401"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}