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


GoldenEye vs Perfect Dark game engines
Goto page 1, 2  Next
 
Post new topic   Reply to topic    ShootersForever.com Forum Index -> Q-Lab Hacking Department
View previous topic :: View next topic  
Sogun
General
General


Joined: 15 Dec 2010
Posts: 659
Location: Valencia, Spain

 PostPosted: Fri Mar 20, 2020 2:52 am    Post subject: GoldenEye vs Perfect Dark game engines Reply with quote Back to top

So this is something that has been in mind for a long time, especially after the footsteps patch appeared.
At first you would think that Perfect Dark is more advance than GoldenEye in every ay but that isn't actually true. I'm going to make a list of the differences based in my experience in both games. Perhaps some things that I say are innacurate, so correct me if I'm wrong. You can also point out more differences and I will add them to the list.

GOLDENEYE in yellow
PERFECT DARK in cyan
I'll add some coments about the FOOTSTEPS patch.


1. NO EXPANSION PAK SUPPORT
Memory is limited to 4 MB
although the FOOTSTEPS patch rises it to 7 MB.
1. EXPANSION PAK IS MANDATORY.
The amount of memory available is 8 MB.



2. SET EVERY MEMORY PART
GoldenEye splits the memory into -ml, -me, -mgfx (I think it's explosions and bulletholes), -mvtx, -mt (textures) and -ma (rooms and props). It lets you set the amount of memory for all of them meaning you might not assign 100% of the RAM. If you exceed the 4MB then the level will crash when loading.

2. CAN'T SET MEMORY FOR TEXTURES.
Perfect Dark splits the memory the same way than GoldenEye except it doesn't let you choose how much memory to use for textures. I believe it's because it will use all the remaining RAM for that matter.



3. ROOMS STREAMED FROM CARTRIDGE.
I'm not really sure about this one. GoldenEye lets you set the amount of memory dedicated to geometry and textures. It will show on screen as many rooms as fit in the dedicated memory. The engine will keep loading and unloading rooms as needed. But if the size of the rooms that should be shown on screen exceeds the size of that portion of memory, those rooms won't show even if the player is standing on it. This can crash the game at when loading the level especially in multiplayer.
Even if there's enough memory to show everything, if the rooms have too many polygons, it's possible that part of the geometry will suddently pop up while the game drops performance for a microsecond (because I think it's streaming the room data from cartridge to RAM as it needs to be rendered).

3. ALL ROOMS LOADED TO RAM.
All rooms load to RAM before the level begins. That's way it takes so long to start a level. This also means that loading rooms to render is faster and you won't get the sudden popping and micro-stutter that happened in GoldenEYE



4. LEVELS ARE LIMITED TO 148 ROOMS (0x94) AND 199 PORTALS.
In order to keep performance at playable levels you need to split your level into chuncks called 'rooms'. This will help you to control the amount of polygons ready to render on screen. Portals are used to visually connect two rooms. These limits let you have big and complex maps, but it isn't an unreachable limit, especially for portals.

4. UNKNOW LIMITS FOR ROOMS AND PORTALS.
Perfect Dark levels exceed the number of rooms and portals possible in GoldenEye although I don't know the limit. 'Area 51' uses 270 rooms (0x10E) and 345 portals.



5. LEVEL SCALE AVAILABLE.
N64 models are limited to +/-32,768 units so that means levels shouldn't be bigger than a cube with a 655.36 meters side. But GoldenEye lets you apply an scale factor to the level so you can make it almost as big as you want at the expense of "detail resolution" (things can't be smaller than 1 unit, so if scale is 0.1 than means 1 unit=10 cm). This was used in all levels although it would have been mandatoy just in Dam.

5. CANNOT DO LEVEL SCALE.
Perfect Dark levels are limited to +/-32,768 units. Even Crash Site is within those limits. There's no way to apply an scale factor.



6. CAN'T DO VERTEX ALPHA SHADING.
Just like vertex shading where the engine interpolates the color from two verteices along the triangle, it's possible to interpolate the amount of transparency too. GE can use vertex alpha gradients if you don't use fog.

6. CAN DO VERTEX ALPHA SHADING.
As shown in the reflectios in the Carrington Institute and some shadows, Perfect Dark is able to do it.



7. NO LIGHTING.
Explosions, shoots and light props don't affect the background lighting.

7. VARIABLE LIGHTING.
Explosions and shoots light up rooms and if the player destroys sources of light like lamps it will make the background darker until it's eventully pitch black.



8. ALTERNATIVE SKY/FOG.
It can be set with an action block that sky values change to newer ones. That's how the green gas fills 'Facility' and how the level darkens in 'Egyptian' after you kill Baron Samedi for the second time. But it can be done just one time. There's also instant sky swap used when you get out of the Train and in some cinematics.

Fog can be toggled with the FOOTSTEPS patch as used by Infil, with 2BFE fog can be set changed dynamically in-game as well.
8. ALTERNATIVE SKY/FOG.
Works like vanilla GoldenEye. Can't toggle between skies.



9. JUST ONE TYPE OF SKY.
In GoldenEye you can either have clouds or not. You can set the color of the sky and the color of the clouds separately but that's almost all of it. You can change the texture used for the clouds but actually many few look decent.

9. MANY TYPES OF SKIES AND PROPER CUSTOM SKYBOXES.
Just like GoldenEye you can have or not have clouds but also you can add another skybox (starry night or a sun with blinding and lens flare effect) or even create custom skyboxes (the Moon in the Datadyne building, the clouds in 'Area 51' or the rainbow sky in the Skedar planet.



10. CLIPPING IS BASICALLY 2D AND MADE OF CONNECTED TILES.
Clipping is a secondary mesh of triangles that set where and how the characters can move through the level. In GoldenEye it's made of a mesh perfectly triangulated where it's needed to connect the side of a triangle to the side of the adjacent one and the other way around too in order to be able to move from one triangle to another.
Clipping in GoldenEye is basically 2D and while the player is climbing a ladder or falling a cliff he/she is actually at the same height until he/she finishes climbing or falling, making it very vulrnerable. That's why ladders aren't used in multiplayer at all.
Clipping also determines the line of view of the enemies and their hability to shoot. They will see and shoot the player with a chance to hit when the clipping triangles are connected and in line, no matter the height difference. That's why they can harm the player in the steps at the end of Bunker or the ladder in Aztec.
The way the clipping works via connected triangles can be used in creative ways to create non-Euclidean worlds.

In the FOOTSTEPS patch stans can be dynamically changed with 2BFE.
10. CLIPPING IS 3D AND TILES AREN'T CONNECTED.
In Perfect Dark the clipping acts like a barrier that the characters will collide with. There can be gaps between the triangles that make the clipping but it's not recommended because it could lead to characters falling to their deaths. Now players can climb ladders and fall cliffs realistically and enemies will see them and hit them if there aren't any physical obstacles in between. Because clipping isn't connected I think it isn't possible to have non-Euclidean worlds in Perfect Dark.



11. NO STEPS SOUNDS.
Although it's possible with the Footsteps patch.
11. STEP SOUNDS AVAILABLE.
You can set a sound for every clipping polygon.


12. NO RAIN/SNOW
GoldenEye doesn't include particle effects for rain or snow.

12. CAN ADD RAIN/SNOW TO LEVELS
Although it's limited in the amount of levels that can have them. It's possible to have rain or snow effects made with lots of particles. These effects don't need to be used through all the level since you can choose the rooms that will have them. Rain also includes thunder and lighting that will change those rooms lighting (and the adjacent ones) when they strike.
Perfect Dark also let's you have poison gas with a texture that obstructs view. But it seems the way it deals damage is hardcorded and can't be disabled. Also I'm not sure if the color can be changed from green to simulate other hazards, like to yellow/brown to simulate a sand storm.


13. LIMITED TO MONO SOUND.
13. STEREO AND "SURROUND" AVAILABLE

14. ONLY STANDAR RESOLUTION.
GoldenEye runs roughly at 320x240.
Although it's possible to make it run at higher resolutions with hacking (not included with the FOOTSTEPS patch as it isn't polished enough to include).
14. CAN CHANGE TO HI-RES.
You can change between standar and hi-res (640x240) at any time


15. CAN DISABLE ANTIALIASING
Only through hacks.
15. CAN'T DISABLE ANTIALIASING.
At least not for now. It would be done with hacks


16. WEAPONS ONLY HAVE ONE MODE.
Weapons can only shoot or explode. Well, the snipper riffle replaces the karate chop although I think it does the same amount of damage

16. WEAPONS HAVE SECONDARY MODES.
All weapons can be used in a secondary way. Some are more creative than others but it adds a lot to the gameplay.


17. NO RELOADING ANIMATIONS.
It isn't just eye candy. I think all weapons also take the same amount of time to reload and this can't be changed.

17. RELOADING ANIMATIONS.
The amount of time that takes to reaload the weapons can be used to balance them and add some strategic decisions in its use.



18. MULTIPLAYER.
No bots. Limited set of 12 levels (11 + Random, which can be switched for a new multiplayer level). Some of the levels can't be played up to 4 players because of memory limitations. Weapon sets aren't customizable. BUT you have the 'You Never Live Twice' scenario which there isn't anyting similar in Perfect Dark.
The FOOTSTEPS PATCH can fix some of these limitations and the NEVER SAY NEVER hack by Zoinkity expands the GE multiplayer but it's unfinished and likely abandoned. However work is been done to extend the multiplayer list and have a selection of 11 new levels.
18. MULTIPLAYER MODES AND TUTORIAL.
Up to 12 bots. Expandable set of multiplayer levels (you can even use backgrounds from the campaign). Customizable weapon sets. Player profiles. Many new game modes. BUT there isn't anything like 'You Never Live Twice' which can be considered a pioneer of Battle royale, hehe.
It's possible to play the Campaing cooperatively or counteroperatively. There's also a tutorial level where the player can practice moves, get used to the weapons and gadgets or gather information about characters and avents.


Last edited by Sogun on Sun Mar 22, 2020 4:09 am; edited 2 times in total
 
View user's profile Send private message Visit poster's website
Carnivorous
Moderator
Moderator


Joined: 15 Oct 2016
Posts: 657
Location: Ukraine

 PostPosted: Fri Mar 20, 2020 5:52 am    Post subject: Re: GoldenEye vs Perfect Dark game engines Reply with quote Back to top

Good list, just some feedback with a few things
    6 - GE can use vertex alpha gradients if you don't use fog.
    8/9 - Fog can be toggled with the footsteps patch as used by Infil, with 2BFE fog can be set changed dynamically in-game as well.
    10 - Stans can be dynamically changed with 2BFE.
    12 - Spoken dialog can be used with the original retail ROM.
    14 - Hi-res mode is not included with the footsteps patch as it isn't polished enough to include.
 
View user's profile Send private message
Sogun
General
General


Joined: 15 Dec 2010
Posts: 659
Location: Valencia, Spain

 PostPosted: Fri Mar 20, 2020 11:22 am    Post subject: Reply with quote Back to top

Thanks Carnivorous for the feedback and the corrections. I added them to the list.

Is Perfect Dark able to do vertex shading with fog or does it work the same as in GoldenEye?

I replaced #12 DIALOG since in the end it seems both games can do the same. How about animated textures?

12. ANIMATED TEXTURES IN PROPS
It's possible to cicle a number of textures and make an animation out of them. But just in props and not on backgrounds.

12. NO ANIMATED TEXTURES ???
I don't know if the same can be done in Perfect Dark. I recall many monitors with just scrolling textures but no animations. I'm not sure if you could count Dr. Caroll eyes changing textures and the 'Attack Ship' light arrows in the runway as animations.



Is there any other effect or use for textures that is different in both games? Like scrolling, scaling, fading.... I think environmental mapping works different an it's uglier in PD, at least that's what happened when I ported my Peach's Castle map.
 
View user's profile Send private message Visit poster's website
Wreck
Administrator
Administrator


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

 PostPosted: Fri Mar 20, 2020 12:20 pm    Post subject: Reply with quote Back to top

I'll have to go over this better, but here are some quick bits...

8. There are two alternate sky switch types in GE. There's the transition style, which slowly blends from one to the other. It is seen in Facility with the gas leak, and in Egypt after the second Samedi has been defeated. Then there is the instant style, which is less obvious how Rare used them. Train switches for the exterior, and Aztec during the outro scene.

Perfect Dark should support the instant type, using action block 00F2. As long as you have a skyblock for the level ID + 0x64 setup, it should work.


12. I can only assume you are referring to monitors? It is true that PD didn't do as much as GE when it came to screen animations. However, they should be handled identically. GoldenEye X was able to recreate everything from GE, but shortage of space required an edit to the skateboarder, and the loss of the complex series of Aztec screens, which randomly swap between a large number of entries.


16. Unarmed switches to the Sniper Rifle model once the player has the correct weapon ID in their inventory. The sniper model position is adjusted to show the butt end, but no change to weapon stats appears to be made.


Edit:

Also, regarding env mapping between games. First-person weapon models in hand seem the same. But, if you check the pause inventory screen, they don't look right. You can clearly see issues with any shiny weapon in GE-X. Knife, and both cheat PP7 variations, are screwed up in menu. Backgrounds are also affected. The Bunker "Eye" on the wall, as well as the Egypt pillar, both had to be stripped out and turned into props for GE-X. I know PD has an extra value assigned to certain vertices used by these kinds of models, but we haven't looked too in depth at it, as it isn't used too often, or at least not in GE.
 
View user's profile Send private message Visit poster's website
Lazlo52
Secret Agent
Secret Agent


Joined: 18 Nov 2017
Posts: 331
Location: N.J.

 PostPosted: Fri Mar 20, 2020 2:05 pm    Post subject: Reply with quote Back to top

Regarding 8, the alternative sky/fog, Perfect Dark is just as capable as GoldenEye. You just have to set the skies to the proper level IDs and make sure you're using the "small" sky types. It seems as if colour goes default when going from "small" to "large" and just crashes in general when trying "large" to "large" (or maybe the game crashed because l tested large2large with gas and "large" doesn't have fog?). Even the slow fog transition of gas objects works in PD, though I'm not sure if the Egypt override to disable the damage is available (Egypt's ID is hardcoded to not deal gas damage in GE and the editor can control that a little in 21990).

As for 12, animated textures...I know PD's screen monitors are able to cycle through images like in GE, it just doesn't use it very often. There are unused screen textures like the talking face that can be reimplemented as an animation. And, I don't know how those Attack Ship arrows work, but they're definitely part of the background geometry since l could delete a triangle from one and the texture UV was still moving.
_________________
Quote:
22 not happening nerds. forget about it. 23 til the day i die.
 
View user's profile Send private message
Wreck
Administrator
Administrator


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

 PostPosted: Fri Mar 20, 2020 10:36 pm    Post subject: Reply with quote Back to top

You could also mention cooperative / counter-operative play, as well as a hub of sorts (Institute), where players can learn controls and test weapons or gadgets. Those were great additions to PD.

18. I did manage to get eleven more levels to function properly in GE, and used them in the Tournament Edition mod. I asked Carnivorous if he could create a cheat that would swap out the normal multiplayer level IDs with the new ones whenever activated. Now, I only did this for mirrored maps, but with even more adjustment, you could go further and make pretty much a new selection of levels entirely. Change names, level photos, etc. You may start running shorter on skyblocks (there are some unused - around nine or so?), but even the memory allocations table and music by level ID table are extendable. I'll be sharing info soon.
 
View user's profile Send private message Visit poster's website
Uufje
Agent
Agent


Joined: 26 Feb 2007
Posts: 69

 PostPosted: Sat Mar 21, 2020 6:09 am    Post subject: Reply with quote Back to top

Animated textures are possible in Perfect Dark, like in the Chicago storm drain, where the water flows. I'm not sure about props though.

I like that Perfect Dark has plenty of new features, but as Wreck says, it's a little hard changing GoldenEye things into Perfect Dark with GE:X. I remember the guard's AI behaving abnormally sometimes in the GE:X missions.


Last edited by Uufje on Mon Mar 23, 2020 4:14 am; edited 1 time in total
 
View user's profile Send private message Send e-mail
Wreck
Administrator
Administrator


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

 PostPosted: Sat Mar 21, 2020 12:42 pm    Post subject: Reply with quote Back to top

Character AI has a lot of new settings in PD. Many, of which, are unknown. Some may have been identified since the GE-X missions were made. Custom behaviour blocks can also have issues, possibly conflicting with settings and/or generic actions. Coop mode throws another wrench into the works. Also, PD has "cover" pads, which guards can use to strategically go to for protection. AI will be one of the last things really sorted out for missions, other than certain actions we don't know of yet.
 
View user's profile Send private message Visit poster's website
Sogun
General
General


Joined: 15 Dec 2010
Posts: 659
Location: Valencia, Spain

 PostPosted: Sun Mar 22, 2020 3:34 am    Post subject: Reply with quote Back to top

Added the changes and changed #12 again with climatic effects which I don't know how I missed before since it's one of the more obvious differences.

12. NO RAIN/SNOW
GoldenEye doesn't include particle effects for rain or snow.

12. CAN ADD RAIN/SNOW TO LEVELS
Although it's limited in the amount of levels that can have them. It's possible to have rain or snow effects made with lots of particles. These effects don't need to be used through all the level since you can choose the rooms that will have them. Rain also includes thunder and lighting that will change those rooms lighting (and the adjacent ones) when they strike.
Perfect Dark also let's you have poison gas with a texture that obstructs view. But it seems the way it deals damage is hardcorded and can't be disabled. Also I'm not sure if the color can be changed from green to simulate other hazards, like to yellow/brown to simulate a sand storm.



Regarding monitors animations I totally forgot to check GE:X Aztec, d'oh.
I also took a look at the water in Chicago and the arrows in Attack Ship.

The stream of water seems to be made of two layers of probably the same texture with different UV scales that scroll at different speeds. Not an animation although it looks very good.

The arrows seem to be a texture that scrolls instantlly. I have checked the textures with Image Tools and I don't see more textures for the arrows to make and animation. The final test should be change to a texture with the same dimensions and see how it behaves. I might try that later to confirm.

EDIT:
I swapped the texture in Image Tools with 0A1C but got static texture ingame. Maybe it's because of texture format? The arrow texture is 15 bit RGB and I don't know how to inject as that.
 
View user's profile Send private message Visit poster's website
Wreck
Administrator
Administrator


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

 PostPosted: Sun Mar 22, 2020 12:52 pm    Post subject: Reply with quote Back to top

I feel I should mention something about rooms. In PD, every room should be connected to the next a long a straight edge. There are extremely few occasions where this is not so. In GE, many rooms do not do this. You can find plenty in Runway, Streets, Surface, and Statue. GoldenEye had an extra value you can set in a portal, which improves these areas. PD does not appear to use this. There are other settings, including an action block, that can help visually, but not as well. I know an area in Air Base, near the entrance outside, does this. I believe certain areas will require editing in GE-X. This also affects clipping that crosses through portals. In PD, you can fall through the ground, as walking through the portal switches which room ID the player is in. If the tile you are on is belonging to a different room ID, you'll drop out.

Also, another thing to point out, which is an odd one, is when using special visibility commands to force a room to load within another (such as the tanks in Facility or the ceiling in the area across from your starting interrogation room in Archives), bullet hits on those rooms will not make noise.

PD also has some special visibility commands that are unknown, or weren't the last time I was tinkering with it, a few years ago.


Edit: I'm going over more of my info on fixing unused level IDs to work in GE, as well as moving/extending some tables to go with it. I might have something posted tomorrow.
 
View user's profile Send private message Visit poster's website
Uufje
Agent
Agent


Joined: 26 Feb 2007
Posts: 69

 PostPosted: Mon Mar 23, 2020 4:14 am    Post subject: Reply with quote Back to top

I think special visibility is very interesting. I have been working with it in my new PD level a lot, and I'm still curious as to what a lot of those commands mean. I know how to make rooms disappear or show when you're in a specific room, or how to make a room visible through a certain portal, but most commands I haven't figured out.
 
View user's profile Send private message Send e-mail
MRKane
007
007


Joined: 11 Dec 2008
Posts: 1073

 PostPosted: Wed Mar 25, 2020 2:03 am    Post subject: Reply with quote Back to top

PD also has a hard limit of rooms that can be seen consecutively through portals. I found it was about 15 in what turned into a little nightmare for a map I was working on. I'd be interested to know what we know about getting it to rain or snow in levels.
_________________
No Mr. Bond, I expect you to be re-coded!
 
View user's profile Send private message MSN Messenger
Wreck
Administrator
Administrator


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

 PostPosted: Wed Mar 25, 2020 7:49 pm    Post subject: Reply with quote Back to top

For anyone else interested, I just posted in the Carrington Hacker Central forum about using rain and snow. It should cover the standard stuff. I'll try and get into the more advanced part soon. SubDrag was able to get more rooms to use snow for GE-X, and included an option to create a fourth level (and a duplicate) - which was used for Surface i and ii. But since the real magic is stored inside ASM files in ROM, it is not as easy to play around with for those without know how. Myself, included.
 
View user's profile Send private message Visit poster's website
Sogun
General
General


Joined: 15 Dec 2010
Posts: 659
Location: Valencia, Spain

 PostPosted: Wed Oct 26, 2022 10:35 am    Post subject: Reply with quote Back to top

Quoting HackBond from the ''What would you like to see it nealy compiled roms of PD?' topic
HackBond wrote:
Ryan did make a performance version of Perfect Dark. Currently some stuff breaks like the EyeSpy and splitscreen but it's a interesting idea nonetheless

https://gitlab.com/ryandwyer/perfect-dark/-/tree/mods/performance

There's a readme detailing everything he did.


Here's an interesting improvement that I though it was already implemented in vanilla Perfect Dark:
Quote:
The retail game loads room graphics data on the fly, based on rooms near the player and the direction they're looking. These rooms are then unloaded when not needed. When loading a room, the game uses a blocking DMA call which results in a lag frame (or a few if loading several rooms). There's extra processing associated with this as well, such as unzipping the graphics data and scanning the display lists.
For all stages except the Area 51 stages, PDHP loads all rooms during stage load and bypasses the "what rooms should I load" code. This gives a much more consistent frame rate. For the Area 51 stages, there is not enough memory to load all rooms at the same time (it would require around 1.5MB) so the original "load on the fly" method is used for those stages.



As I wrote a few years ago in the first post:
3. ROOMS STREAMED FROM CARTRIDGE. (GOLDENEYE)
I'm not really sure about this one. GoldenEye lets you set the amount of memory dedicated to geometry and textures. It will show on screen as many rooms as fit in the dedicated memory. The engine will keep loading and unloading rooms as needed. But if the size of the rooms that should be shown on screen exceeds the size of that portion of memory, those rooms won't show even if the player is standing on them. This can crash the game at when loading the level especially in multiplayer.
Even if there's enough memory to show everything, if the rooms have too many polygons, it's possible that part of the geometry will suddenly pop up while the game drops performance for a microsecond (because I think it's streaming the room data from cartridge to RAM as it needs to be rendered).

3. ALL ROOMS LOADED TO RAM. (PERFECT DARK)
All rooms load to RAM before the level begins. That's why it takes so long to start a level. This also means that loading rooms to render is faster and you won't get the sudden popping and micro-stutter that happened in GoldenEYE


Recently I did a test to compare performance between GE and PD using barebones GE levels (many thanks to GE:X team for making things easier). Surprisingly they performed mostly the same. I expected that levels such as Surface would improve but to my eye they run at the same framerates. I struggled to find some spots where PD performed better than GE, but I also found some spots where GE performed better than PD so I thought that maybe it was because the later was managing more rooms in memory (although not rendered) than GE.
If you exit from the clipping in PD you fall to your death and if you look up while falling you'll see many rooms that you weren't supposed to see as if a big chunk of the level is loaded surrounding your position. In GE if you exit the clipping you can walk as far as you want into the void and no new rooms are loaded (you would only see partial rooms through portals in the room you 'exited' but not whole rooms from an outside view like in PD).
This reinforced my idea of 'stream from cartridge' vs 'already all in RAM' but it seems I was wrong all along.

For those interested where GE outperforms PD it's in any of the Bunker levels, the outside area with snow and the heliport. GE hits 60 fps 100% of the time in that room except when looking at the door (even from behind, as if the portal is active from that view too). PD stays at 30 fps no matter what. It's very interesting that Ge hits 60 fps there because the trees use detail textures which should use a lot of fillrate and drop performance, but I guess there aren't that many polygons to drop frames (375 triangles). However, both games struggle to hit 60 fps even in corridors with few polygons so it's a very interesting room.
 
View user's profile Send private message Visit poster's website
Sogun
General
General


Joined: 15 Dec 2010
Posts: 659
Location: Valencia, Spain

 PostPosted: Thu Jan 05, 2023 5:37 pm    Post subject: Reply with quote Back to top

Lately I've been doing some real hardware performance tests. I focused on GE but also cheked PD a little.

GE clearly benefits from having the levels split in different geometry groups we call Rooms. As long as you don't look at a portal, those rooms aren't rendered or processed in any way, so there's no impact in performance. However, if a room is loaded all its polygons are processed in some way and performance drops even if the majority of those polygons don't show on screen.
It would be ideal to have maaaaaany rooms with little geometry so mainly the polygons on screen are being managed and resources aren't wasted on geometry outside the camera view. But GE has a limit of 148 (0x94) Rooms and 199 portals, so levels can't be very or complex if we do that.


Here's a summary of things I found out when doing my tests. They might not be 100% accurate but can be used as a guide. Notice that both GE and PD use double buffer, so framerates will suddenly vary from 60, 30, 20, 15, 12, 10, 9... fps. Drops from 60 to 30 and 30 to 20 are very noticeable (especially if you use the aiming cursor movement for confirmation).:

-Area of polygons on screen matters. I can put 250 or even 500 triangles on screen at once and hit 60 fps when I look all of them from the distance, but when I got so close they almost fill all the screen performance drops to 30 fps. It goes up again to 60 fps when I get too close and only around 80 triangles are shown on screen.

-Type of (opaque) texture doesn't affect performace. I only tried with the same texture for all triangles so this might be pretty inacurate. However, I noticed the same performances in my test maps with different polycounts. Basically, it doesn't matter if it's a greyscale/color 4 or 8 bit texture, if it uses mipmaps or not, I would say even the size of it. They all affect performance the same way. It doesn't make much sense to me and would need better testing.

-Number of textures affects performance but not really much. In my map with a wall of 250 tris (125 squares) I put 125 random textures with different formats (all opaque) and I still got 60 fps when the polygons where small and then a drop to 30 fps at the same distance. However it didn't go up to 60 fps when I got too close like when I only had 1 texture.

-Unseen polygons in loaded rooms affect performance significantly while rooms that aren't loaded doesn't hit performance at all. I can't tell how much those triangles drop performe. It isn't in the same way that rendered polygons but it's notable. It doesn't matter if those polygons are behind the camera or facing to the opposite direction.

-'Unarmed' weapon drops performance even if the hand isn't visible on screen. Performance drops even more when you can see it.

-It's impossible to get 60 fps when you are shooting and hitting a wall, no matter how simple the background is or even if you remove the gun model. The moment the bullet hit the wall there's a framedrop and the little explosion, the smoke and the debry is too much to keep 60 fps. Then I tried with Wreck's 'GE Tournament Edition' patch that eliminates the explosion and the gas and also cuts the debry in half and I was able to get 60 fps except for the moment the bullet colides with the geometry (also, if you constantly fire an automatic gun it will keep the 30 fps because of the bulletholes and debry created). In that patch there's a cheat to turn off antialising, and that made it possible to maintain 60 fps performance after 2 or 3 shoots. Well, if you are shooting an enemy (even a very lowpoly one) I don't think you can keep 60 fps even if you are using single shoots.


When comparing performance between empty vanilla GE maps and GE:X without light coronas they perform almost the same as I said in my previous message. I noticed some spots where PD performed better, then surprisingly other places where GE was ahead. I also tested empty vanilla PD maps, with and without coronas. Coronas drop performance significantly in most cases. Sometimes they can even cut the framerate in half. If they are small and there aren't many of them on screen you may not have a framedrop.
Without coronas, PD behaves mostly as expected. It usually runs at 30 fps and drops here and there if the area is big or has a lot of detail. Of course it drops a lot outisde Villa and some spots in Crash Site.
But the level that surprised me how horrible it performed was Air Force One. It lags all the time even if little geometry is on screen. It has small rooms with high poly counts, but the numbers don't add up. I used an emulator to rip the geometry because I thought a lot of unnused geometry was beeing processed but it only ripped the rooms that were show on screen. I did the same with that Bunker room I mentioned that didn't reach 60 fps in the PD engine and again, no extra geometry was ripped.

Finally, I made my own custom map with increasingly detailed rooms and it performed 60 fps in GE engine (except for some of the final rooms vistas where it drop to 30 fps which was expected), then I tried it in PD (replacing 'Investigation') and it was even more confusing:
The level starts in a very simple room made of 16 triangles. In PD it started at 60 fps, but the moment I rotated the camera and spoted another room (also veeery simple) it drop to 30 fps. If I rotated the camera again to the initial position but it didn't go back to 60 fps. I roamed the level and it played at 30 fps (didn't drop to 20 fps at any point, although that would be disasterous). Even more confusing, if I went back to the starting point there were brief moments where it reached 60 fps again.

There's something that difficults PD to run at 60 fps. It's not a 30 fps cap since it can go higher in certain circumstances (I remember a GE:X patch where the Jungle level didn't have props and the rain was falling at glorious 60 fps). So what can that be?


I thought you could get large and complex maps with smooth performance in PD thanks to the higher Rooms and portal limits if you carefully controlled the polycount per room and enemy placement. But after how my tests have gone I'm not so sure anymore. Does the 'Footsteps patch' increase the #rooms and #portals limits? Is it even feasible?


Sorry for the long post. I hope it didn't get too dense.
 
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic    ShootersForever.com Forum Index -> Q-Lab Hacking Department All times are GMT - 8 Hours
Goto page 1, 2  Next
Page 1 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 ]