FoF scores & time settings

FOF discussion only. Do NOT post help questions here!
This topic is 17 years and 1 week old. Instead of replying, please begin a new topic, or search for another related topic that may be more suitable.
Ta62
Member
Posts: 7
Joined: July 2nd, 2007
Reputation: 0

Postby Ta62 » Sun May 18, 2008 3:57 pm

Hi,

Here is the context :
- I'm totally addicted to FoF
- Computers, in my school are small unix terminals (= minimalistic computers running on linux, connected to a huge workstation which does all the job) and can't run FoF.

So... I've reprogrammed a FoF game in C which can run on these computers ! :) Everything works well and the students in my school have a lot of fun playing it (how to ruin productivity in a school... :D ). BUT, I still have some problems to make the game feel like FoF. Three problems to be precise :


Scores
I can't find how scores are calculated. When looking inside FoF sources, here is what I understood :
--> Every note gives 50pts (* nbr of chords)
--> For long notes, you have to add :

Code: Select all

noteCount  = len(self.guitar.playedNotes)
    pickLength = self.guitar.getPickLength(self.getSongPosition())
    if pickLength > 1.1 * self.song.period / 4:
      return int(.1 * pickLength * noteCount)

with getPickLength :

Code: Select all

pickLength = pos - self.pickStartPos
    for time, note in self.playedNotes:
      pickLength = min(pickLength, note.length)
    return pickLength

... wich means (I guess) that you add the activation time * nbr of chord, and a maximum of "note length"*nbrchords if the player has activated the note a bit earlier. Am I right ?

Now... Here are the problems with this part :
- Why does the counter stops for a few moment when activating a long note, in FoF ? (it adds 50, stops, then begins incrementing again)
- How much points do you gain per note per second ? (I measured 50, but the .1 * pickLength * noteCount confuses me...)



Timings
I can't find the delay given to a player to activate a note. (I mean : you can activate a note a bit before and a bit after the line under the keys on the screen... but what are these "before" and "after" times, precisely ?) Are these time related to the stage speed (= related to the midi BPM) ?


Midi reading
For some reasons, I can't recognize every .mid file used in FoF. When manually parsing FoF mid files, I found that :
- Notes are located in track 1 (but the problem doesn't come from that since I read every track in the file).
- I found that the guitar part was played on channel 144 (but for some .mid it's 150... but if I take both 144 and 150 I have extra notes in some songs... Is channel 150 Bass Part or something ?)
- I found that notes 0x60->0x64 were amazing, etc. (and found confirmation of that point in FoF sources).

Is that correct ? Am I missing something ?


I've also problems with long notes. Sometimes notes have a short duration (0 second ? Special small value ?) and FoF considers them as long notes. Is the problem coming from my midi parser, fof parser, or is there a special value which indicates that if duration == value, then the note should last 'till the next note ?

If there's a good documentation on how midi file are interpreted in FoF, I'll be glad to read it...




Sorry to ask so much questions (in a bad english :( ), but I wasn't able to find answers in FoF source code... (No comment in the source file + no proper documentation (only javadoc like files, with no explanation inside ?!) + python... all of that makes the job difficult for me...)
Last edited by Ta62 on Sun May 18, 2008 4:04 pm, edited 1 time in total.
A bit sleepy
User avatar
Kotti
Member
Posts: 2860
Joined: March 23rd, 2007
Location: Finland
Reputation: 2
Contact:

Postby Kotti » Sun May 18, 2008 4:10 pm

I've reprogrammed a FoF game in C
You got me interested.

Are you going for something like the stock FoF or something like RF-mod and C-mod? I'm not sure, but I think RF-mod slightly affects scoring and C-mod hitboxes.

Dunno, I might be talking crap.

Let's just say I'm interested in what you are doing :) .
Image
Image
Ta62
Member
Posts: 7
Joined: July 2nd, 2007
Reputation: 0

Postby Ta62 » Sun May 18, 2008 4:40 pm

Actually I'm trying to "clone" the RF-Mod, using FoF HOPO... I don't know if there is a real difference with the "basic" FoF...


And... The game might look interresting (especially because it's in C and so runs way faster that the python version), but it is really thought for unix terminal... Wich means that :
- You have to run Linux to play...
- It would be a bit complicated to have sound (since the game is generated by the workstation and displayed on a terminal, the workstation has to send the sound through the network to the terminal, using a protocol wich I created... so you'll have to compile & install a sound server on your computer.)
- It's not really pretty... (The terminals I am speaking about have a 100Mhz processor, 128MB of RAM and no graphic card... And the workstation has no graphic card - but 4 4-core processors and 64GB of RAM... unfortunately that's still hard to render 3D stuff on that...)

All of that to say "don't get too exited about it"... :laugh:
(But the source code might be released... So if anybody ever wants to adapt the game for "normal" PC...)
Last edited by Ta62 on Sun May 18, 2008 4:54 pm, edited 1 time in total.

Return to “General FOF Discussion”

Who is online

Users browsing this forum: No registered users and 3 guests