[h1]🔧 Sunday Devlog 8: Rapid Reconstruction[/h1] Welcome back! The game is currently under some [b]very[/b] dusty maintenance, but it will allow the creation of new levels to be greatly sped up. Additionally, this is the first time the log is being uploaded to Steam, more on that in a bit. Let's talk about it all in this devlog!! [h2]Reformatting stuff[/h2] The big reason I have to re-format a lot of code is because the game was initially just made to hold four songs and no more. Making a system that wasn't easy to expand allowed the game to be finished in time for the jam, but it has meant that most of my entire week has solely been spent on reformatting everything so the game can have as many songs as it wants. For example, each button in the game that opens a new song is actually the same button. They're assigned different numerical names in-engine, and whenever the home screen loads, they read their own name and determine what title to show, what song to take the player to, and more. [img]https://clan.akamai.steamstatic.com/images/45057857/34b1fe5ddf9425ea300a1f93e8becfa4d2c70390.png[/img] [i]This is all that's needed to get the object's name[/i] In the old system, these buttons just used a router to select between multiple text blocks and send that to the rest of the object to set its name: [img]https://clan.akamai.steamstatic.com/images/45057857/d4d2b1b6254084b32df5b5046f81c80604fb7795.png[/img] However, the final game is planned to have 30-40 songs available. If I don't change how this works, this small tower of 4 text behaviors is going to turn into a 40 behavior tall skyscraper that is very hard to edit and manage. So, rather than build a 40 behavior tall skyscraper, I just smashed the titles into a list that can be added onto infinitely: [img]https://clan.akamai.steamstatic.com/images/45057857/2952aae33ad66f61518bcc5790f6b8fbe3d9bada.png[/img] [i]Much better![/i] Not only is this setup more compact and easier to read, if I ever want to add another song, all I do is add a new piece of text in the list and it's already done. Simple, clean, and bearable to look at! It's not painfully obvious to some people who start using the engine I make games in [i](Flowlab)[/i], but lists are a very powerful and important tool. Back when I started using Flowlab again, while working on the game Galacdrive I basically never used lists. This resulted in code that I call "pillars of despair", massive, hideous chunks of code that are tedious to edit, lag the editor, and are needlessly oversized. Here are some examples for your [i](in)[/i]convenience: [img]https://clan.akamai.steamstatic.com/images/45057857/d9c9619b99e4a8cb73e15ced96806a45765bd998.png[/img] [i]Wtf does this even do.[/i] [img]https://clan.akamai.steamstatic.com/images/45057857/af2bf36a9554d19440977da5c6ee767250d47c77.png[/img] [img]https://clan.akamai.steamstatic.com/images/45057857/25178ae929ff86e102c46c4e39b9beff8ffc9acb.png[/img] [i]AAAAAAAAAAAAAAAAAAAAAAAA[/i] There are more complex examples of how things got more modular, for example the new score saving system: [img]https://clan.akamai.steamstatic.com/images/45057857/37b081011e0f60e9c31c82abf31e8095f3ebf92f.png[/img] [i]Old[/i] [img]https://clan.akamai.steamstatic.com/images/45057857/fa47773ddc74ce0b361da87408efdc9fe810c7ad.png[/img] [i]New[/i] But frankly, this would drag on a lot longer than it already has. TLDR tons and tons of reworking. Let's move on! [h2]Upcoming demo (and game) features[/h2] Unfortunately, aside from all the code re-building, there isn't a ton of new stuff to report on for the game. However, the progress made this week has allowed me to promise a lot of cool stuff coming to the demo very soon, namely: - A fix for that pesky bug where slashes aren't detected when your mouse is at the top of the screen - Percentages [i](and letter ranks)[/i] being saved rather than just letters - Tweaks to the player's animation to make the slashing look better - A proper rainbow effect on the combo counter when on "perfect" Oh right, the rainbow effect! Currently in the demo, when you get over 100 hits in a row with no misses, the visual on the combo counter turns white, while the text's highlights cycle through the rainbow. [img]https://clan.akamai.steamstatic.com/images/45057857/29e00761f1441af1b3e65f2b12630c638203f3e3.gif[/img] This was because of a shader issue with the engine and how shaders interact with transparent objects. Turns out that you can't just color shift something and adjust its transparency. However, PixelPizza once again suggested an alternative method of shifting the color via a different behavior than the shader behavior. [img]https://clan.akamai.steamstatic.com/images/45057857/9ecff3190d48bd11aabb443a0cd191c476bf69c3.png[/img] It worked, and now there's a real, proper rainbow effect when you're pulling a full combo! [img]https://clan.akamai.steamstatic.com/images/45057857/649df4f351ed52dcbf8f32fb719103f08f413260.gif[/img] [h2]Other news[/h2] You might be wondering why the devlogs are now on Steam. Originally, they were written on the Forums, but it was brought up on the discord if people would rather read the logs on the forums or Steam. Steam ended up securing the vote, so here we are! [img]https://clan.akamai.steamstatic.com/images/45057857/5c375664512c1b19f95bfeb8add0085850a3b5c6.png[/img] [b]We are thinking about adding calibration to the game[/b] - it's not super important in this game since you don't need to be extremely exact with your slashes, however it is still an essential feature in rhythm games. There'll be a poll relating to it soon on the discord! Also, I've been working on upgrading the Steam page slowly, for example by adding the fact the game won the Winter Flowjam '24 into the awards section. Once a few more tracks are mapped, there will be a brand new trailer made for the store page that will pitch the game better, and it'll also show off some of the new songs! We are cooking up a lot of cool stuff and I'm very excited to share more of it when it's more presentable next dev log. Thanks for reading as always!! [i]-Encabulated Games[/i]