{"id":59,"date":"2026-08-30T15:16:18","date_gmt":"2026-08-30T15:16:18","guid":{"rendered":"https:\/\/robinclapworthy.com\/?p=59"},"modified":"2026-08-30T16:04:52","modified_gmt":"2026-08-30T16:04:52","slug":"i-decided-to-write-an-arcade-game-in-visual-foxpro-9","status":"publish","type":"post","link":"https:\/\/robinclapworthy.com\/?p=59","title":{"rendered":"I Decided to Write an Arcade Game in Visual FoxPro 9"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Visual FoxPro 9 probably isn&#8217;t the obvious choice for writing an arcade game in 2026.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In fact, it&#8217;s probably a terrible choice.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Which is partly why I wanted to try it.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I&#8217;ve spent much of my career developing software in Visual FoxPro, including LawnPro, a commercial application I&#8217;ve been developing for more than 20 years. I know VFP extremely well as a business application development environment.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">But I&#8217;d never tried to write a game with it.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">So I started with a simple question:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Could I make a spaceship move around the screen?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The answer was yes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Then I added a starfield.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Then the ship could fire.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Then there were aliens.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Then collisions.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Then explosions.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Then sound.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">At some point I connected a PS4 controller.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That worked too.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This has become something of a recurring theme.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Galactic Gladiators is still very much a work in progress, but what started as a small experiment has become one of the most enjoyable programming projects I&#8217;ve worked on in years.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I&#8217;m going to use this blog to document the development \u2014 including the things that work, the things that don&#8217;t, and the increasingly unreasonable things I discover Visual FoxPro can actually do.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I genuinely don&#8217;t know where this is going.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That&#8217;s rather the point.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/robinclapworthy.com\/wp-content\/uploads\/2026\/08\/Barf-Attract-Screen-1.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"683\" src=\"https:\/\/robinclapworthy.com\/wp-content\/uploads\/2026\/08\/Barf-Attract-Screen-1-1024x683.png\" alt=\"\" class=\"wp-image-62\" srcset=\"https:\/\/robinclapworthy.com\/wp-content\/uploads\/2026\/08\/Barf-Attract-Screen-1-1024x683.png 1024w, https:\/\/robinclapworthy.com\/wp-content\/uploads\/2026\/08\/Barf-Attract-Screen-1-300x200.png 300w, https:\/\/robinclapworthy.com\/wp-content\/uploads\/2026\/08\/Barf-Attract-Screen-1-768x512.png 768w, https:\/\/robinclapworthy.com\/wp-content\/uploads\/2026\/08\/Barf-Attract-Screen-1.png 1536w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Visual FoxPro 9 probably isn&#8217;t the obvious choice for writing an arcade game in 2026. In fact, it&#8217;s probably a terrible choice. Which is partly why I wanted to try it. I&#8217;ve spent much of my career developing software in Visual FoxPro, including LawnPro, a commercial application I&#8217;ve been developing for more than 20 years. &#8230; <a title=\"I Decided to Write an Arcade Game in Visual FoxPro 9\" class=\"read-more\" href=\"https:\/\/robinclapworthy.com\/?p=59\" aria-label=\"Read more about I Decided to Write an Arcade Game in Visual FoxPro 9\">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-59","post","type-post","status-publish","format-standard","hentry","category-galactic-gladiators"],"_links":{"self":[{"href":"https:\/\/robinclapworthy.com\/index.php?rest_route=\/wp\/v2\/posts\/59","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=59"}],"version-history":[{"count":2,"href":"https:\/\/robinclapworthy.com\/index.php?rest_route=\/wp\/v2\/posts\/59\/revisions"}],"predecessor-version":[{"id":63,"href":"https:\/\/robinclapworthy.com\/index.php?rest_route=\/wp\/v2\/posts\/59\/revisions\/63"}],"wp:attachment":[{"href":"https:\/\/robinclapworthy.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=59"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/robinclapworthy.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=59"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/robinclapworthy.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=59"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}