Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length

Advanced search

1401005 Posts in 67843 Topics- by 61374 Members - Latest Member: blakeadam

May 23, 2022, 10:37:58 AM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsRhythm Quest - Chiptune music-based runner
Pages: 1 2 [3]
Author Topic: Rhythm Quest - Chiptune music-based runner  (Read 4350 times)
Level 0

View Profile WWW
« Reply #40 on: May 06, 2022, 03:18:14 PM »

Jump+Attack Enemies, Too Early/Late Detection

Steam Page Now Live

First thing's first: the Steam page for Rhythm Quest is now live!

Please go ahead and give it a wishlist if you haven't already -- really helps out for metrics and visibility!

Jump+Attack Enemies

This week I worked on two new levels for world 3! The existing level 3-2 that I had was too difficult, so I've pushed that aside for now and come up with a new one, this time featuring a new mechanic:

As you can see in the above video, I've now got teal-colored flying enemies that signify jumping and attacking simultaneously. This is technically not a new enemy type, but I thought it would be good to differentiate these from the regular flying enemies visually to help key you in to the combo button press.

I had actually already coded these enemies in a couple weeks ago, but hadn't gotten around to trying them out yet...I'm glad I finally did! The jump+attack enemies open up a lot of interesting charting possibilities when combined with other mechanics, such as flight paths:

The backdrops for this new level came out pretty nicely, despite being relatively simple. I started with the "brick" pattern on the wall (just tiled rectangles...) and then added in the archways. I wasn't quite sure what to put in the archways at first, but ended up putting a dithered waterline, along with some stars in the background.

If you look closely, I'm using the same "shimmer" effect on the top pixels of the water as in prior stages -- it's just two layers of lighter translucent pixel segments that scroll at different speeds, giving a nice effect. I also added a dithered fade on the top and bottom of the wall. The final touch was to add the torches on the walls for some added interest.

Too Early/Too Late Tips

I worked on this feature last month but forgot to write about it. The game now detects when you press a button too early or late and shows a quick message on screen:

I wanted to try adding this feature since it might be difficult at higher speeds to know exactly what went wrong, especially because of prescheduled (not dynamic) audio hit sfx.

How do you think you would go about implementing this? You could try to have an extra collider/zone in front of the player to detect "too early" presses, but that's potentially inaccurate and doesn't help for "too late" presses.

The way I ended up coding this is a little more intricate and involves keeping track of actions and button presses across multiple frames rather than trying to "predict" what could be coming ahead:

For "too early" presses, I detect these by keeping track of the last time at which the player performs a "dud" jump or attack that didn't correspond to an obstacle. When the player collider intersects with any new interaction point, I check to see if the player's most recent "dud" input matches the obstacle, and was within 0.25 seconds. If so, I show the "Too Early" message.

For "too late" presses, it's essentially the same thing in reverse. First, I needed to restructure my code to allow input processing even during respawns, since that's often when "too late" button presses happen (after you already ran into an enemy). For this, I continually keep track of the most recent interactable jump point and attack point that overlapped the player collider, as well as the time at which it last overlapped. If the player presses a button that doesn't correspond to something, or if the player is already respawning, then I check against these "most recent interactables" to see if I should show a "Too Late" press.

That's it for this week! I also worked on a new (easier) level 3-3 for introducing the multi-hit ghost enemies, which is almost done. I'm pretty happy with the rate at which I'm able to make new levels (when I'm actually focusing on them) -- I generally take one day to write the music and chart, and then another day for the backdrops and any additional tweaks. At this rate I should be able to finish world 3 next week, unless I get sidetracked by something else. That's only halfway (?) through all of the world, so I really have to get cranking through these!

One other thing I have in the back of my mind is how to approach world 4. I already have speed zones implemented, but I might consider taking another stab at the underwater section mechanic. I also have to solidify my musical style for that world, still...
Level 0

View Profile WWW
« Reply #41 on: May 13, 2022, 12:50:20 PM »

World 3 Complete

Despite struggling a bit with other stuff in my life, I managed to do some more music/charting/backdrop work in order to finish out world 3!

New Level 3-4 Backdrops

This originally used to be level 3-2 (and the first introduction of the multi-hit ghost enemies), but got bumped over to become level 3-4 because of difficulty. The backdrops for this got shifted over to level 3-3, so I needed some new background art for this level.

You might not notice it at first, but I actually reused some of the artwork from level 1-5 (City in the Rain) here, except this time the houses are darkened for a nighttime look, with a little bit of rim lighting and a gentle glow coming out of the windows. There's also a big castle in the back -- I like how that blends into the background at first but then pops into focus at the chorus when the colors shift.

Later in the stage I do a different effect where everything gets blacked out entirely except for the rim lighting and the window glows, and I like how that turned out. This whole world ended up having very dark backdrops in general so there's a lot of playing around with this sort of thing, which I think nicely contrasts all of the bright colors in world 2.

Level 3-5

This level draws a little bit of inspiration from Metal Man's stage (Mega Man 2) and/or Tinker Knight's stage (Shovel Knight) and has a bunch of (unfortunately, non-animated) gears/cogs in the background, which scroll in parallax. I have a dithered fade effect which adds some more feeling of depth, and it also turns into a light "glow" at the first chorus, which is kind of neat:

Later in the level I black out the dark backdrop colors and brighten everything else, which results in a sort of "neon" effect which is a bit characteristic of this world in general:

And I also play around with darker colors some more in this section, where the background gears are darkened:

That's it for this week, and that rounds out world 3! Overall this world unfortunately felt a little more "phoned in" than before, I think in particular levels 3-3 and 3-5 didn't feel like I was as meticulous about the music and charting as I have been in the past. I'm a little shaky on whether the difficulty curve for this world holds up well, so I may need some additional testing or tweaks on that as well. I've been tending to make songs a bit too high on the difficulty scale in general for these worlds, and I've already had to scale down the tempo of a few songs slightly to try and compensate, but you can only go so far with that. It's a tricky balance to maintain!

I'm never one to let perfect be the enemy of good, though, so things will have to sit as is for now as I move on to work on other things like world 4, which will hopefully have an entirely different vibe.
Level 0

View Profile WWW
« Reply #42 on: May 20, 2022, 03:49:20 PM »

Level 4-1, Water Mechanic

I spent this week working on the first level in world 4, which introduces the water zone mechanic. Here's a video of the entire stage in action:

Water Zone Rework

It's been a long time since the water mechanic has made an appearance! I initially prototyped this almost an entire year ago, where it looked like this:

The water zones slow down the scrolling rate to 50%, and also make jumps take two beats instead of one. I was also contemplating having the water sections feature triplet-based rhythms.

I liked the idea of the water zones since they seemed intuitive and provided an interesting changeup, but I wasn't sold on the triplet idea, and the beat grids being spaced closer together made things difficult to read. More importantly, I was worried about the chart design space of this mechanic -- since the jump length is increased and scroll speed decreased, the water sections tend to have less notes, not more, which ostensibly makes them easier, not harder.

The new version of the mechanic that I landed on isn't actually too different from the original one. The scroll rate now only slows to 60% (maybe subject to change) to avoid making readability too difficult, and I've done away with the triplet rhythm idea (which is fine, since triplets are already covered by my speed zone mechanic).

The visual representation is also more or less the same, but I've tweaked the blue tinting to something that looks more vivid and cleaner overall. The "waves" on the borders of the water zones are actually done via fragment shader using a sine function. Each water zone actually has its own camera as well, which is used to draw to a render texture, which is then shifted via a similar sine function to give a slight "ripple" effect.

One key change I made with the visuals was to have two separate layers of blue tinting rather than one. I was having trouble because using a more-saturated blue tint was causing the player character and obstacles to look too faded out; I realized the solution was to only tint the gameplay elements slightly (25%) and then use a stronger tint behind that that only applies to the stage backdrops.

Probably the biggest "difference" in the water zones compared to a year ago isn't really a change at all: I've simply found some more interesting chart design aspects of the water zones that seem promising. Here's a small snippet where I use one-beat water zones to accentuate two short flight paths:

On a pure mechanical level this isn't particularly difficult, but the way in which it comes together with the music seems really interesting and satisfying to me. We'll probably get to see even more interesting combinations (rolling spike enemies + water zones) in future levels across this world. Despite the water zone limitations, I managed to have a higher note density for this level than any other level besides 3-5, so it looks like I might not have to worry so much about difficulty with this mechanic.

World 4 Music Theming

Going into world 4, I knew that I wanted to try utilizing pentatonic scales as a musical style choice, but I wasn't entirely sure how I wanted to differentiate the world instrumentation-wise. My previous attempt was straight 9-bit chiptune, but I wanted something a bit more distinct (I really like how world 2 turned out with its "airy/lush" instrumentation to set it apart).

I decided to try and bring in some plucked east asian instruments -- here I've got a shamisen and a yangqin:


These instruments provided a nice textural flavor, but I wasn't confident in their ability to cut through the mix to provide the focal lead melodies, so I fell back on some of my usual chiptune leads for that. However, I also wanted to be sure to bring in this pan flute patch which fit right in:


I'm attempting to lean more into grace notes and similar embellishments in the melody writing here, to fit with the overall vibe.

Next, I needed to figure out what to do with the drums. I was initially thinking of fast drum n bass-style percussion (probably doesn't work at quite this tempo), but I ended up with something like this instead:


The main drum pattern is made of fairly ordinary tight drum sounds, but I'm using half-time drum fills with different elements -- a bigger, more reverbed snare, triangle wave tom rolls, and a ride cymbal -- to accentuate the water zone patterns. I'm liking how this is working out, so I'm going to see if I can continue to have this emphasis on "drum pattern changeups" throughout this world.

Level Graphics

A couple of things to note about the visual design for this world/level:

First, I knew I wanted to have the sky color be bright, to contrast with all of the dark backgrounds from world 3. I've had the idea to draw pyramids for world 4 for a while, so I put those in as well.

Somewhere along the line I started feeling like world 4 should sort of have a "mystical" or "arcane" vibe to it, since it features these blue and red (water and speed) columns. I ended up drawing these simple "floating octahedron" things and have them scrolling in parallax. Very simple, but it definitely looks a lot different than anything we had from world 3. I like how everything has more "depth" because of the shading, which constrasts to all of the more "flat" graphics from the previous world. The ground tileset for world 4 also features diamonds, to go along with this theme.

Something else to note is the clouds, which are actually all the same color, but translucent and overlapping (which causes different shades to come through). Transparent layers are something I've used a little bit in previous levels, but I'm thinking that I should try and experiment with them more across this world to fit with the overall "mystical" vibe and accentuate the feeling of depth.

During the high-energy sections of the song, I switch out the sky color so it looks like a night sky, which to me gives a sort of "alien planet" look. This wasn't something I planned on initially at all -- I was simply playing around with the palettes and realized that I had an extra color slot available and could use it for the background to achieve this effect.

I like how the sky is dark, but the pyramids are still bright, which is different than in world 3 where most of the background layers were all dark. This is something I'll also be trying to keep in mind as a thematic throughline for future levels in this world, if I can.

That's it for this week! Level 4-2 will be next on the docket, and will probably be another water zone-focused level, (then level 4-3 can introduce the speed zones, which are more challenging).
Pages: 1 2 [3]
Jump to:  

Theme orange-lt created by panic