{"id":128,"date":"2026-09-06T20:53:32","date_gmt":"2026-09-06T20:53:32","guid":{"rendered":"https:\/\/robinclapworthy.com\/?p=128"},"modified":"2026-09-06T20:56:52","modified_gmt":"2026-09-06T20:56:52","slug":"making-galactic-gladiators-sound-like-a-game","status":"publish","type":"post","link":"https:\/\/robinclapworthy.com\/?p=128","title":{"rendered":"Making Galactic Gladiators Sound Like a Game"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Tonight I was supposed to be working on Level 1.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Instead, I ended up obsessing over what happens to the background music when the player&#8217;s ship explodes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This is becoming something of a pattern.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Galactic Gladiators now has a second piece of music for the asteroid field. It has the same general musical character as the main theme, but it&#8217;s more suited to gameplay \u2014 a little more urgent while still sounding as though it belongs in the same game.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">And that led me down another rabbit hole.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">The tiny things matter<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">When the player&#8217;s ship is destroyed, several things happen at once.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The ship disappears, particles fly away from it, the screen shakes, the controller rumbles and my homemade electrical death\/fizzle sound plays.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I couldn&#8217;t find quite the sound effect I wanted, so naturally I ended up making my own.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Because apparently that&#8217;s what we&#8217;re doing now.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">But something still wasn&#8217;t quite right.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The background music was competing with the explosion.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">So now, at the instant the ship is hit, the game reduces the music volume. The explosion, particles, shake and controller rumble briefly become the focus.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">When the next ship returns, the music comes back.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It&#8217;s a ridiculously small thing.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It&#8217;s also surprising how much difference it makes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">There are still a couple of rough edges in the timing, but I&#8217;ve reached the point where further fiddling would probably produce diminishing returns. It works. It feels right enough. It can be polished later.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">And that means it&#8217;s time to commit it to Git and move on.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Something has changed<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The interesting thing is that Galactic Gladiators doesn&#8217;t really feel like an experiment to prove that Visual FoxPro can make a game anymore.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That question has been answered.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Controller support, vibration, speech, music, sound effects, collisions, particles, animation, screen shake, real-time movement and an asteroid field are all happily running inside a Visual FoxPro application.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The more interesting question now is:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Can I make it a good game?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That&#8217;s a considerably harder problem.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">And a much more interesting one.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/robinclapworthy.com\/wp-content\/uploads\/2026\/09\/image-2.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"515\" src=\"https:\/\/robinclapworthy.com\/wp-content\/uploads\/2026\/09\/image-2-1024x515.png\" alt=\"\" class=\"wp-image-129\" srcset=\"https:\/\/robinclapworthy.com\/wp-content\/uploads\/2026\/09\/image-2-1024x515.png 1024w, https:\/\/robinclapworthy.com\/wp-content\/uploads\/2026\/09\/image-2-300x151.png 300w, https:\/\/robinclapworthy.com\/wp-content\/uploads\/2026\/09\/image-2-767x386.png 767w, https:\/\/robinclapworthy.com\/wp-content\/uploads\/2026\/09\/image-2-1536x773.png 1536w, https:\/\/robinclapworthy.com\/wp-content\/uploads\/2026\/09\/image-2-2048x1030.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Tonight I was supposed to be working on Level 1. Instead, I ended up obsessing over what happens to the background music when the player&#8217;s ship explodes. This is becoming something of a pattern. Galactic Gladiators now has a second piece of music for the asteroid field. It has the same general musical character as &#8230; <a title=\"Making Galactic Gladiators Sound Like a Game\" class=\"read-more\" href=\"https:\/\/robinclapworthy.com\/?p=128\" aria-label=\"Read more about Making Galactic Gladiators Sound Like a Game\">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-128","post","type-post","status-publish","format-standard","hentry","category-galactic-gladiators"],"_links":{"self":[{"href":"https:\/\/robinclapworthy.com\/index.php?rest_route=\/wp\/v2\/posts\/128","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=128"}],"version-history":[{"count":2,"href":"https:\/\/robinclapworthy.com\/index.php?rest_route=\/wp\/v2\/posts\/128\/revisions"}],"predecessor-version":[{"id":131,"href":"https:\/\/robinclapworthy.com\/index.php?rest_route=\/wp\/v2\/posts\/128\/revisions\/131"}],"wp:attachment":[{"href":"https:\/\/robinclapworthy.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=128"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/robinclapworthy.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=128"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/robinclapworthy.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=128"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}