ShootersForever.com Forum Index

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


A project involving overclocked 60fps GoldenEye. Help wanted
Goto page Previous  1, 2
 
Post new topic   Reply to topic    ShootersForever.com Forum Index -> Online And Emulation
View previous topic :: View next topic  
Trevor
007
007


Joined: 15 Jan 2010
Posts: 926
Location: UK, Friockheim OS:Win11-Dev PerfectGold:Latest

 PostPosted: Sun Mar 20, 2016 12:54 pm    Post subject: Reply with quote Back to top

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
 
View user's profile Send private message
GE MASTER
Site Admin
Site Admin


Joined: 22 Nov 2005
Posts: 892
Location: Earth

 PostPosted: Sun Mar 20, 2016 1:08 pm    Post subject: Reply with quote Back to top

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.
 
View user's profile Send private message
GE MASTER
Site Admin
Site Admin


Joined: 22 Nov 2005
Posts: 892
Location: Earth

 PostPosted: Sun Mar 20, 2016 5:48 pm    Post subject: Reply with quote Back to top

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.
 
View user's profile Send private message
Trevor
007
007


Joined: 15 Jan 2010
Posts: 926
Location: UK, Friockheim OS:Win11-Dev PerfectGold:Latest

 PostPosted: Mon Mar 21, 2016 2:16 am    Post subject: Reply with quote Back to top

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 Razz

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
 
View user's profile Send private message
GE MASTER
Site Admin
Site Admin


Joined: 22 Nov 2005
Posts: 892
Location: Earth

 PostPosted: Mon Mar 21, 2016 6:06 am    Post subject: Reply with quote Back to top

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.

 
View user's profile Send private message
Trevor
007
007


Joined: 15 Jan 2010
Posts: 926
Location: UK, Friockheim OS:Win11-Dev PerfectGold:Latest

 PostPosted: Mon Mar 21, 2016 6:48 am    Post subject: Reply with quote Back to top

I edited post above after testing consol.
No point in re-posting Razz

Im not sure how you got such varied results... Confused
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) Smile

Trev
_________________
 
View user's profile Send private message
GE MASTER
Site Admin
Site Admin


Joined: 22 Nov 2005
Posts: 892
Location: Earth

 PostPosted: Mon Mar 21, 2016 6:57 am    Post subject: Reply with quote Back to top

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!
 
View user's profile Send private message
Trevor
007
007


Joined: 15 Jan 2010
Posts: 926
Location: UK, Friockheim OS:Win11-Dev PerfectGold:Latest

 PostPosted: Mon Mar 21, 2016 7:53 am    Post subject: Reply with quote Back to top

Right, yeah, Multi, so Id guess a max fps of 30 if your lucky.Razz

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
_________________
 
View user's profile Send private message
Wreck
Administrator
Administrator


Joined: 14 Dec 2005
Posts: 7197
Location: Ontario, Canada

 PostPosted: Mon Mar 21, 2016 7:55 am    Post subject: Reply with quote Back to top

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.
 
View user's profile Send private message Visit poster's website
Trevor
007
007


Joined: 15 Jan 2010
Posts: 926
Location: UK, Friockheim OS:Win11-Dev PerfectGold:Latest

 PostPosted: Mon Mar 21, 2016 11:27 am    Post subject: Reply with quote Back to top

Ah yes, so they fixed it in PD, I knew there was no reason to lag Razz
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
_________________
 
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    ShootersForever.com Forum Index -> Online And Emulation All times are GMT - 8 Hours
Goto page Previous  1, 2
Page 2 of 2

 
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

Cobalt 2.0 BB theme/template by Jakob Persson.
Copyright © 2002-2004 Jakob Persson


Powered by BB © 01, 02 BB Group

 


Please Visit My Other Sites: GoldenEyeForever.com | GrandTheftAutoForever.com

Got kids? Check out my Dora The Explorer site with games and coloring pages!

Our forums feature Nintendo 64 games, GoldenEye 007 N64 New Maps and Missions, GoldenEye Cheats, N64 Emulator, Gameshark, GoldenEye Multiplayer and more!

[ Privacy Policy ]