forum

making osu! mania work with guitar hero guitars

posted
Total Posts
1
Topic Starter
jeromkiller
A couple of days ago I was playing guitar hero with a friend and I came with the idea to make a guitar hero guitar with osu mania, because the gameplay is somewhat the same.

I did some looking online and i found out that i could use a program called glovepie to make it work.
After trying to connect my wii remote to my laptop (witch was having a lot of touble with) I could get to work.

My first build only consisted of connecting the fret buttons to my keys, mostly to try if it would work in the first place
However only playing with the frets isn't what guitar hero is about you have to strum too.

so in my second build I added a couple of and statements to my code so that you would have to both press the correct fret keys as well as click the strum button.
this worked, kinda...
to be fair, this caused more issues than it would have solved.
For instance during the sliders you would have to both hold the fret keys as well as hold the strum button.
also you could easeley cheat by holding down the strum button and then just play with just the strum fret buttons
so the main issue wasn't solved yet...
I also made the song selection menu navigable with the guitar but thats all using some basic key binding so that wasn't all to hard

in my third build (witch I am at right now) I added a mechanism that limits how long you can hold down the strum button before it ignores it so that you can't cheat that way

I have also fixed the slider issue where you can now release the strum button during sliders (the correct fret has to remain pressed of course).
both these two additions make the program a lot more fun to use.
however By fixing the slider thing I have caused another issue, witch I don't know how to solve yet...
When you hold down a fret and strum the program will keep giving an input for the fret (that is how i made the sliders work) however if you were to strum again whilst still holding the same fret the strum will be ignored and will not be entered as a second input.
Witch makes hitting the same note repeatedly difficult as you have to not only have to strum but also release the fret for a moment to make it work.
I haven't had a lot of issues with it. because beatmaps don't contain the same note in a row as often as guitar hero does.
but its still a bug that i will have to take out (if someone has an idea to fix this, please let me know because i have no clue).

I also thought about adding in the feature with the gloing notes from guitar hero ( I don't know what they are officially called and am also to lazy to google it)
where after a successful hit note you don't have to strum on the next consecutive notes if they are packed really close together.
but that might be a bit to arbitrary to add.

anyway if you are interested in how i made this, or are interested in trying it out for yourself here is the source code,
I'm using a guitar hero 3 guitar for the wii, and I use the program glovepie to make the code work.
SPOILER
//Fret keys and strumming for input
keyboard.D & var.green = wiiguitar.green & ( var.strum | var.green)
keyboard.F & var.red = wiiguitar.Red & (var.strum | var.red)
keyboard.J & var.yellow = wiiguitar.Yellow & (var.strum | var.yellow)
keyboard.K & var.blue = wiiguitar.Blue & (var.strum |var.blue)

//strum can't be held down because of this part
If ((wiiguitar.StrumDown | wiiguitar.StrumUp) && var.strumCount <10) then
var.strum = true
var.strumCount++
End else {
var.strum = false
}
If not (wiiguitar.StrumDown | wiiguitar.StrumUp) {
var.strumCount = 0
}


//navigate menu
keyboard.Enter= wiiguitar.green //enter song selection
keyboard.R = wiiguitar.WhammyBar > 0.7 //retry song
keyboard.Left = (wiiguitar.StrumUp and not wiiguitar.Orange) //select song
keyboard.Right = (wiiguitar.StrumDown and not wiiguitar.orange)
keyboard.up =wiiguitar.StrumUp & wiiguitar.orange //select difficulty
keyboard.down = wiiguitar.StrumDown & wiiguitar.orange
keyboard.F2= wiiguitar.Minus //random song
keyboard.esc= wiiguitar.Plus //pause song
keyboard.Space = ((var.green & var.red) & (var.yellow & var.blue)) //skip intro

thanks for taking the time to read this, and I hope you enjoyed this
Please sign in to reply.

New reply