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


Dam [Map]
Goto page Previous  1, 2, 3 ... 7, 8, 9, 10, 11  Next
 
Post new topic   Reply to topic    ShootersForever.com Forum Index -> GoldenEye X
View previous topic :: View next topic  
MRKane
007
007


Joined: 11 Dec 2008
Posts: 1073

 PostPosted: Sat Oct 14, 2017 1:56 am    Post subject: Reply with quote Back to top

I think that's a much better idea - so clip the island also? Do you need any special clipping for the boat areas? I'd be inclined to think it'd be pretty easy to do though Smile
I do wonder if the tower on the dam needs remodelling as it's clipping is very difficult to get working for the poor players.

I would, however, like to add in some trees like the enhanced xbox version was supposed to have, and perhaps even ice on the edges of the lake. Do you have some already included textures that would be good for that? Speaking of lake: how do we do water?

And the textures still don't work! lol
_________________
No Mr. Bond, I expect you to be re-coded!
 
View user's profile Send private message MSN Messenger
Kerr Avon
007
007


Joined: 26 Oct 2006
Posts: 913

 PostPosted: Sat Oct 14, 2017 5:04 am    Post subject: Reply with quote Back to top

Wreck wrote:
I'm not too keen on adding a vent to the Island, especially as a means of alternate entry. The bungee jump is classic, and is very memorable from the film. I do want players to go to the Island, but through the use of a boat in a short cut scene. It takes too long to get across the lake, and as far as I know, no way to prevent players from getting out of the boat and "swimming" around. Instead, they would jump down off the dock into the boat, and activating it would play a scene of them driving toward the opposite side. Works both ways; to and from the Island.


I agree that Goldeneye X really should keep the bungee jump, as it is iconic for the film. And it would be better to have the journey to the island shown in a (quick) cutscene, as otherwise it would be boring*. I think the player should have to go to the island to get the bungee equipment, but only in Secret Agent and 007 Agent difficulty levels. For Agent skill level, I think Bond should already have the bungee equipment when the game starts.

And I take it the closing Dam cutscene, when Bond bungee jumps, will actually show the bungee rope? I hope so, and it would also be nice if the cutscene would show Bond connecting it the top of the dam (or it's railings) before jumping. It doesn't have to be detailed, just say Bond producing an item, then kneeling down to attach it to the floor, then he stands up, and jumps from the platform. Our view of him attaching the item could be obscured from the camera (say by Bond's back, or part of the dam, etc) to save the animation from being too detailed, if necessary.





* The boat ride would be boring, unless there was shooting involved, which could be a good objective actually - imagine your boat moving forward as another boat follows you, and you and the enemies in the other boat have to shoot each other. Then again, it might be too much work for too little gameplay effort, plus you'd have to consider what happens when you get to the island if any of the enemy soldiers in the other boat are still alive, or does your boat circle around until every on-boat enemy is dead. Or does the boat-ride go on a straight line to the island, but you never actually get there until every enemy is dead, etc. And the enemy boat(s) would have to move laterally in relation to you, or you'd basically be shooting non-moving targets (since the boat, and so it's enemies in the confined space of a boat) would be travelling in the same direction as you.

It could be good, but given how short the distance is to the island, and how (relatively) small the water area is, then maybe there's not enough water area to make a believable and fun boat to boat shoot-out that's worth the effort it would take to put it into Goldeneye X. And of course if it was too simple then it would be OK at first, but on multiple play-throughs it would just be boring.

Probably best to just ignore this (bad) idea!
 
View user's profile Send private message
MRKane
007
007


Joined: 11 Dec 2008
Posts: 1073

 PostPosted: Sun Oct 15, 2017 2:06 am    Post subject: Reply with quote Back to top

Time for a bit more help everyone. Testing the current build on actual hardware the engine is having massive z-fighting issues. My first reaction is to assume that the depth buffer is too "stretched" by the very far view distance, and thus it's not sorting. Any suggestions welcome here! Aside from that I'll have to try having a play with numbers to see if that'll sort it Sad

I think first up I'll have to try Wrecks recommended settings, although getting access to a PC at work is a task in and of itself...

EDIT: So I've been mucking around with the sky and draw distance settings and the suggested ones result in a level that's clogged with fog. It's proving difficult to tap out the correct numbers for this, and I've been getting the odd crash on actual hardware. Anyone who'd be keen to help here I'm happy to collaborate!
_________________
No Mr. Bond, I expect you to be re-coded!
 
View user's profile Send private message MSN Messenger
Trevor
007
007


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

 PostPosted: Thu Oct 19, 2017 6:13 am    Post subject: Reply with quote Back to top

I'm still trying to work out how this (converted from ASM and documented by Zoink)
Code:

Visscale = 0.212
FarFog = EnvironmentData[EnvironmentID].Farfog; //1500.212
ScaledBlendMult = EnvironmentData[EnvironmentID].BlendMult / Stage[CurrentStageID].VisScale   //24.58538
ScaledFarFog = FarFog / Stage[CurrentStageID].VisScale   //70755.710000000000000000

Float fFarIntensity = EnvironmentData[EnvironmentID].FarIntensity / 1000   //=0.995
Float fNearIntensity = EnvironmentData[EnvironmentID].NearIntensity / 1000   //=1

DifInFog = ScaledFarFog - ScaledBlendMult   //=70731.13
DifInFogNear = DifInFog * fNearIntensity    //=70731.13
DifInFogFar = DifInFog * fFarIntensity      //=70377.47
NearFogDist = ScaledBlendMult + DifInFogNear   //=70755.71
FarFogDist = ScaledBlendMult + DifInFogFar    //=70402.05

DifInIntesity = fNearIntensity - fFarIntensity
somethingx = ((((-(128 / DifInIntensity)) * ScaledFarFog ) * (ScaledBlendMult + 1)) / (DifInFog)) / 255
// ((((-(128/0.005))*8192)*(20+1))/8172)/255 = 2641.7436871958768823241484552705 very odd, but its what GE gets too

somethingy = ((((ScaledFarFog + 1) * (128 / DifInIntensity)) / DifInFog) + (((0.5 - fFarIntensity) * 256) / DifInIntensity)) / 255
// (((8193*(128/0.004))/8172)+(((0.5-1)*256)/0.004))/255 = 0.32247847744090293973683452823126


somehow equates to a vertex fogging at a certain distance.

somethingx and somethingy are used later, but I cant follow it and it all seems overly complicated compared with my guess as detailed on http://www.shootersforever.com/forums_message_boards/viewtopic.php?t=6991

I am still convinced that "nearfog" is not related to BG but only objects, and "blendmult" is definatly related to nearfog (BG)

Trev
_________________
 
View user's profile Send private message
MRKane
007
007


Joined: 11 Dec 2008
Posts: 1073

 PostPosted: Thu Oct 19, 2017 5:14 pm    Post subject: Reply with quote Back to top

I agree with you about the near-fog value, although it also appears to mix in with the blendmult for the distance settings.

At the moment I've got to set a value greater than 7000 for the far fog to even see the far end of the level, and that's part of what's causing the depth compare issues on console. At this stage I'm considering bringing the "distant" parts of the level a bit closer, but much of the issue with the Dam is that it's breadth is still a problem here too. Would you like the fbx, clip, and portals files to mess with yourself?
_________________
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: Thu Oct 19, 2017 9:35 pm    Post subject: Reply with quote Back to top

I've used the direct port sky values for every map in GE-X thus far (with Bunker i being an exception, and Archives may also currently be different), and not had any issues. Not sure why there'd be problems for Dam, but I have not tested the sky block myself. Sounds like your Dam is going to be quite different in terms of format and display list settings than the original version, and I am only guessing you may have rebuilt the clipping, and not used the rescaled data from GoldenEye?
 
View user's profile Send private message Visit poster's website
MRKane
007
007


Joined: 11 Dec 2008
Posts: 1073

 PostPosted: Fri Oct 20, 2017 5:38 am    Post subject: Reply with quote Back to top

It's been a substantial rebuild of the entire level as many of the visibility calls in the Dam aren't properly known, or are essentially excessive and I was sure I could do the whole level using only portals.

I've preserved the original clipping and edited it into new rooms as such throughout the level, many of the original rooms were kept, or merged, or re-cut accordingly.

Visibility wise I think where it goes out is that the Dam is at a 0.2 scale (or something like that) meaning that the actual view distance is five times larger. We start to hit a "fish eye" or "depth checking" issue with far fog values past about 7A00, but I've been experimenting with different skyblocks and have a pretty good solution albeit not tested on actual hardware yet.

Odds down I'll have to tweak the level geometry a bit more to make sure everything does fit, and after that I'll flick the files through to you for integration, or earlier for testing if you wish.

As far as progress goes: Clipping is all done (besides a few odd dips and the island), and the level geometry is pretty good, and I've only a handful of portal issues left to resolve now Smile
_________________
No Mr. Bond, I expect you to be re-coded!
 
View user's profile Send private message MSN Messenger
Trevor
007
007


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

 PostPosted: Fri Oct 20, 2017 10:45 am    Post subject: Reply with quote Back to top

I am making progress on this fig stuff and PD didn't change anything with it (except data format float > Short)

Environment Data should just copy over fine, 15000/0.2 etc.

your fisheye stuff isn't just PD but its both since they are using same code (I will at some point try to confirm this once I finish this part)


Ive found some promising code related to fog RGB and a divider of 255 so I'm definatly getting there.

At present I am still using PG names until I can nail the real names.

current wip
Code:
7F0BB3A4:
LUI T6, 0x8008
LW T6, 0x25C0 (T6)    //1
BNEL T6, R0, 0x7F0BB3C0   //null f2
MTC1 R0, F2      //if not 0 goto
JR RA
ADDIU V0, R0, 0x0002
MTC1 R0, F2
7F0BB3C0:      //here
LWC1 F4, 0x0018 (A0)   //862.0
LUI V0, 0x8004
ADDIU V0, V0, 0x4DCC   //CurrentEnv.FarIntensity
C.LT.S F4, F2      //if likly not F4 LessThan F2
LUI V1, 0x8008
BC1FL 0x7F0BB3E8   //T7 = CurrentEnv.FogRed
LBU T7, 0x0008 (V0)   //goto
JR RA
ADDIU V0, R0, 0x0002
LBU T7, 0x0008 (V0)
7F0BB3E8:      //here
LUI AT, 0x437F
MTC1 AT, F12      //f12 = 255.0
MTC1 T7, F6      // 16
ADDIU V1, V1, 0x25C8   //ScaledBlendMult
BGEZ T7, 0x7F0BB410   //convert 16 to 16.0
CVT.S.W F8, F6      //if t7 not 0 goto
LUI AT, 0x4F80
MTC1 AT, F10
NOP
ADD.S F8, F8, F10
DIV.S F16, F8, F12   //here 16.0/255.0=0.06274509803921568627450980392157
LUI AT, 0x4F80      //
SWC1 F16, 0x0000 (A1)   //store at 803B3560 0.06274509803921568627450980392157
LBU T8, 0x0009 (V0)   //CurrentEnv.FogGreen
MTC1 T8, F18      //48
BGEZ T8, 0x7F0BB438   //convert 48 to 48.0
CVT.S.W F4, F18      //if t8 GreaterThan= 0 goto
MTC1 AT, F6
NOP
ADD.S F4, F4, F6
DIV.S F10, F4, F12   //here 48/255 = 0.18823529411764705882352941176471
LUI AT, 0x4F80      
SWC1 F10, 0x0004 (A1)   //store at 803B3564
LBU T9, 0x000A (V0)   //CurrentEnv.FogBlue
MTC1 T9, F8      //
BGEZ T9, 0x7F0BB460   //convert 96 to 96.0
CVT.S.W F16, F8      //if t9 GreaterThan= 0 goto
MTC1 AT, F18
NOP
ADD.S F16, F16, F18
DIV.S F6, F16, F12   //here 96/255=0.37647058823529411764705882352941
LUI AT, 0x3F80      //1
SWC1 F6, 0x0008 (A1)   //store at 803B3568
LWC1 F10, 0x0018 (A0)

7f0bb470: read "somethingx" (read 17 times every frame)
LWC1 F4, 0x0010 (V1)   //somethingx
LWC1 F18, 0x0014 (V1)   //somethingy
DIV.S F8, F4, F10   // -2569.467 / 792.8369 = -3.240851
ADD.S F16, F8, F18   // + 1.040242 = -2.200609
SWC1 F16, 0x000C (A1)   //save to 803B3560+c
LWC1 F0, 0x000C (A1)   //load to f0 ... whats the point...f0 originally 1
C.LT.S F0, F2      // move 1 to F6
NOP
BC1FL 0x7F0BB4A4   // if Likly NOT
MTC1 AT, F6      //... F0 LessThan F2(always 0?) goto 7F0BB4A4
JR RA         //return to 7F04B1B8 (v0 = 2)
ADDIU V0, R0, 0x0002
MTC1 AT, F6 - never executed?
7F0BB4A4:
ADDIU V0, R0, 0x0001   //v0=1
C.LT.S F6, F0      //if NOT
NOP
BC1F 0x7F0BB4C0      //... F6 LessThan F0 return 7F04B1B8 (v0 = 0)
NOP
JR RA
OR V0, R0, R0      //... else return v0=0
JR RA
NOP         // ... }

_________________
 
View user's profile Send private message
MRKane
007
007


Joined: 11 Dec 2008
Posts: 1073

 PostPosted: Fri Oct 20, 2017 7:12 pm    Post subject: Reply with quote Back to top

So with continued messing around I've kind of finally got something that doesn't screw up horribly - which means that it is possible.

The next issue is a lockup that happens on actual hardware but not emulator. I don't know if it's because there's now too many polygons on the screen, or if it has to do with something that I've changed in the map setup, but the level will run pretty well (albeit a spot low in frames for my liking) for about 20 seconds and then lockup.

What I've got to go off:
-Image remains on screen
-Music continues playing
-Cannot access "start" menu

...still can't seem to get textures happening for the FBX import though.
_________________
No Mr. Bond, I expect you to be re-coded!
 
View user's profile Send private message MSN Messenger
MRKane
007
007


Joined: 11 Dec 2008
Posts: 1073

 PostPosted: Tue Oct 24, 2017 2:42 am    Post subject: Reply with quote Back to top

Ok, have managed to get on top of the crashes by bringing most verts back into view distance (go figure...) but there are still a few glitches where the level can clip outside of the "view sphere". I'll keep tinkering and compressing and see that I can preserve the Island etc. I'm not really sure about this, as we could do a forced perspective here, but it's a shame to waste that possibility in the map so I guess it'll just have to be closer Wink

Still haven't fixed those textures!
_________________
No Mr. Bond, I expect you to be re-coded!
 
View user's profile Send private message MSN Messenger
Trevor
007
007


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

 PostPosted: Tue Oct 24, 2017 6:12 am    Post subject: Reply with quote Back to top

The idea of a "View Sphere" is odd...
Since PD does not scale maps, the final value of each vertex should be equal the original value of the vertex which should be max +/- 32,767.99996 (I have to keep reminding myself its 32bit s15.16 since for too long I only counted the integer portion)

Quote:
The RSP is a fixed point machine, so keeping coordinate systems within a certain range is important. If numbers in the final coordinate system (or intermediate coordinate systems) are too big, then the geometry of objects can be distorted, textures can shift erratically, and clipping can fail to work correctly. In order to avoid these problems keep the following notes in mind:

1. No coordinate component (x, y, z, or w) should ever be greater than 32767.0 or less than -32767.0
2. The difference between any 2 vertices of a triangle should not have any components greater than 32767.0
3. The sum of the difference of w's of any 2 vertices plus the sum of the differences of any of the x, y, or z components should be less than 32767.0. In other words for any 2 vertices in a triangle, v1=(x1,y1,z1,w1), and v2=(x2,y2,z2,w2), these should all be true:
abs (x1 - x2) + abs (w1 - w2) < 32767.0
abs (y1 - y2) + abs (w1 - w2) < 32767.0
abs (z1 - z2) + abs (w1 - w2) < 32767.0

One way to check this is to take the largest vertices that you have and run them through the largest matrices you are likely to have, then check to make sure that these conditions are met.


It could be that the visibility is in fact still the cause of crashing.
Not directly but indirectly depending on exactly how it works.

What I mean is,
In GE:
Dam has a box 13,294 x 18,861
This has a scale of 0.233, or rather, every object is scaled by 0.233 (the level geometry stays the same)
Dams Apparent Box is now 56,900 x 80,727
I say apparent because in order to conform to the RSP rules the map cannot exceed +/-32,767 therefore everything else is scaled down to fit. eg,
Bond is 1,800 high.
Bond is always divided by 10 (scale = 10) making him 180 high.
Bond is then Multiplied by level scale, this case 0.233 making bond 42 units high.

This differs from what I previously thought (When I believed RSP was integer only Embarassed ) which was the level was "UpScaled" and somehow forced RSP to exceed limits.

Now, PD skips the last scale meaning Bond is 180 high, to make dam look 56,900 x 80,72, it actually needs to be 56,900 x 80,727...

However, Visibility is perhaps different.
PD still allows a scale on visibility but given how Level scale works, we seem to have visibility backwards.
Again, what I mean is:
If Visibility is 1 (no scale)
a value of 1000, should be farclip = 1000
this works fine.
now, If visibility is 0.2 and we know that dams apparent visibility is 75,000 with a value of 15,000 what is really happening.

The old theory was easy, divide 15000 by 0.2 and you end up with 75000
However, if we take the values literally, the apparent visibility would be 3000 which is clearly wrong.

however, perhaps visibility does use the "old" theory and is then multiplied by level scale.
this would give the answer
17522.9988975
this does give an acceptable answer given the level box.





Actually, please accept my appologies for rambling, I now believe that we are still running into an RSP overflow.

Heres why:

FarClip cannot exceed +/- 32,767, so if you stand at 0,0,0 the max vis you can have is 32,767.
however if you stand at 16767,0,0 the max vis you can have is 16000

Yeah, this is all making sense now I think.

I now also understand your "Visibility sphere" and it looks like your right.
Your "Visibility Sphere" cannot touch the 32,767 box.

I think this quote now makes sense with the above findings
Quote:
If you want to keep all components of coordinate value within the range of value above, ensure that M*S+T<16383.0. M, S and T are as follows:
M
the largest component (x, y, or z) of the largest model in your database.
S
The largest scale (i.e., number in the upper 3 rows of the matrix) in the matrix made up of the concatenation of the largest modeling matrix, the largest LookAt matrix, and the largest Perspective matrix you will use.
T
the largest translation (i.e., number in the 4th row of the matrix) in the matrix made up of the concatenation of the largest modeling matrix, the largest LookAt matrix, and the largest Perspective matrix you will use.

the last T (translation) is your "Visibility Sphere" which is part of the Perspective Matrix

Trev

Below is a new map detailing the above findings... Its worse that we ever thought... Max Visibility is shown by the circles and has a value of 15439
More than that will cause visibility sphere to clip bounds.
We need to re-enable level scale...

_________________
 
View user's profile Send private message
MRKane
007
007


Joined: 11 Dec 2008
Posts: 1073

 PostPosted: Wed Oct 25, 2017 4:05 am    Post subject: Reply with quote Back to top

You look to be out by a factor of about two there. With a fog distance of 6FFF you just start to get clipping on the far side of the Dam walkway, from the other side. Reading up on what you've got that does make a heap of sense as I've been trying t "tap out" where the far clip max is before that "fisheye" effect, and taking your number (16000*2 => 0x7D00) makes a whole heap of sense. I'll have to do a few trials there and see if that's exactly it, but I know it's around there somewhere.

I've managed to "squeeze" most of the bits and pieces down into the view field and am just experimenting with what the maximum fog distance actually is to see how much I can milk it on actual hardware. I've moved the island noticeably closer, and am still wondering if we should use forced perspective and give up on the idea of having the island as a playable area in the level, and instead have the bottom of the Dam.

It's close, it just needs squashed or tweaked a little more and then it'll be passable. The clipping seems solid and besides a couple of glitches the portals are fine now too.

As we say at my work "everything we do is art, it's our constraint, and sometimes our crutch" so perhaps the result will have to get "creative". As I said before: If you do want the build files as they stand just give me a PM and I'll flick them through for you to play with Smile
_________________
No Mr. Bond, I expect you to be re-coded!


Last edited by MRKane on Wed Oct 25, 2017 1:29 pm; edited 1 time in total
 
View user's profile Send private message MSN Messenger
AL64inthedark
00 Agent
00 Agent


Joined: 18 Sep 2014
Posts: 548
Location: France

 PostPosted: Wed Oct 25, 2017 12:01 pm    Post subject: Reply with quote Back to top

Honestly I think Island is overated. It would just be 10 seconds of gameplay there...and not something special. It's not worth too much trouble.
_________________
Listen to me
https://youtu.be/BzZ3k3NmhLM?t=25m51s
 
View user's profile Send private message MSN Messenger
MRKane
007
007


Joined: 11 Dec 2008
Posts: 1073

 PostPosted: Wed Oct 25, 2017 1:31 pm    Post subject: Reply with quote Back to top

See I'm inclined to agree. The other big issue is that the player cannot see the far side of the Dam from the other side. I had a bit of a realisation (thanks to Trevor) and have updated my prior comment, but I'd say things will be what they are.

Now if we did want the island, and could support teleporting, it'd be within the realm of reason to have the island in it's own seperate "area" with a forced perspective background of its own.
_________________
No Mr. Bond, I expect you to be re-coded!
 
View user's profile Send private message MSN Messenger
Trevor
007
007


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

 PostPosted: Wed Oct 25, 2017 2:29 pm    Post subject: Reply with quote Back to top

Out by a factor of 2?

Are you counting diameter or radius for visibility?

When I drew the circles I took the value they had at first before realising they were diameter, so I divided by 2 to get radius - that is Near-clip to Far-clip

Also, as stated on the drawing, its at 0.1 scale to fit onscreen, so 6553 = 65534 units. circles diameter is 30879.


Also, remember to use the visibility scale, if you set it to 1 then you enter the values as-is (15439), otherwise if you use a scale, lets say 0.5 then use 7719

By the way, just for comparison, here is the same map with original scale and how it worked


Another "proof" of this concept is that it looks just about right for the sphere to clip the boundry and crash consol using the move view command, just a rough guess based on the time taken to cross from the pier to the island, its about twice that time if you keep going before the game crashes.

Trev
_________________
 
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    ShootersForever.com Forum Index -> GoldenEye X All times are GMT - 8 Hours
Goto page Previous  1, 2, 3 ... 7, 8, 9, 10, 11  Next
Page 8 of 11

 
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 ]