Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411670 Posts in 69397 Topics- by 58452 Members - Latest Member: homina

May 16, 2024, 01:46:43 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsDeveloperPlaytestingA musical experiment
Pages: [1]
Print
Author Topic: A musical experiment  (Read 1354 times)
DavidN
Level 0
***



View Profile WWW
« on: March 27, 2011, 06:51:38 AM »

This is something that I've been thinking about for a while, but only got around to doing a sketch of this weekend:



It's a vertically scrolling shooter where the level, enemies, pickups and so on are generated from a music file - as you can see, most of the graphics for now are just placeholders from Tyrian. The aim is to see if I can eventually build it up to something that will produce appreciably different (and coherent) levels from songs that the player throws into it.

At the moment, it's just called Music Shooter, another victim of my unimaginative project names. It's quite fun to just zoom around and watch the explosions, though.
Logged

Theon
Level 4
****



View Profile
« Reply #1 on: March 27, 2011, 10:55:03 AM »

Uh, I like the idea, and the graphics and music aren't half bad, but...
Nothing seemed to have ANYTHING with the music to do. The game continued just as before, even after the music had stopped. Who, Me?

I'd like to see this turn into a music shmup (I love Beat Hazard), so keep up the good work Smiley
Logged
Sam
Level 3
***



View Profile WWW
« Reply #2 on: March 27, 2011, 11:26:29 AM »

I also didn't experience an obvious connection between the music and the play experience.

At the start it seemed like a particularly dense pack of enemies spawned at the same time as a burst of notes played in the music, but after that no connection was obvious to me.  If that connection was true then there's an inherent problem with the enemies spawning in time to the music, but only becoming noticeable to the player a short (and variable) time later.

If I were you I'd concentrate on extracting just the varying tempo of the music and use that to control something really obvious to the player such as how fast the level scrolls.  Throw in some pulsing effects on the graphics that move in time to the beat and the connection with the music will be very clear to the player.

The exact patterns of enemies could be produced by just seeding a number generator with some hash generated from the song so that two 100 bpm songs would not give rise to identical levels.  The rate of enemies spawning can be inversely proportional to the current scroll speed, tuned to give a similar difficulty on both fast and slow songs (or sections of songs).

It would be amazing to always produce a recognisable pattern of enemies associated with parts of a song.  A repeating chorus producing the same waves would be great.  My mind boggles at how to actually achieve that though: analysing the song so that a repeated chorus can be recognised despite inevitable minor changes in the sound seems hard.  Then again there's those services that are able to recognise a song from a recording made on a mobile phone, so likely I'm just far behind the state of the art in that kind of audio analysis.
Logged
DavidN
Level 0
***



View Profile WWW
« Reply #3 on: March 28, 2011, 04:00:06 AM »

Those are good thoughts - at the moment, the level data is extracted from the music but it's not synchronized as it plays (it's sort of easier to appreciate that different songs produce different levels when you see it done with multiple songs), and there isn't an attempt to make the intensity of the level match up with the music.

I'd really love to get it to recognize song parts and produce definite patterns based on those, too - I'm sure some library or other has something that could make a start on it. Though this is rapidly turning into a slightly more ambitious project than I had intended - something for the future Smiley
Logged

Cheezmeister
Level 3
***



View Profile
« Reply #4 on: March 28, 2011, 05:58:11 AM »

Have to agree with Salt here; engineering your game mechanics to match up to the music of an arbitrary track is fascinating, but it's freaking hard. It still amazes me to no end that Audiosurf pulled it off. Syncing up graphical effects with the song's tempo and deriving a unique (if unrelated) pattern from each song, that would be awesome enough.

Or approach it from the opposite side and generate your BGM from game mechanics as they happen (e.g. play a kick on every beat if the gun has fired during that time, play a motif when an enemy explodes, etc.).
Logged

෴Me෴ @chzmstr | www.luchenlabs.com ቒMadeቓ RA | Nextris | Chromathud   ᙍMakingᙌCheezus II (Devlog)
kidchameleon
Level 1
*



View Profile WWW
« Reply #5 on: March 29, 2011, 03:10:05 PM »

Hmmm, doesn't seem right without sound effects, there's not much satisfaction to be had from blowing up an enemy and not hearing the explosion!
Logged
baconman
Level 10
*****


Design Guru


View Profile WWW
« Reply #6 on: March 29, 2011, 05:57:01 PM »

Just needs some music theory and pacing.

Consistent tempo is a must, your firing rate and enemy scrolling rate should compliment each other rather seamlessly. You can do, for instance, double-rate or half-rate stuff, but you'll want the timing to stay relatively similar mathmatically. Which can be tricky to pull off.

Secondly, you'll want to batch your enemy groups (or their health) in relative multiples of 4, 8, or 16 for the most part; although you can create "gaps" in them this way, as well... but you'll want the spacing in the gaps to work with the beat - so that creating a "gap" would place 2 enemy lengths between them - so if consistently shooting, the second shot would have to cover the extra distance with enough relative timing that it would skip one beat (assuming of course, both bullets and enemies travel at similar speeds).

Finally, you'll want to have a driving bass/percussion line going; and one that equals the tempo that you're going for in your shooter. A lot of popular space-shooter songs (think Gradius, R-Type, and HydoraH) range between 130-165 bpm. For instance, R-Type III's popular first stage is 130, and many of the trippy-sounding Gradius themes (look up Burning Heat!, GRADIUSIC CYBER, or ZERO-ONE) are around 160-165.
Logged

Pages: [1]
Print
Jump to:  

Theme orange-lt created by panic