<?xml version="1.0" encoding="UTF-8" standalone="yes"?><oembed><version><![CDATA[1.0]]></version><provider_name><![CDATA[Dreamers Inc]]></provider_name><provider_url><![CDATA[https://dreamerincblog.wordpress.com]]></provider_url><author_name><![CDATA[Dreamer]]></author_name><author_url><![CDATA[https://dreamerincblog.wordpress.com/author/dreamersinc12/]]></author_url><title><![CDATA[Devtober Day 1]]></title><type><![CDATA[link]]></type><html><![CDATA[<p>In an effort to get back on track with the project, I am trying my best to take part in Devtober this year. It&#8217;s heavily inspired by the popular <a href="https://inktober.com/" target="_blank" rel="nofollow noopener">Inktober</a>, which is a challenge about doing an inked drawing every day of October. Except here the focus is on game development. The rules for this challenge are simple</p>
<ul>
<li>Work on a game a little every day</li>
<li>Post your progress on social media (use the hashtag #devtober!)</li>
<li>On the very last day, write a post mortem</li>
</ul>
<p>So to kick off this Devtober, I fired up Unity and Visual Studio and got to work converting my Utility AI System from Monobehaviour to Unity DOTS, Data Oriented Tech Stack. Today was a day of learn how to think about how to structure code. The power of ECS/DOTS is being able to handle work in batch and splitting that work load work to different threads. The challenge is that is a completely different mind set from MonoBehaviour and  GameObjects. Also, the development is not completed either.</p>
<p>&nbsp;</p>
<p>Once the ECS/DOTS click for you, it really starts to become quick in easy.</p>
<div data-shortcode="caption" id="attachment_690" style="width: 918px" class="wp-caption alignnone"><img loading="lazy" aria-describedby="caption-attachment-690" data-attachment-id="690" data-permalink="https://dreamerincblog.wordpress.com/2019/10/01/devtober-day-1/code-1/" data-orig-file="https://dreamerincblog.files.wordpress.com/2019/10/code-1.png" data-orig-size="908,835" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="Code 1" data-image-description="" data-image-caption="" data-medium-file="https://dreamerincblog.files.wordpress.com/2019/10/code-1.png?w=300" data-large-file="https://dreamerincblog.files.wordpress.com/2019/10/code-1.png?w=908" class="alignnone size-full wp-image-690" src="https://dreamerincblog.files.wordpress.com/2019/10/code-1.png?w=908&#038;h=835" alt="Code 1.png" width="908" height="835" srcset="https://dreamerincblog.files.wordpress.com/2019/10/code-1.png 908w, https://dreamerincblog.files.wordpress.com/2019/10/code-1.png?w=150&amp;h=138 150w, https://dreamerincblog.files.wordpress.com/2019/10/code-1.png?w=300&amp;h=276 300w, https://dreamerincblog.files.wordpress.com/2019/10/code-1.png?w=768&amp;h=706 768w" sizes="(max-width: 908px) 100vw, 908px" /><p id="caption-attachment-690" class="wp-caption-text">First attempt at write the code to evaluate distance to target </p></div>
<div data-shortcode="caption" id="attachment_692" style="width: 925px" class="wp-caption alignnone"><img loading="lazy" aria-describedby="caption-attachment-692" data-attachment-id="692" data-permalink="https://dreamerincblog.wordpress.com/2019/10/01/devtober-day-1/code-2/" data-orig-file="https://dreamerincblog.files.wordpress.com/2019/10/code-2.png" data-orig-size="915,575" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="code 2" data-image-description="" data-image-caption="" data-medium-file="https://dreamerincblog.files.wordpress.com/2019/10/code-2.png?w=300" data-large-file="https://dreamerincblog.files.wordpress.com/2019/10/code-2.png?w=915" class="alignnone size-full wp-image-692" style="color:var(--color-text);" src="https://dreamerincblog.files.wordpress.com/2019/10/code-2.png?w=915&#038;h=575" alt="code 2.png" width="915" height="575" srcset="https://dreamerincblog.files.wordpress.com/2019/10/code-2.png 915w, https://dreamerincblog.files.wordpress.com/2019/10/code-2.png?w=150&amp;h=94 150w, https://dreamerincblog.files.wordpress.com/2019/10/code-2.png?w=300&amp;h=189 300w, https://dreamerincblog.files.wordpress.com/2019/10/code-2.png?w=768&amp;h=483 768w" sizes="(max-width: 915px) 100vw, 915px" /><p id="caption-attachment-692" class="wp-caption-text">Final Version </p></div>
<p>Both of the methods above perform the same calc. However the first attempt take rough .56ms to distance to a point for 500 Entity/GameObject, while the second takes only .07ms on a 1800x running stock. This test were run in editor.</p>
<p>With one day down and better understanding of the API, this could be a great challenge</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></html><thumbnail_url><![CDATA[https://dreamerincblog.files.wordpress.com/2019/10/code-2.png?fit=440%2C330]]></thumbnail_url><thumbnail_width><![CDATA[440]]></thumbnail_width><thumbnail_height><![CDATA[277]]></thumbnail_height></oembed>