{"id":578,"date":"2021-08-02T02:00:54","date_gmt":"2021-08-02T07:00:54","guid":{"rendered":"https:\/\/www.jasonsblog.place\/?p=578"},"modified":"2021-10-26T20:55:44","modified_gmt":"2021-10-27T01:55:44","slug":"a-procedurally-generated-speedrunning-game","status":"publish","type":"post","link":"https:\/\/www.jasonsblog.place\/index.php\/2021\/08\/02\/a-procedurally-generated-speedrunning-game\/","title":{"rendered":"A procedurally generated, speedrunning game"},"content":{"rendered":"\n<p><strong>Updated October 25, 2021<\/strong>: I have made an <a href=\"https:\/\/ertain.itch.io\/run-to-the-end\">itch.io<\/a> page for this game. It&#8217;s now called &#8220;Run to the End&#8221;.<\/p>\n\n\n\n<p>Over the past few months, I have tinkered with the <a href=\"http:\/\/www.godotengine.org\">Godot engine<\/a> to create a game where the player has to speedrun through a procedurally generated course. They must move as fast as possible to the end. While it&#8217;s still in development, here&#8217;s a version that&#8217;s playable.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"548\" src=\"https:\/\/www.jasonsblog.place\/wp-content\/uploads\/2021\/08\/Runner-demo-v0.3-1024x548.png\" alt=\"\" class=\"wp-image-579\" srcset=\"https:\/\/www.jasonsblog.place\/wp-content\/uploads\/2021\/08\/Runner-demo-v0.3-1024x548.png 1024w, https:\/\/www.jasonsblog.place\/wp-content\/uploads\/2021\/08\/Runner-demo-v0.3-300x161.png 300w, https:\/\/www.jasonsblog.place\/wp-content\/uploads\/2021\/08\/Runner-demo-v0.3-768x411.png 768w, https:\/\/www.jasonsblog.place\/wp-content\/uploads\/2021\/08\/Runner-demo-v0.3-1536x822.png 1536w, https:\/\/www.jasonsblog.place\/wp-content\/uploads\/2021\/08\/Runner-demo-v0.3.png 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption>The title screen. Behold its glory.<\/figcaption><\/figure>\n\n\n\n<p>The objective of the game is to get the fastest time. To get into the game, press &#8220;Play&#8221; on the title screen, choose the course (there&#8217;s only one at the time of this writing), and choose the course size. Optionally, the player can type in a random number so as to seed the random number generator for the course. The fastest time for the size of the course (if the player has already ran the course) is displayed in the upper right part of the screen while running the course. The player has to get to the yellow goal post as fast as they can. if the player chooses, they can save the course, and try to rerun it at their leisure.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/www.jasonsblog.place\/wp-content\/uploads\/2021\/08\/Runner-demo-v0.3-shot2-1024x576.jpg\" alt=\"\" class=\"wp-image-580\" srcset=\"https:\/\/www.jasonsblog.place\/wp-content\/uploads\/2021\/08\/Runner-demo-v0.3-shot2-1024x576.jpg 1024w, https:\/\/www.jasonsblog.place\/wp-content\/uploads\/2021\/08\/Runner-demo-v0.3-shot2-300x169.jpg 300w, https:\/\/www.jasonsblog.place\/wp-content\/uploads\/2021\/08\/Runner-demo-v0.3-shot2-768x432.jpg 768w, https:\/\/www.jasonsblog.place\/wp-content\/uploads\/2021\/08\/Runner-demo-v0.3-shot2-1536x864.jpg 1536w, https:\/\/www.jasonsblog.place\/wp-content\/uploads\/2021\/08\/Runner-demo-v0.3-shot2.jpg 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption>Quickly getting through the grass and flames.<\/figcaption><\/figure>\n\n\n\n<p>Get binaries of version 0.3 of the game here:<\/p>\n\n\n\n<p>Linux: <a href=\"https:\/\/jasonsstuff.place\/s\/TS3FpCjCggqaYW2\">Runner_demo_v0.3_linux.tar.xz<\/a><\/p>\n\n\n\n<p>macOS: <a href=\"https:\/\/jasonsstuff.place\/s\/pob5o2FzHqsJ5KX\">Runner_demo_v0.3_macOS.zip<\/a><\/p>\n\n\n\n<p>Windows: <a href=\"https:\/\/jasonsstuff.place\/s\/GETiNbH8ogb5Lda\">Runner_demo_v0.3_windows.zip<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Get to the End, where the player has to run to the goal post of a procedurally generated course. Interested? The details are inside.<\/p>\n","protected":false},"author":1,"featured_media":580,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[139,76,31],"tags":[106,145,91,226,77,23,122],"class_list":["post-578","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-marketing","category-programming","category-video-games","tag-game-development","tag-gnu-linux","tag-godot-engine","tag-macos","tag-procedural-generation","tag-video-game","tag-windows"],"_links":{"self":[{"href":"https:\/\/www.jasonsblog.place\/index.php\/wp-json\/wp\/v2\/posts\/578","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.jasonsblog.place\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.jasonsblog.place\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.jasonsblog.place\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.jasonsblog.place\/index.php\/wp-json\/wp\/v2\/comments?post=578"}],"version-history":[{"count":3,"href":"https:\/\/www.jasonsblog.place\/index.php\/wp-json\/wp\/v2\/posts\/578\/revisions"}],"predecessor-version":[{"id":585,"href":"https:\/\/www.jasonsblog.place\/index.php\/wp-json\/wp\/v2\/posts\/578\/revisions\/585"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.jasonsblog.place\/index.php\/wp-json\/wp\/v2\/media\/580"}],"wp:attachment":[{"href":"https:\/\/www.jasonsblog.place\/index.php\/wp-json\/wp\/v2\/media?parent=578"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.jasonsblog.place\/index.php\/wp-json\/wp\/v2\/categories?post=578"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.jasonsblog.place\/index.php\/wp-json\/wp\/v2\/tags?post=578"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}