Music Algorithms
Forum » MIDI Game Forums / Programming » Music Algorithms
Started by: manojalpamanojalpa
On: 1171487741|%e %b %Y, %H:%M %Z|agohover
Number of posts: 5
rss icon RSS: New posts
Music Algorithms
manojalpamanojalpa 1171487741|%e %b %Y, %H:%M %Z|agohover

So I'm starting to work on the algorithms and was wondering what methods you had in place, Ben.

Also, I figured the sort of non-linear progression should work as such

Level …..Amount
1……………1
2……………3
3……………6
4…………..10
5…………..15

last edited on 1171487798|%e %b %Y, %H:%M %Z|agohover by manojalpa + show more
unfold Music Algorithms by manojalpamanojalpa, 1171487741|%e %b %Y, %H:%M %Z|agohover
Re: Music Algorithms
BenHumberstonBenHumberston 1171502849|%e %b %Y, %H:%M %Z|agohover

What exactly is "Amount"? What is it affecting?

unfold Re: Music Algorithms by BenHumberstonBenHumberston, 1171502849|%e %b %Y, %H:%M %Z|agohover
Re: Music Algorithms
manojalpamanojalpa 1171504979|%e %b %Y, %H:%M %Z|agohover

Amount is how many "points" in a certain category you need in order to get it to the corresponding level.

IE in the beginning you want players to be able to level up quickly —- not so much at the end.

unfold Re: Music Algorithms by manojalpamanojalpa, 1171504979|%e %b %Y, %H:%M %Z|agohover
Re: Music Algorithms
manojalpamanojalpa 1171488158|%e %b %Y, %H:%M %Z|agohover

So, in each level you should be able, if you focus mainly on one thing, to get at least 1 point in that category. So if we start with that basic idea and go from there, we should be able to get rough leads. The current issue with doing things this way is that people can just play lots of chords, out of key notes, large intervals, sixteenth notes, and either high/low notes and get lots of points in all the categories simultaneously. Still trying to figure out how to balance this….

Attitude:
Major-

  • Attack+.2
  • Speed+.2
  • Jump+.2
  • Weight+.2

Minor-

  • Fierce+ .2
  • Sneak+ .2
  • Dive+ .2
  • Toughness+ .2

Weight:
For every tick where a note is played, tally how many notes were played simultaneously and just add them up -

  • (NFive++ OR
  • NFour++ OR
  • NThree++ OR
  • NTwo++ OR
  • NOne++ ) AND
  • TotalTicks++

Get percentages for each of them.
if(NFive > .5) weight += 1
if(NFive+NFour > .5) +=.9
if(NFour > .5) weight += .8
if(NFive+NThree >.5) += .75
if(NFour+NThree > .5) += .7
if(NFive+NTwo > .5) weight += .65
if(NThree > .5) weight += .6
if(NFour+NTwo > .5) weight +=.55
if(NThree+NTwo > .5) weight +=.5
if(NTwo > .5) weight +=.4
if(NOne > .5) weight +=0, sneak += .2
If any of these are the largest percentile, but not necessarily >.5, add weight += (whatever-.1)
Note that all of these should be "if else" statements, I believe.

Speed
Similar to weight, tally up how many of each kind of note were used, and then find the percentages. Use a schema similar to with Weight

OVERALL
Note how a very low weight boosted the sneak. Very low scores in any of the attributes will help to boost another one. I'm also thinking that very high attributes in any one score should hurt another one too. View here:

Original Low Boost High Cut
Weight Sneak Toughness
Speed Toughness Sneak
Sneak Jump Speed
Ferocity Attack Attack
Toughness Ferocity Weight
Jump Weight Dive
Dive Speed Sneak
Attack Dive Ferocity
last edited on 1171490683|%e %b %Y, %H:%M %Z|agohover by manojalpa + show more
unfold Re: Music Algorithms by manojalpamanojalpa, 1171488158|%e %b %Y, %H:%M %Z|agohover
Re: Music Algorithms
BenHumberstonBenHumberston 1171502820|%e %b %Y, %H:%M %Z|agohover

I can understand the whole speed thing… but for weight, why can't we just take the number of notes, divide by the number of "ticks" (my term for them is note spots, I think), so we get the average number of notes per spot? Just a thought. I think it would serve the same purpose.

unfold Re: Music Algorithms by BenHumberstonBenHumberston, 1171502820|%e %b %Y, %H:%M %Z|agohover
New post
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-Share Alike 2.5 License.