Valkyrie Dev Blog #11 – It Works!

Wow, it’s been a good…5 months since the last dev blog. A lot has happened with me since then, so let’s talk about what’s been going on.

First of all, in my personal life, a lot of things changed. I’ve been busy doing lots of programming at work lately, and I’ve just been busier in general lately.

But aside from that, what’s been going on with Valkyrie? Well, I was stuck…for a long time. The last attempt that I made at proper arrow scrolling seemed to be working well. However, once I switched to testing with a different song, with a lot of stops, things quickly fell apart. So it was back to the drawing board.

I worked on tweaking this code for weeks, to no avail. To top things off, my laptop broke and refused to power on, so I was unable to get any work done on the game for a bit while it was out for repair. And when I finally got it back, I tried jumping back into it but I was even more confused than I was before the laptop incident.

A few days later, I had an epiphany when I was attempting once again to tweak my code to handle stops correctly: This approach would never work. To give a bit of detail, I was trying to account for stop durations by offsetting a timer, but when I calculated times for all of the arrows beforehand, I had already taken stops into account, so I was ending up with some weird double counting. Well, the important thing is I realized it would never work, so that was a good chunk of time wasted.

On the plus side, in that moment, I also realized what I should be doing. After I figured out what the correct method would be, implementing it was actually fairly simple. And so I present to everyone, a video of things actually working!

So going forward, I’ll be able to move on to other aspects. For example, holds have yet to be implemented. The game should finally start approaching some sort of feature parity with StepMania much quicker. Keep an eye out for more dev blogs soon (hopefully weekly once again)!

You May Also Like

Leave a Reply

Your email address will not be published. Required fields are marked *