{"id":2288,"date":"2018-01-07T14:01:51","date_gmt":"2018-01-07T19:01:51","guid":{"rendered":"http:\/\/www.bootdiskrevolution.com\/?p=2288"},"modified":"2018-01-06T16:17:05","modified_gmt":"2018-01-06T21:17:05","slug":"the-return-of-endless-mode","status":"publish","type":"post","link":"https:\/\/www.bootdiskrevolution.com\/NEW_BLOG\/the-return-of-endless-mode\/","title":{"rendered":"The Return of Endless Mode!"},"content":{"rendered":"<div class=\"_rp_w5 rpHighlightAllClass rpHighlightBodyClass allowTextSelection\">\n<div>\n<div id=\"Item.MessageNormalizedBody\" class=\"_rp_x5 ms-font-weight-regular ms-font-color-neutralDark\" tabindex=\"-1\">\n<div class=\"rps_7579\">\n<div>\n<div class=\"PlainText\">\n<p>Happy new year, anyone who still checks this blog!! I&#8217;ve got some cool news to share: I&#8217;ve been working on a free update to Bleed 2, which I&#8217;ll be ready to release Soonish<span class=\"_Tgc _s8w\">\u2122<\/span> (like, maybe in a month or two?) As you can guess from the title of this post, the update is the newly-resurrected Endless Mode (something I <a href=\"http:\/\/www.bootdiskrevolution.com\/randomly-generated-content\/\">worked on before<\/a>, but <a href=\"http:\/\/www.bootdiskrevolution.com\/endless-modes-end\/\">ultimately scrapped<\/a> because I wanted to actually finish the main game.)<\/p>\n<p class=\"PlainText\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-2292 aligncenter\" src=\"https:\/\/i0.wp.com\/www.bootdiskrevolution.com\/NEW_BLOG\/wp-content\/uploads\/2018\/01\/clip1_O.gif?resize=480%2C270\" alt=\"\" width=\"480\" height=\"270\" \/><\/p>\n<p class=\"PlainText\">&#8220;Endless Mode&#8221; is what I&#8217;m calling randomly-generated levels for Bleed 2! The number-one complaint I hear is that folks wish the game was longer, so I hope this mode can help remedy that. It also has a slightly different flavour than Bleed 2&#8217;s content &#8212; the main game is all about bosses and set-pieces, but Endless Mode is more Bleed 1-style, focusing on &#8220;traditional&#8221; levels with lots of smaller baddies and environmental hazards (there are boss fights in Endless Mode too, of course &#8212; 16 of them from Story Mode will appear!)<\/p>\n<p class=\"PlainText\">Just to be clear, there won&#8217;t be any new bosses added, but OG Bleed players will see some familiar enemies and hazards return, remixed and improved to fit with Bleed 2&#8217;s gameplay and presentation. Also, Endless Mode is fully playable in co-op. Yay! There are a few other fun elements about it to share, but I&#8217;ll keep those secret for now.<\/p>\n<p class=\"PlainText\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-2299\" src=\"https:\/\/i0.wp.com\/www.bootdiskrevolution.com\/NEW_BLOG\/wp-content\/uploads\/2018\/01\/vlcsnap-2017-08-16-15h58m28s186.png?resize=501%2C288\" alt=\"\" width=\"501\" height=\"288\" srcset=\"https:\/\/i0.wp.com\/www.bootdiskrevolution.com\/NEW_BLOG\/wp-content\/uploads\/2018\/01\/vlcsnap-2017-08-16-15h58m28s186.png?w=1280&amp;ssl=1 1280w, https:\/\/i0.wp.com\/www.bootdiskrevolution.com\/NEW_BLOG\/wp-content\/uploads\/2018\/01\/vlcsnap-2017-08-16-15h58m28s186.png?resize=300%2C173&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.bootdiskrevolution.com\/NEW_BLOG\/wp-content\/uploads\/2018\/01\/vlcsnap-2017-08-16-15h58m28s186.png?resize=768%2C442&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.bootdiskrevolution.com\/NEW_BLOG\/wp-content\/uploads\/2018\/01\/vlcsnap-2017-08-16-15h58m28s186.png?resize=1024%2C589&amp;ssl=1 1024w\" sizes=\"auto, (max-width: 501px) 100vw, 501px\" \/><\/p>\n<p class=\"PlainText\">Creating Endless Mode was an interesting journey, and I thought I&#8217;d blog about the process for the next little while, beginning now!<\/p>\n<p><!--more--><\/p>\n<p class=\"PlainText\">To start with, a brief overview of how Endless Mode levels are created. The levels are less &#8220;procedurally generated&#8221; and more &#8220;procedurally arranged&#8221;, if that makes sense. I made about 100 unique &#8220;level chunks&#8221; &#8212; short, hand-crafted segments &#8212; that are randomly combined to make complete levels. Having each chunk be actually designed helps the levels they create also feel properly designed, as opposed to the haphazard-seeming maps and enemy placements that some procgen games feature (not necessarily bad, but something I wanted to avoid here.)<\/p>\n<p class=\"PlainText\">If you&#8217;re curious what a level chunk looks like in practical terms, here you go! It&#8217;s just a small, rectangular section of level:<\/p>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2241 aligncenter\" src=\"https:\/\/i0.wp.com\/www.bootdiskrevolution.com\/NEW_BLOG\/wp-content\/uploads\/2017\/08\/chunkExample.png?resize=320%2C480\" alt=\"\" width=\"320\" height=\"480\" srcset=\"https:\/\/i0.wp.com\/www.bootdiskrevolution.com\/NEW_BLOG\/wp-content\/uploads\/2017\/08\/chunkExample.png?w=320&amp;ssl=1 320w, https:\/\/i0.wp.com\/www.bootdiskrevolution.com\/NEW_BLOG\/wp-content\/uploads\/2017\/08\/chunkExample.png?resize=200%2C300&amp;ssl=1 200w\" sizes=\"auto, (max-width: 320px) 100vw, 320px\" \/><\/p>\n<p class=\"PlainText\">Chunks have an entrance on the left and an exit on the right (you can see both marked with special tiles) and everything in-between is whatever you want! In code, Bleed 2 levels are stored as arrays of numbers (<a href=\"http:\/\/www.bootdiskrevolution.com\/more-levels\/\">touched on here<\/a>) &#8212; chunks are smaller versions of that, described by their own tiny number arrays. The system randomly picks a collection of chunks and lays them entrance-to-exit, creating one big, seamless level. You fuse all the chunks&#8217; tiny number arrays into one big, final array and you&#8217;ve got yourself a level! It looks something like this&#8230;<\/p>\n<p class=\"PlainText\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"wp-image-2296 aligncenter\" src=\"https:\/\/i0.wp.com\/www.bootdiskrevolution.com\/NEW_BLOG\/wp-content\/uploads\/2018\/01\/endlessLevelExample.png?resize=792%2C317\" alt=\"\" width=\"792\" height=\"317\" srcset=\"https:\/\/i0.wp.com\/www.bootdiskrevolution.com\/NEW_BLOG\/wp-content\/uploads\/2018\/01\/endlessLevelExample.png?w=1280&amp;ssl=1 1280w, https:\/\/i0.wp.com\/www.bootdiskrevolution.com\/NEW_BLOG\/wp-content\/uploads\/2018\/01\/endlessLevelExample.png?resize=300%2C120&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.bootdiskrevolution.com\/NEW_BLOG\/wp-content\/uploads\/2018\/01\/endlessLevelExample.png?resize=768%2C307&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.bootdiskrevolution.com\/NEW_BLOG\/wp-content\/uploads\/2018\/01\/endlessLevelExample.png?resize=1024%2C410&amp;ssl=1 1024w\" sizes=\"auto, (max-width: 792px) 100vw, 792px\" \/><\/p>\n<p class=\"PlainText\">&#8230;but chunk edges are blended together in the final level, so it doesn&#8217;t look so artificial (and you&#8217;d never be this far away!)<\/p>\n<p class=\"PlainText\">There are a few different categories of chunk: standard, hazard, vertical, u-turn, boss and cap. Standard chunks are filled with straightforward gameplay, while hazard chunks contain environmental hazards (more on those later.) Vertical and u-turn chunks change the direction the level flows in, which is important to keep things feeling interesting. Every level concludes with a boss fight, which takes place in a boss chunk, and all levels start and end with a cap chunk, which is a short, safe area to rest. It took a lot of fiddling to make the system build actually interesting levels using these chunk categories, but I found a solution that, I think, produces a good variety of results!<\/p>\n<p class=\"PlainText\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"wp-image-2298 aligncenter\" src=\"https:\/\/i0.wp.com\/www.bootdiskrevolution.com\/NEW_BLOG\/wp-content\/uploads\/2018\/01\/vlcsnap-2017-08-16-15h52m27s552.png?resize=501%2C288\" alt=\"\" width=\"501\" height=\"288\" srcset=\"https:\/\/i0.wp.com\/www.bootdiskrevolution.com\/NEW_BLOG\/wp-content\/uploads\/2018\/01\/vlcsnap-2017-08-16-15h52m27s552.png?w=1280&amp;ssl=1 1280w, https:\/\/i0.wp.com\/www.bootdiskrevolution.com\/NEW_BLOG\/wp-content\/uploads\/2018\/01\/vlcsnap-2017-08-16-15h52m27s552.png?resize=300%2C173&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.bootdiskrevolution.com\/NEW_BLOG\/wp-content\/uploads\/2018\/01\/vlcsnap-2017-08-16-15h52m27s552.png?resize=768%2C442&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.bootdiskrevolution.com\/NEW_BLOG\/wp-content\/uploads\/2018\/01\/vlcsnap-2017-08-16-15h52m27s552.png?resize=1024%2C589&amp;ssl=1 1024w\" sizes=\"auto, (max-width: 501px) 100vw, 501px\" \/><\/p>\n<p class=\"PlainText\">That&#8217;s the dirt simple way of explaining it! But what about enemies, or the camera, or bosses, or environments, or or or&#8230;? That&#8217;s what I plan to get into later, so check back next time!<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Happy new year, anyone who still checks this blog!! I&#8217;ve got some cool news to share: I&#8217;ve been working on a free update to Bleed 2, which I&#8217;ll be ready to release Soonish\u2122 (like, maybe in a month or two?) As you can guess from the title of this post, the update is the newly-resurrected <a class=\"read-more\" href=\"https:\/\/www.bootdiskrevolution.com\/NEW_BLOG\/the-return-of-endless-mode\/\">[&hellip;]<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[6],"tags":[],"class_list":["post-2288","post","type-post","status-publish","format-standard","hentry","category-bleed-2"],"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/www.bootdiskrevolution.com\/NEW_BLOG\/wp-json\/wp\/v2\/posts\/2288","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.bootdiskrevolution.com\/NEW_BLOG\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.bootdiskrevolution.com\/NEW_BLOG\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.bootdiskrevolution.com\/NEW_BLOG\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.bootdiskrevolution.com\/NEW_BLOG\/wp-json\/wp\/v2\/comments?post=2288"}],"version-history":[{"count":20,"href":"https:\/\/www.bootdiskrevolution.com\/NEW_BLOG\/wp-json\/wp\/v2\/posts\/2288\/revisions"}],"predecessor-version":[{"id":2315,"href":"https:\/\/www.bootdiskrevolution.com\/NEW_BLOG\/wp-json\/wp\/v2\/posts\/2288\/revisions\/2315"}],"wp:attachment":[{"href":"https:\/\/www.bootdiskrevolution.com\/NEW_BLOG\/wp-json\/wp\/v2\/media?parent=2288"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.bootdiskrevolution.com\/NEW_BLOG\/wp-json\/wp\/v2\/categories?post=2288"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.bootdiskrevolution.com\/NEW_BLOG\/wp-json\/wp\/v2\/tags?post=2288"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}