ScoreHero
Home | Forum | Wiki
Inbox [ Login ]Inbox [ Login ]
SearchSearch MemberlistMemberlist
ProfileProfile Log inLog in
SlowHero Charts Project
Goto page Previous  1, 2, 3 ... 16, 17, 18, 19, 20  Next
 
Post new topic   Reply to topic    ScoreHero Forum Index -> Technique, Style, and Gameplay -> Guitar/Bass
View previous topic :: View next topic  
Author Message
elScarecrow  





Joined: 22 Apr 2008
Posts: 1404
Location: Raleigh

PostPosted: Tue Feb 07, 2012 12:55 am    Post subject: Reply with quote

tannernieland11 wrote:
Thank you Slowhero. If it wasn't for this site my scores through GH1-GH3 would be piss awful.

I would like to know who did all this? Finds all the right paths. Awesome guy.


it's automated
_________________
Smaller dreams get pushed aside
For larger ones that change my life
Back to top
View user's profile Send private message Visit poster's website XBL Gamertag: ESC57
tma  





Joined: 03 May 2007
Posts: 1414
Location: Australia

PostPosted: Thu May 17, 2012 4:50 am    Post subject: Reply with quote

tannernieland11 wrote:
Thank you Slowhero. If it wasn't for this site my scores through GH1-GH3 would be piss awful.

I would like to know who did all this? Finds all the right paths. Awesome guy.


debr5836 was the person who wrote the original program and created the optimisation algorithm. I took over and adopted the code to the new game file formats in GH3+, but the fundamental algorithm is unchanged - so debr5836 is your man.

I've been looking at the game files again for an unrelated project (building a guitar hero playing bot) and it's made me start to think about the charts again, and perhaps looking into computer generated optimal charts for GH4+ and RB1/2/3/etc. If there's enough interest it might push me to work on it some more and think about how the algorithm would work.
Back to top
View user's profile Wiki User Page Send private message XBL Gamertag: zzUrbanSpaceman
Graf  





Joined: 08 Aug 2007
Posts: 6213
Location: Lanoka Harbor, New Jersey

PostPosted: Thu May 17, 2012 1:52 pm    Post subject: Reply with quote

Seeing tma as the most recent post made me do a double-take


Welcome back, good luck on your bot
_________________
Back to top
View user's profile Wiki User Page Send private message Visit poster's website XBL Gamertag: APeX Graf
Cabanon  





Joined: 29 Oct 2007
Posts: 6464
Location: Quebec, Canada

PostPosted: Thu May 17, 2012 2:06 pm    Post subject: Reply with quote

tma wrote:
I've been looking at the game files again for an unrelated project (building a guitar hero playing bot) and it's made me start to think about the charts again, and perhaps looking into computer generated optimal charts for RB1/2/3/etc.


RB1 - RB2 - DLC - ACDC - TBRB - LRB - TBRB DLC

http://www.apathtoofar.com

as far as interest, WE ARE interested VERY much. charts are all out on http://charts.ajanata.com/ but optimal path are not. we would be very very happy to see this happening.

PLEASE keep us update
_________________
Back to top
View user's profile Send private message Send e-mail Visit poster's website MSN Messenger PSN Name: Cabanon
tma  





Joined: 03 May 2007
Posts: 1414
Location: Australia

PostPosted: Thu May 17, 2012 3:26 pm    Post subject: Reply with quote

Cabanon wrote:
tma wrote:
I've been looking at the game files again for an unrelated project (building a guitar hero playing bot) and it's made me start to think about the charts again, and perhaps looking into computer generated optimal charts for RB1/2/3/etc.


RB1 - RB2 - DLC - ACDC - TBRB - LRB - TBRB DLC

http://www.apathtoofar.com


Ooh that's very nice. I've shot an email to the guy who runs/ran apathtoofar, maybe we can collaborate.
Back to top
View user's profile Wiki User Page Send private message XBL Gamertag: zzUrbanSpaceman
eddaket  





Joined: 19 Jul 2007
Posts: 2020

PostPosted: Thu May 17, 2012 3:43 pm    Post subject: Reply with quote

tma wrote:
Cabanon wrote:
tma wrote:
I've been looking at the game files again for an unrelated project (building a guitar hero playing bot) and it's made me start to think about the charts again, and perhaps looking into computer generated optimal charts for RB1/2/3/etc.


RB1 - RB2 - DLC - ACDC - TBRB - LRB - TBRB DLC

http://www.apathtoofar.com


Ooh that's very nice. I've shot an email to the guy who runs/ran apathtoofar, maybe we can collaborate.


I had started to make one for songs in RB3 (since the paths would be different than in RB1 or 2 with unison bonuses) and had a good working copy that I actually used to path songs last league season, but there were a few bugs that I needed to sort out and it was highly inefficient (took wayyyyyyyyyy too long). I'd be interested in helping you out if you want another set of eyes.
Back to top
View user's profile Wiki User Page Send private message
tma  





Joined: 03 May 2007
Posts: 1414
Location: Australia

PostPosted: Thu May 17, 2012 11:26 pm    Post subject: Reply with quote

eddaket wrote:
tma wrote:
Ooh that's very nice. I've shot an email to the guy who runs/ran apathtoofar, maybe we can collaborate.


I had started to make one for songs in RB3 (since the paths would be different than in RB1 or 2 with unison bonuses) and had a good working copy that I actually used to path songs last league season, but there were a few bugs that I needed to sort out and it was highly inefficient (took wayyyyyyyyyy too long). I'd be interested in helping you out if you want another set of eyes.


That'd be great. The more people willing to help out the better the end product will be. In the past I'd been a bit precious about letting people look at how it worked, but that doesn't help anyone anymore. The original reason for that (not spoiling things for people wanting to make natural paths) is less relevant today than it was then.

Jeremy (pathtoofar) has already responded, I'll take a look at his code over the weekend. He also said that his routine took a very long time to process the paths, which doesn't surprise me too much given the method is effectively brute force. I imagine that this is also your approach?

I never really wrapped my head around debr5836's routine completely (complexity and no documentation didn't help), but from what I gather it doesn't use a brute force approach; it's actually very fast. Some of the factors that would cut down on pathing options in earlier GH games aren't valid anymore, of course, since SP/OD phrases can overlap, but there are probably some major shortcuts we can take with a future optimisation routine.

I'm thinking along these lines:

a) disregard everything in the song before SP/OD can actually be activated for the first time (obviously).
b) work out the highest point scoring sections in a song, using a minimum window size of the smallest amount of time SP/OD can be active for.
c) iterate over the possibilities to cover as many of these sections as possible given the existing SP/OD sections.
d) ????
e) PROFIT

Jeremy says his routine worked backwards through the song trying out all the possible combinations. I believe debr5836's code also works backwards. There's probably some obvious reason for doing this but the logic escapes me at the moment. Could you illuminate me? I'm wondering if a read-forward approach is possible.

While the brute force approach certainly works, in order to speed the processing up it might just be a matter of working out what combinations we know won't yield a valid path and simply skipping them.

Edit: could you expand a bit on the differences in the RB3 engine? I haven't looked in depth at any of the RB games, but in play they didn't seem that much different.
Back to top
View user's profile Wiki User Page Send private message XBL Gamertag: zzUrbanSpaceman
tma  





Joined: 03 May 2007
Posts: 1414
Location: Australia

PostPosted: Thu May 17, 2012 11:52 pm    Post subject: Reply with quote

Just diverting the topic a little, here's some output of what I've been working on for my Guitar Hero bot project:

Code:
tarragon@tyrell:~/cvs/spopt/bin $ ./generateArduino.pl ghm ../assets/gamefiles/GuitarHeroMetallica/x360/allnightmarelong.mid.qb expert guitar | head -n20
TIMESIG: tick 000000 microsecond 0000000000, ----- - 4 beats per measure
TEMPO  : tick 000000 microsecond 0000000000, ----- - 493000 (~122 bpm)
TEMPO  : tick 001920 microsecond 0001972000, ----- - 493000 (~122 bpm)
TEMPO  : tick 003840 microsecond 0003944000, ----- - 488250 (~123 bpm)
NOTEON : tick 003840 microsecond 0003944000, G---- -
NOTEON : tick 004080 microsecond 0004188630, --Y-- -
NOTEOFF: tick 004081 microsecond 0004189647, --y-- -
NOTEON : tick 004320 microsecond 0004432250, ---B- -
NOTEOFF: tick 004321 microsecond 0004433267, ---b- -
NOTEON : tick 004559 microsecond 0004675867, ----O -
NOTEOFF: tick 005279 microsecond 0005407771, ----o -
NOTEON : tick 005280 microsecond 0005408750, ---B- -
TEMPO  : tick 005760 microsecond 0005897000, ----- - 498000 (~120 bpm)
NOTEOFF: tick 005760 microsecond 0005897000, g--b- -
NOTEON : tick 005760 microsecond 0005897000, G---- -
NOTEON : tick 006000 microsecond 0006146503, --Y-- -
NOTEOFF: tick 006001 microsecond 0006147540, --y-- -
NOTEON : tick 006240 microsecond 0006395000, ---B- -
NOTEOFF: tick 006241 microsecond 0006396037, ---b- -
NOTEOFF: tick 006479 microsecond 0006643498, g---- -


What you're seeing here is the result of my efforts to converting midi ticks into per microsecond actions for a microprocessor board (in this case, an Arduino). There's some hardware to go along with this which I'm still in the process of building, but I think the hard parts of the file processing side are done.
Back to top
View user's profile Wiki User Page Send private message XBL Gamertag: zzUrbanSpaceman
Cabanon  





Joined: 29 Oct 2007
Posts: 6464
Location: Quebec, Canada

PostPosted: Fri May 18, 2012 1:07 am    Post subject: Reply with quote

just a question about why a bot ? any song in particular to prove something or just for the heck of it ?
_________________
Back to top
View user's profile Send private message Send e-mail Visit poster's website MSN Messenger PSN Name: Cabanon
tma  





Joined: 03 May 2007
Posts: 1414
Location: Australia

PostPosted: Fri May 18, 2012 1:26 am    Post subject: Reply with quote

Cabanon wrote:
just a question about why a bot ? any song in particular to prove something or just for the heck of it ?


A bit of both? I've become something of an achievements whore lately; I came across Arduino via a post on Ars Technica and it intrigued me; I figured given my experience with the game files I could make a bot to play songs perfectly; it seemed like a cool project to build, and it means I can finally get the achievements for Jordan and TtFaF which will otherwise always be out of my reach.

I have no interest in using it for leaderboard scores, of course.
Back to top
View user's profile Wiki User Page Send private message XBL Gamertag: zzUrbanSpaceman
eddaket  





Joined: 19 Jul 2007
Posts: 2020

PostPosted: Fri May 18, 2012 4:36 pm    Post subject: Reply with quote

tma wrote:
eddaket wrote:
tma wrote:
Ooh that's very nice. I've shot an email to the guy who runs/ran apathtoofar, maybe we can collaborate.


I had started to make one for songs in RB3 (since the paths would be different than in RB1 or 2 with unison bonuses) and had a good working copy that I actually used to path songs last league season, but there were a few bugs that I needed to sort out and it was highly inefficient (took wayyyyyyyyyy too long). I'd be interested in helping you out if you want another set of eyes.


That'd be great. The more people willing to help out the better the end product will be. In the past I'd been a bit precious about letting people look at how it worked, but that doesn't help anyone anymore. The original reason for that (not spoiling things for people wanting to make natural paths) is less relevant today than it was then.

Jeremy (pathtoofar) has already responded, I'll take a look at his code over the weekend. He also said that his routine took a very long time to process the paths, which doesn't surprise me too much given the method is effectively brute force. I imagine that this is also your approach?

I never really wrapped my head around debr5836's routine completely (complexity and no documentation didn't help), but from what I gather it doesn't use a brute force approach; it's actually very fast. Some of the factors that would cut down on pathing options in earlier GH games aren't valid anymore, of course, since SP/OD phrases can overlap, but there are probably some major shortcuts we can take with a future optimisation routine.

I'm thinking along these lines:

a) disregard everything in the song before SP/OD can actually be activated for the first time (obviously).
b) work out the highest point scoring sections in a song, using a minimum window size of the smallest amount of time SP/OD can be active for.
c) iterate over the possibilities to cover as many of these sections as possible given the existing SP/OD sections.
d) ????
e) PROFIT

Jeremy says his routine worked backwards through the song trying out all the possible combinations. I believe debr5836's code also works backwards. There's probably some obvious reason for doing this but the logic escapes me at the moment. Could you illuminate me? I'm wondering if a read-forward approach is possible.

While the brute force approach certainly works, in order to speed the processing up it might just be a matter of working out what combinations we know won't yield a valid path and simply skipping them.

Edit: could you expand a bit on the differences in the RB3 engine? I haven't looked in depth at any of the RB games, but in play they didn't seem that much different.


Yeah that was basically my method. Lots and lots of brute force. I would try each possible path and pick the best one. There was some time saved with paths with invalid activations (a 1 phrase activation where the phrase has no whammy), but it just took a stupidly long amount of time to make the path if the song had over 20 or so phrases.

I actually worked forward through the song rather than backwards. I remember reading somewhere that apathtoofar worked backwards, but I couldn't figure out why it would.

Going along with you "sections" idea, I have an idea that's somewhat related. When finding where to activate, I basically would say "if I use X-number of phrases here, I have to activate somewhere between PointA and PointB." I didn't actually implement it, but in thinking about it now I decided you should be able to save that and work it into sections. I'm still thinking about it, but I think it could work.

RB3 counted the unison bonuses in single player now. Basically in RB1/2, if drums, bass, and guitar all have an OD phrase at the same point in the song, in bandplay it will give them all 32 beats of OD for hitting it rather than the usual 16. In RB3, you don't need to be in bandplay in order for unison bonuses to matter, meaning a single player guitarist can get 32 beats of OD from a single phrase if it is a unison bonus.
Back to top
View user's profile Wiki User Page Send private message
LocalH  





Joined: 30 Oct 2006
Posts: 1400
Location: MiloHax

PostPosted: Sat May 19, 2012 2:59 am    Post subject: Reply with quote

tma wrote:
Cabanon wrote:
just a question about why a bot ? any song in particular to prove something or just for the heck of it ?


A bit of both? I've become something of an achievements whore lately; I came across Arduino via a post on Ars Technica and it intrigued me; I figured given my experience with the game files I could make a bot to play songs perfectly; it seemed like a cool project to build, and it means I can finally get the achievements for Jordan and TtFaF which will otherwise always be out of my reach.

I have no interest in using it for leaderboard scores, of course.

I have a request. When you have your bot able to send input to the game, would you be able to test it with NTSC Troggy (on PS2 if possible?) and set it straight once and for all whether it's possible to FC? GH2's autoplayer helps zilch because it can hit anything and everything, even the "dummy" 5-note chord you see when you have a note on the very first beat of a chart. I have a chart by Eoinfreak that is so full of notes that it actually crashes the engine at 0.25x track speed but just merely lags heavily at 0.5x, and the autoplayer FCs it even under such lag (literally, at one point it's so lagged that the score jumps by 40k between rendered frames )
_________________
MiloHax 2.0 Discord server - Everything GH/RB (RIP MiloHax 1.0 01/30/2017 - 04/04/2022)
O211: An Unofficial Scorehero Alumni Discord


Alakaiser sez: POST BECAUSE YOU HAVE SOMETHING TO SAY, NOT BECAUSE YOU HAVE TO SAY SOMETHING.
Back to top
View user's profile Send private message
tma  





Joined: 03 May 2007
Posts: 1414
Location: Australia

PostPosted: Sat May 19, 2012 7:42 am    Post subject: Reply with quote

LocalH wrote:
I have a request. When you have your bot able to send input to the game, would you be able to test it with NTSC Troggy (on PS2 if possible?) and set it straight once and for all whether it's possible to FC? GH2's autoplayer helps zilch because it can hit anything and everything, even the "dummy" 5-note chord you see when you have a note on the very first beat of a chart. I have a chart by Eoinfreak that is so full of notes that it actually crashes the engine at 0.25x track speed but just merely lags heavily at 0.5x, and the autoplayer FCs it even under such lag (literally, at one point it's so lagged that the score jumps by 40k between rendered frames )


I can certainly give it a go. Is that a custom? I don't have a PS2 I'm afraid, in fact I've never even tried customs, however PS2s are cheap... I could be coerced into it. ;)
Back to top
View user's profile Wiki User Page Send private message XBL Gamertag: zzUrbanSpaceman
Bj0rn  





Joined: 31 Aug 2007
Posts: 522
Location: Stockholm, Sweden

PostPosted: Sat May 19, 2012 11:55 am    Post subject: Reply with quote

I would like to help out with this project too. I've been thinking about doing my own star power optimizer for years, both for later GH games, but also for more exact GH3/GHA paths. I never got much farther than a program that parses a .chart file and outputs a chart image like this: http://i284.photobucket.com/albums/ll26/Bj0rnSH/playwithme4-1.png (I very much mimicked the Slowhero style :P)

But I think I can be of some help if this gets going. I've been thinking about algorithms, although mostly for earlier engines with overlapping SP. I think I've come up with a couple of ideas that should perform far better than brute force, though they may be similar to the ideas you guys have. I'll try to explain later. EDIT: Sorry it's taking a while, I'll get more time after tomorrow. I'm trying to figure out exactly how the algorithm would be and how it would differ depending on old/new SP overlapping.

Plus, I'm sure I can be of some help when it comes to testing the paths
_________________
My accomplishment thread
Champion of 6 ScoreHero leagues:
S7: GH3X AAA-2
S10: GH3X AAA-1, GHAX
S11: GH3X AAA, GH5X AAA
S16: GH3X
My youtube channel


Last edited by Bj0rn on Sun May 20, 2012 9:58 pm; edited 1 time in total
Back to top
View user's profile Send private message XBL Gamertag: BurningThunder
LocalH  





Joined: 30 Oct 2006
Posts: 1400
Location: MiloHax

PostPosted: Sat May 19, 2012 7:37 pm    Post subject: Reply with quote

tma wrote:
I can certainly give it a go. Is that a custom? I don't have a PS2 I'm afraid, in fact I've never even tried customs, however PS2s are cheap... I could be coerced into it. ;)

Trogdor, man, Trogdor. I dunno the differences between the 360 and the PS2 in terms of GH2 and the strum limit, but nothing custom required, just a PS2 and an original GH2 disc. I do recommend you find a fat PS2 and a network adapter, especially if you have a decently sized IDE HDD laying around, so you can save the laser. If all you can find is a slim, you can still save the laser with slower loading methods but they work fine with GH2.
_________________
MiloHax 2.0 Discord server - Everything GH/RB (RIP MiloHax 1.0 01/30/2017 - 04/04/2022)
O211: An Unofficial Scorehero Alumni Discord


Alakaiser sez: POST BECAUSE YOU HAVE SOMETHING TO SAY, NOT BECAUSE YOU HAVE TO SAY SOMETHING.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    ScoreHero Forum Index -> Technique, Style, and Gameplay -> Guitar/Bass All times are GMT
Goto page Previous  1, 2, 3 ... 16, 17, 18, 19, 20  Next
Page 17 of 20

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum




Copyright © 2006-2024 ScoreHero, LLC
Terms of Use | Privacy Policy


Powered by phpBB