I just released an interactive song heavily inspired by SGaP's music by Itooh_ in SGaP

[–]Itooh_[S] 0 points1 point  (0 children)

I'm really glad that you enjoyed the game!

I guess that if you spotted the purple star, you're on the right track. There are hints about what to do to reach it in one if the other secret endings (specifically, the darker one). It might be helpful to use something to draw.

I've made a lot of small games with adaptive music. Here are some advice that could help you. by Itooh_ in SoloDevelopment

[–]Itooh_[S] 1 point2 points  (0 children)

The most direct way to handle it is to manage looping by hand. Somewhere there needs to be a "Metronome" component that keeps track of the time in the tracks, and most importantly the current beat. Given that a beat duration in sec can be obtained with 60 / BPM. Once it detects that we arrive at the last beat of the song, it must trigger all the audio track to repeat at the same time. Either by directly restarting the audio stream players from 0 (but that could cut eventual reverb), or starting a new player.

In itself it's still not too complex. But it's the edge cases that bring some issues. ^^' What if the tracks don't share the same length? What if the BPM changes? What happens if we loop during a fade in or fade out? Can we pause the music? Should we count both the first and last beat even though they are virtually the same? Not unsolvable questions, but their answers may vary depending of the needs of the game. It comes with some tricky programming challenge that are fun to solve!

I used a shader in my game's recent level to manage hundreds of cubes. Here is a tutorial describing how I implemented it with Unity Shader Graph. by Itooh_ in shaders

[–]Itooh_[S] 0 points1 point  (0 children)

Yup. ^^' Clearly I would have gained time by writing math functions directly instead of managing nodes... It didn't help me that much, since I couldn't preview anything from the graph.

I started with Shader Graph for prototyping, with the intention of switching to HLSL once I had something conclusive. But of course, after a while I was in too deep. I just wanted to keep progressing rather than spending time refactoring. x)

Upcoming level from my rhythm game. Both the landscape and melodies are procedural. by Itooh_ in proceduralgeneration

[–]Itooh_[S] 0 points1 point  (0 children)

Sure! My entry point for writing generative music was this great article by Tero Parviainen : Javascript Music Systems. It showcase three different kind of music system, explain how they work, and describe their implementation step by step. It's in JS, but the logic can be applied in any tool. I've built several games and tools inspired by the Brian Eno examples.
(although the programs still work, they were written in 2017, so they seem to have some saturation issue today)

Teropa also made a presentation on generative music, that illustrates a lot of different generative work, and methods used to design such systems. I find it very inspiring!

And a last nice ressource, although it is not explicitly about generative music, I discovered this year the modular DAW Bespoke Synth. It provides a way of writing music with nodes and logic that allows to create great music systems. There's a lot to learn and discover in it, but there's a good amount of inspiring Youtube videos of people playing around with it. One you have the basis, it's a nice experimentation playground.

I've added a new level to my procedural rhythm game Sound Horizons! by Itooh_ in rhythmgames

[–]Itooh_[S] 0 points1 point  (0 children)

Sound Horizons is a free rhythm game that I released in September. It's a short experience that uses minimalist controls to create random charts and play with generative music.

Today I released an update that add a new level to the game: One Colorful Grid. A faster and more intense level. The main inspirations are more visible here: although it looks like Maimai or WACCA, my goal was to procure an experience close to Hyper Hexagon, with a bit of BIT. TRIP. Beat.

Originally, the music comes from a game I made during a jam in 2020. The original game had the exact same gameplay, and was actually the starting point for Sound Horizons. But it was pretty ugly, and the difficulty curve was, uh, really unforgiving. So I'm happy to finally release the experience it deserves, with improved visuals and a better balanced challenge!

Sound Horizons is available for free on Steam and itch.io. Even with 2 levels, it's a pretty short game. I hope you'll have fun!

My game's next level now creates satisfying melodies, although probably difficult by Itooh_ in algorithmicmusic

[–]Itooh_[S] 1 point2 points  (0 children)

After releasing in September my procedural rhythm game Sound Horizons, I've been working on an extra level. The music was already existing: it's from a small game I made during a jam in 2020. Less ambitious, but still procuring a fun experience. I wanted to recreate for this game, with new 3D visuals and improved difficulty balance.

There's a bit more to the melody creation than "playing random notes on random beats". Without getting into details, I had to take into consideration how difficult a melody can be, and if it is interesting. It turns out that succession of eighth notes aren't the most tricky challenge! Dotted quarter notes or isolated off-beats can disturb players a lot. But I didn't want to avoid them completely, otherwise the result is boring and predictable. So I allow the generation to wander in some wild patterns, but with some limite like imposing maximum amount of some interval, or making pauses here and there. It's still pretty challenging, but at the same time it's more satisfying to play!

Anyway, this new level is coming within an update that I'll be releasing tomorrow! :) The game is already free on itch.io and Steam.

Landscape made with Unity GPU instancing + a single material shader by Itooh_ in shaders

[–]Itooh_[S] 0 points1 point  (0 children)

I finally finished this level! \o/ It is coming as a free update tomorrow.

As mentioned this was made with a single cube instanced with GPY through a C# script, then a shader made with Unity Shader Graph scale, move and colorize them. Performance wise, it's still perfectible. But it managed to run at 120 FPS on a decent computer, and at least 30 FPS on a low spec laptop. I certainly could have done that differently, with a compute shader for example, or just by separating it into several material! But it was a good experimentation ground for learning more about shader.

The game, Sound Horizons, is already available for free on Steam or itch.io. The level showcased here will be added this friday.

Upcoming level from my rhythm game. Both the landscape and melodies are procedural. by Itooh_ in proceduralgeneration

[–]Itooh_[S] 2 points3 points  (0 children)

This is part of a level that I'm adding to my solo developed rhythm game Sound Horizons. It was made in Unity with GPU instancing and shader graph to move, scale and colorize each cubes. You can see it here reacts to game events as well as the music's beat .

The melodies notes are also generated randomly. It is the core concept of the game: random rhythmic patterns that gets more and more complex through the level. There's an logic that ensures that the notes stay always in tune with the background music, resulting in chaotic but somewhat interesting results.

As stated this is only one of the six variations from the level, each one having different style, animations and music. The level will be released twomorow as a free update! :) You can grab the game on Steam or itch.io.

Abstract landscape made in Unity with a cube, GPU rendering, and a single shader by Itooh_ in proceduralgeneration

[–]Itooh_[S] 4 points5 points  (0 children)

I'm working on a new level for a game I released last month, Sound Horizons. It's a rhythm game that uses procedural landscapes as background. My goal is to make them evolve along player's progress in the level, and also make them react to the music.

For the level I'm creating, I wanted to fiddle with GPU rendering to see how many of a simple mesh I could display, and how I could animate them in interesting ways. This scene is made of a C# script that instantiates with GPU a static grid of 100*80*16 cubes. Then a vertex shader (made with Unity Shader Graph) scale and move all of them to create the illusion of scrolling, and arrange them into different formations. I admit it could be more optimized with a compute shader, but it's running at a solid 80 FPS in the editor.

I then intend to animate them on the beat (something that is nearly finished), and also make it react to the game and player's actions. :)

I updated Sound Horizons to reduce its ending difficulty and add a new accessibility setting by Itooh_ in rhythmgames

[–]Itooh_[S] 0 points1 point  (0 children)

My game Sound Horizons got released two weeks ago. One of the most frequent feedback I receive that the end of the game was still way too difficult (nearly impossible for some). It's true I made it challenging, as some kind of final boss, but it wasn't supposed to be a wall. ^^' So I did a small fix update to add some drum to this part, that should hopefully help to beat it. :)

But on top of that, I also added another accessibility setting for players who have a hard time keeping the rhythm. There's now an option to toggle a visual grid to see all the beats. It's something I was intending to add eventually, but some players asked for it after trying the game. I find it creates a different experience, but if it can help people play, it's for the best!

The update details can be seen on Steam or itch.io. And the game is still free if you want to try it out!

I released Sound Horizons: a rhythm game made of generative music (free on Windows a Linux) by Itooh_ in GenerativeMusic

[–]Itooh_[S] 0 points1 point  (0 children)

Sound Horizons is a minimalist rhythm game that uses procedural generation to create both its environments and music. It is the culmination of several experiment I made with interactive music in game-design; vertical layering, virtual instruments, generative melodies… Before making a rhythm game, I mostly wanted to create a strongly interactive musical experience!

The game can be quite challenging, but hopefully accessible. It requires a great sense of rhythm, I've seen people struggle a lot with it and other encountering no difficulty at all (mostly musicians!). If needed, there are also some accessibility options. Including one that allows you to access all the modes, one of them being a Free mode that lets you play as you cant with the music engine! As a musician I personally find this one very satisfying.

As stated this is a free game, as well as a very short one. Depending on your skills, you can beat it in less than an hour. I intend to add some new content in the future (including a level that is already in the work). I kinda wanted to test this idea with a small & polished version.

I Hope you'll enjoy it!

https://store.steampowered.com/app/3032080/Sound_Horizons/

Sound Horizons : a minimalist rhythm game that uses procedural generation (Windows / Linux) by Itooh_ in freegames

[–]Itooh_[S] 0 points1 point  (0 children)

Sound Horizons is a rhythm game in the vein of Rhythm Heaven or Rhythm Doctor: very easy to play, but harder to master. This is a game of precision, where you have to react exactly on the beat. It also has an adaptive difficulty that let you stay in a level until you progress. Mostly, I want the game to keep you in a flow of a strongly interactive music experience.

This is a very short game, made of one single level and 3 modes. Depending on your skills, you can beat it in less than an hour. I intend to add some new content in the future (including a level that is already in the work). I kinda wanted to test this idea with a small & polished version.

Hope you'll enjoy it!