 |
 |
GoldenEye 007 Nintendo 64 Community, GoldenEye X, Nintendo 64 Games Discussion GoldenEye Cheats, GoldenEye X Codes, Tips, Help, Nintendo 64 Gaming Community
|
 |
 |
 |
 |
|
 |
 |
 |
 |
 |
Trevor 007


Joined: 15 Jan 2010 Posts: 926 Location: UK, Friockheim OS:Win11-Dev PerfectGold:Latest  |
Posted: Sun Mar 20, 2016 12:54 pm Post subject: |
 |
|
Yeah, Sub and I are currently discussing the editor value.
But the results show that the rate of fire does diminish as the graphics pipeline slows.
I re-wrote the table as plaintext but left the code incase it gets implemented.
Time to complete 1 Frame | FPS | Time (s) To Fire 30rnds | Rounds Per Minute
1 | 60 | 3 | 600
2 | 30 | 4 | 455
3 | 20 | 5 | 360
4 | 15 | 6 | 300
10| 6 | 15 | 120
There are 2 values used in GE, 0300 and 0200.
Real rates should be 600 and 900(UZI & p90) rpm
So yeah, you shouldnt have a wide range of values unless the game is slowing down with the additional effects (smoke, particals and bullet hole texture decals)
Trev _________________
  
Last edited by Trevor on Mon Mar 21, 2016 2:18 am; edited 1 time in total |
|
|
|
|
|
 |
 |
 |
 |
 |
GE MASTER Site Admin


Joined: 22 Nov 2005 Posts: 893 Location: Earth  |
Posted: Sun Mar 20, 2016 1:08 pm Post subject: |
 |
|
Hey, I did up a table and pasted the image into your previous post.
To clarify my values, I'm going old school on attaining my numbers. This is my phone stopwatch app and using my reflexes at to stopping the time. These numbers are using my ears, eyes and reflexes. I think though I can get a better stop point, which is the "click" sound as the clip empties. Logic tells me that the weapons in question should have an equal difference when it comes to console vs. 60FPS comparisons. I'll get to this asap this afternoon I hope. |
|
|
|
|
|
 |
 |
 |
 |
 |
GE MASTER Site Admin


Joined: 22 Nov 2005 Posts: 893 Location: Earth  |
Posted: Sun Mar 20, 2016 5:48 pm Post subject: |
 |
|
Okay, here is my new "magic number". I found the 60FPS automatic guns to shoot 2.323x faster than the console.
I ran 3 to 4 tests on each gun, recorded the times. I averaged out those times. Then I compared the console average time to the 60FPS average time. I then averaged out the 60FPS comparison results, to come up with the magic number. I tested 6 automatic guns in total. |
|
|
|
|
|
 |
 |
 |
 |
 |
Trevor 007


Joined: 15 Jan 2010 Posts: 926 Location: UK, Friockheim OS:Win11-Dev PerfectGold:Latest  |
Posted: Mon Mar 21, 2016 2:16 am Post subject: |
 |
|
2.32 times faster? wow, so you empty a 30rnd magazine in 1.3 seconds with the AK and the 80rnd magazine of the p90?
It turns out the p90 fires at double the rate of the AK, that is 1200RPM.
Still checking the editor value.
The closest thing so far seems to be miliseconds right enough, but with a leading 0 and since editor value is hex its not simply 0.xxxx seconds since the value 2710 should = 1 second. I am going to test this now.
0300 = 0768 = 0.0768
RPM = 60/0.0768 = 781.25RPM
0200 = 0512 = 0.0512
RPM = 60/0.0512 = 1171.875
2710 = 10,000 = 1.0000
RPM = 60/1 = 60
ingame = 92... here comes another table
Code: |
_RPM_|_FPS_|__60_|__30_|__15_|_Expected_|
EVal_|-----|-----|-----|-----|----------|
2710 |-----| 092 | 048 | 024 | 60
0300 |-----| 860 | 600 | 300 | 781
0900 |-----| 315 | 205 | 105 | 260
4E20 |-----| 050 | 025 | 013 | 30
0100 |-----|2400 |1500 | 900 | 2343
0010 |-----|crash|crash|crash|
|
Therefore the value is sort of time but biased with framerate.
Its not that there are phantom bullets as all bullets hit something even if more than 1 bullet exists between frames, but some sort of threading issue.
It would seem that as graphics demand more they take away from the firing timer.
it may be as simple as fire every 762 ticks
Thread1 - audio
...
threadx - increment tick
threadx+1 - graphics
if thread x is called less often, the tick count will diminish.
It would also seem that as fire-rate is lowered, the parity to framerate becomes clearer, i.e. at low firerates as framerate halves, so does firerate.
at high firerates this is not the case, so, threading seems likly here too by calling threads for a certian tick count it means that the gun can fire more regularly within the count thread.
My conclusion therefore is that rare chose to make the majority of guns fire at 780 since at an average framerate of 15-30fps, the slowdown makes the firerate more correct without being too fast in an empty area of the level.
If you can run GE at 60fps all the time on emu, you need to agust the firerates from 300 to 3E8, and 200 to 29A.
Trev
Last edited by Trevor on Mon Mar 21, 2016 6:39 am; edited 2 times in total |
|
|
|
|
|
 |
 |
 |
 |
 |
GE MASTER Site Admin


Joined: 22 Nov 2005 Posts: 893 Location: Earth  |
Posted: Mon Mar 21, 2016 6:06 am Post subject: |
 |
|
Let's just say that "authenticity" of the 60FPS GoldenEye is sub par at its current state. The RC-P90 is just nutz. Bullets. Bullets everywhere.
 |
|
|
|
|
|
 |
 |
 |
 |
 |
Trevor 007


Joined: 15 Jan 2010 Posts: 926 Location: UK, Friockheim OS:Win11-Dev PerfectGold:Latest  |
Posted: Mon Mar 21, 2016 6:48 am Post subject: |
 |
|
I edited post above after testing consol.
No point in re-posting
Im not sure how you got such varied results...
All the guns use the same value except for the M16, UZI and fn-p90, these fire 1.25x faster.
Did you make sure you were in an open area with no bullet holes and smoke?
Also, to put it simply, guns dont use clips, they use Magazines. (There are exceptions)
Trev _________________
   |
|
|
|
|
|
 |
 |
 |
 |
 |
GE MASTER Site Admin


Joined: 22 Nov 2005 Posts: 893 Location: Earth  |
Posted: Mon Mar 21, 2016 6:57 am Post subject: |
 |
|
Guns were tested under the same conditions. P1, top floor Temple, 2 player multiplayer. No other actions taking place in game. Believe the digits in the game rather than the times I posted. My stats are relevant on a comparison basis, but when the clip is empty (yes I said clip again) is subjective. A bit tricky to explain.
I'm just reading your previous post. So it appears you've come up with something solid! |
|
|
|
|
|
 |
 |
 |
 |
 |
Trevor 007


Joined: 15 Jan 2010 Posts: 926 Location: UK, Friockheim OS:Win11-Dev PerfectGold:Latest  |
Posted: Mon Mar 21, 2016 7:53 am Post subject: |
 |
|
Right, yeah, Multi, so Id guess a max fps of 30 if your lucky.
I made my measurements by changing the Mag count to 600 and timed a full minute (or untill empty, whichever came first).
I tested with No BG or Props in view (although even with nothing on-screen the minimum RCP processing time for GE is 1/2 a frame, guns add very little surprisingly due to no z-buffer)
Then I tested with various amounts of BG untill the fps was at a desired level.
I got the FPS from the debug menu in case your woundering.
It is a pity that the firerates are not consistent using the clock instead of a tick counter.
You say that on emu it takes 2.3 seconds to fire 30rnds?
That does match the number in editor, so yes, it needs increased to 3E8 (600rpm)
The number you give for the p90, is slightly faster than the calculated value at 4 seconds to fire 80rnds. but it should still be sufficiant to alter this to 29A (900rpm This is the real figure, if you want GEs figure of 1200rpm then its already set)
Also, the M16 should not be the same as the UZi and P90, it should be the same as the AK, again though, if you want to keep as GE then leave it.
Trev _________________
   |
|
|
|
|
|
 |
 |
 |
 |
 |
Wreck Administrator


Joined: 14 Dec 2005 Posts: 7244 Location: Ontario, Canada  |
Posted: Mon Mar 21, 2016 7:55 am Post subject: |
 |
|
When I tested for GE-X, I played in Egypt. I would stand in the middle of the starting room with the reflective pool, and look directly up at the open sky above. One player mode in VR (Combat Simulator). I tested directly with GoldenEye (mission, all guns and inf ammo cheat) on console, two TVs stacked. PD uses a float value for the RPM, and that value matches the rate. 900.0 is 900 RPM. Guess GE did this differently. |
|
|
|
|
|
 |
 |
 |
 |
 |
Trevor 007


Joined: 15 Jan 2010 Posts: 926 Location: UK, Friockheim OS:Win11-Dev PerfectGold:Latest  |
Posted: Mon Mar 21, 2016 11:27 am Post subject: |
 |
|
Ah yes, so they fixed it in PD, I knew there was no reason to lag
I guess it was just oversight or they thought the ticks would be continual but found them to not be later in development.
Quote: | Calling the osGetTime function returns the time since the last cold reset, expressed in units of CPU count register cycles. Regardless of whether the system is NTSC or PAL, this counter increments at 46.875 MHz, with 1 cycle equal to approximately 21.33 nanoseconds. When the counter reaches its maximum value, it returns to zero and continues to increment |
Perhaps PD uses this, while GE thought it would be simpler to create their own counter as its own thread but forgetting that threads must yield to other threads at some point.
Or perhaps they didnt interupt the graphics thread in GE but do in PD
Perhaps their code was similar to
If (OS_CYCLES_TO_USEC(OSTime cycles) >= (lastcount + (Gun[currentgunid].TimeBetweenShots * 100))) {
lastcount = OS_CYCLES_TO_USEC(OSTime cycles);
fire;
}
If PD uses a float for RPM then
If (OS_CYCLES_TO_USEC(OSTime cycles) >= (lastcount + (60000000 / Gun[currentgunid].RPM))) {
lastcount = OS_CYCLES_TO_USEC(OSTime cycles);
fire;
}
Or even, maybe this was placed as a graphics task in GE, but in the main thread in PD?
Trev _________________
   |
|
|
|
|
|
 |
 |
 |
 |
 |
|
 |
 |
 |
 |
|
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
|
|
|
 |