{"id":223,"date":"2026-09-21T20:47:22","date_gmt":"2026-09-21T20:47:22","guid":{"rendered":"https:\/\/robinclapworthy.com\/?p=223"},"modified":"2026-09-21T20:47:22","modified_gmt":"2026-09-21T20:47:22","slug":"when-the-battle-started-fighting-back","status":"publish","type":"post","link":"https:\/\/robinclapworthy.com\/?p=223","title":{"rendered":"When the Battle Started Fighting Back"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Today\u2019s work on Galactic Gladiators began with a simple sound effect for two medium-sized enemy ships entering the final battle.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">As usual, \u201cadd a sound\u201d turned out not to be quite that simple.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">First, an ethereal sound was added for the dimensional opening. Then a heavier mechanical pulse was timed to begin when the ships themselves emerged. The music, BARF\u2019s speech, weapons, impacts, explosions and alarms all needed to continue playing around them.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That exposed a limitation in the original sound system. Several effects were sharing the same Windows sound channel, meaning one sound could interrupt another. The game wasn\u2019t struggling to process the audio\u2014it was simply being asked to play several things through a route designed for one.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The battle renderer now gives the important sound families their own preloaded audio channels. Music, speech, enemy weapons, ship entrances, impacts, explosions, alarms and bonus sounds can overlap without casually silencing each other.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It has made a surprisingly large difference. The final battle no longer sounds like a collection of individual effects waiting for their turn. It sounds like several things are happening at once\u2014which, of course, they are.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The enemy behaviour has also been given another pass.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">When one of the two medium defenders is destroyed, the remaining ship now realises that it is alone. As its health falls, its movement becomes progressively less controlled: wider sweeps, sharper changes of direction, deeper dives and increasingly frantic attempts to escape.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">At one hit remaining, BARF calmly observes:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">*\u201cIts tactical doctrine<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Today\u2019s work on Galactic Gladiators began with a simple sound effect for two medium-sized enemy ships entering the final battle. As usual, \u201cadd a sound\u201d turned out not to be quite that simple. First, an ethereal sound was added for the dimensional opening. Then a heavier mechanical pulse was timed to begin when the ships &#8230; <a title=\"When the Battle Started Fighting Back\" class=\"read-more\" href=\"https:\/\/robinclapworthy.com\/?p=223\" aria-label=\"Read more about When the Battle Started Fighting Back\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-223","post","type-post","status-publish","format-standard","hentry","category-galactic-gladiators"],"_links":{"self":[{"href":"https:\/\/robinclapworthy.com\/index.php?rest_route=\/wp\/v2\/posts\/223","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/robinclapworthy.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/robinclapworthy.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/robinclapworthy.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/robinclapworthy.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=223"}],"version-history":[{"count":1,"href":"https:\/\/robinclapworthy.com\/index.php?rest_route=\/wp\/v2\/posts\/223\/revisions"}],"predecessor-version":[{"id":224,"href":"https:\/\/robinclapworthy.com\/index.php?rest_route=\/wp\/v2\/posts\/223\/revisions\/224"}],"wp:attachment":[{"href":"https:\/\/robinclapworthy.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=223"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/robinclapworthy.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=223"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/robinclapworthy.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=223"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}