{"id":742,"date":"2025-03-28T20:28:46","date_gmt":"2025-03-29T00:28:46","guid":{"rendered":"https:\/\/willkolb.com\/?p=742"},"modified":"2025-03-28T20:29:50","modified_gmt":"2025-03-29T00:29:50","slug":"sound-y-sound-and-bot-deployments","status":"publish","type":"post","link":"https:\/\/willkolb.com\/?p=742","title":{"rendered":"Sound-y Sound and Bot Deployments"},"content":{"rendered":"\n<figure class=\"wp-block-embed is-type-rich is-provider-soundcloud wp-block-embed-soundcloud\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"SoJuWannaBrood by Will Kolb\" width=\"500\" height=\"400\" scrolling=\"no\" frameborder=\"no\" src=\"https:\/\/w.soundcloud.com\/player\/?visual=true&#038;url=https%3A%2F%2Fapi.soundcloud.com%2Ftracks%2F2065878936&#038;show_artwork=true&#038;maxheight=750&#038;maxwidth=500\"><\/iframe>\n<\/div><\/figure>\n\n\n\n<p>I swear the snare isn&#8217;t as prominent on my pc&#8230;.<\/p>\n\n\n\n<p>Added in ai perception logic<br><\/p>\n\n\n\n<figure class=\"wp-block-video\"><video height=\"1080\" style=\"aspect-ratio: 1920 \/ 1080;\" width=\"1920\" controls src=\"https:\/\/willkolb.com\/wp-content\/uploads\/2025\/03\/2025-03-28_20-16-40.mp4\"><\/video><\/figure>\n\n\n\n<p>(Also the hud is still crap and rockets fly through walls&#8230;.) <\/p>\n\n\n\n<p>Right now I have the detection radius at like 1m so thats why I have to rub against the robot to get it standing up. This required some mods to the AI tree:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"622\" src=\"https:\/\/willkolb.com\/wp-content\/uploads\/2025\/03\/image-41-1024x622.png\" alt=\"\" class=\"wp-image-744\" srcset=\"https:\/\/willkolb.com\/wp-content\/uploads\/2025\/03\/image-41-1024x622.png 1024w, https:\/\/willkolb.com\/wp-content\/uploads\/2025\/03\/image-41-300x182.png 300w, https:\/\/willkolb.com\/wp-content\/uploads\/2025\/03\/image-41-768x466.png 768w, https:\/\/willkolb.com\/wp-content\/uploads\/2025\/03\/image-41-494x300.png 494w, https:\/\/willkolb.com\/wp-content\/uploads\/2025\/03\/image-41.png 1105w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>You can see that &#8220;start Engage&#8221; block is now orphaned off the tree. The original blueprint essentially just found the player no matter the situation and copied it into the &#8220;target&#8221; field on the blackboard:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"803\" height=\"332\" src=\"https:\/\/willkolb.com\/wp-content\/uploads\/2025\/03\/image-42.png\" alt=\"\" class=\"wp-image-745\" srcset=\"https:\/\/willkolb.com\/wp-content\/uploads\/2025\/03\/image-42.png 803w, https:\/\/willkolb.com\/wp-content\/uploads\/2025\/03\/image-42-300x124.png 300w, https:\/\/willkolb.com\/wp-content\/uploads\/2025\/03\/image-42-768x318.png 768w, https:\/\/willkolb.com\/wp-content\/uploads\/2025\/03\/image-42-500x207.png 500w\" sizes=\"auto, (max-width: 803px) 100vw, 803px\" \/><\/figure>\n\n\n\n<p>By removing that I pushed the selection of the target to the pawn itself. Now the general logic is: I SEE A PLAYER! ATTACK! Rather than being provided a player by the engine.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"687\" height=\"424\" src=\"https:\/\/willkolb.com\/wp-content\/uploads\/2025\/03\/image-43.png\" alt=\"\" class=\"wp-image-746\" srcset=\"https:\/\/willkolb.com\/wp-content\/uploads\/2025\/03\/image-43.png 687w, https:\/\/willkolb.com\/wp-content\/uploads\/2025\/03\/image-43-300x185.png 300w, https:\/\/willkolb.com\/wp-content\/uploads\/2025\/03\/image-43-486x300.png 486w\" sizes=\"auto, (max-width: 687px) 100vw, 687px\" \/><\/figure>\n\n\n\n<p>Unreal&#8217;s AI Perception is one of those things that are just kinda &#8220;done&#8221; in the engine and it works the way you expect. <\/p>\n\n\n\n<p>The goal is that I&#8217;ll have some kind of assembly line that will dump out &#8220;undeployed&#8221; robots then they&#8217;ll get deployed and try to find you in the map. Also this lets me make lying in wait kinda situations with the bots. Also if I&#8217;m aiming for a killing floor style of wave survival I want to have explicit building spawners that play an animation and dump out robots.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"632\" src=\"https:\/\/willkolb.com\/wp-content\/uploads\/2025\/03\/image-44-1024x632.png\" alt=\"\" class=\"wp-image-747\" srcset=\"https:\/\/willkolb.com\/wp-content\/uploads\/2025\/03\/image-44-1024x632.png 1024w, https:\/\/willkolb.com\/wp-content\/uploads\/2025\/03\/image-44-300x185.png 300w, https:\/\/willkolb.com\/wp-content\/uploads\/2025\/03\/image-44-768x474.png 768w, https:\/\/willkolb.com\/wp-content\/uploads\/2025\/03\/image-44-486x300.png 486w, https:\/\/willkolb.com\/wp-content\/uploads\/2025\/03\/image-44.png 1495w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>I swear the snare isn&#8217;t as prominent on my pc&#8230;. Added in ai perception logic (Also the hud is still crap and rockets fly through walls&#8230;.) Right now I have the detection radius at like 1m so thats why I have to rub against the robot to get it standing up. This required some mods [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":747,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7,6,9],"tags":[],"class_list":["post-742","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-gamedev","category-music","category-unreal"],"_links":{"self":[{"href":"https:\/\/willkolb.com\/index.php?rest_route=\/wp\/v2\/posts\/742","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/willkolb.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/willkolb.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/willkolb.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/willkolb.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=742"}],"version-history":[{"count":2,"href":"https:\/\/willkolb.com\/index.php?rest_route=\/wp\/v2\/posts\/742\/revisions"}],"predecessor-version":[{"id":749,"href":"https:\/\/willkolb.com\/index.php?rest_route=\/wp\/v2\/posts\/742\/revisions\/749"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/willkolb.com\/index.php?rest_route=\/wp\/v2\/media\/747"}],"wp:attachment":[{"href":"https:\/\/willkolb.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=742"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/willkolb.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=742"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/willkolb.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=742"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}