Pov Wallwalking Translation Warning
neonfaktory
Join Date: 2002-07-13 Member: 939Members
<div class="IPBDescription">Don't make the same mistake please...</div> If Flay can code it, the First Person View Translation for wallwalking will be fantastic. But there are a few conditions I feel I should mention, based upon my observations.
First, NS <i>needs</i> a wallwalk toggle key. Press once to turn wallwalking on, press jump or the key again to turn it off. You <i>know</i> that with the added functionability of having POV rotation people are going to want to scream around the level geometry, and they will be very frustrated when they keep falling of edges because they can't hug the wall.
Second, I have made an observation about wallwalking in general. Keep in mind this is almost all pulled from AvP wallwalking experience. It is my honest belief that it is actually <i>not</i> the view orientation that confuses people when wall walking around. I think it is when the player POV moves <i>without the player's controlling it</i> that people get confused.
Now keep this in mind for a sec while I describe the AvP wallwalking model. When attached to a surface in AvP, the engine would obviously keep track of your Pitch (Up/Down) viewing angle - the kicker is that it is <i>in relation to the surface you are attached to</i>. So if you are on flat ground, looking up <i>in relation to the surface you are on</i>, is actually looking up. But if you are on the cieling, looking up, <i>in relation to the cieling surface</i>, is actually looking down.
That said, the problem with the AvP wallwalking model ties these 2 points together. It happens when you are wallwalking and you <b>move on to another surface/polygon</b>. What the engine does is:
1. Translates your Roll accordingly. It <i>needs to do this</i> - it's what keeps you rotated so your feet are on the cieling if you happen to be attached to the cieling. Imagine you are inside a cylinder, a big tube, and you are looking down the shaft of it. The Roll effect is shown when you start strafing - you move in cirlces, and as you move on to all these newly angled surfaces, the engine adjusts your Roll so looking "up" always points to the center of the tube.
2. <b>THE PROBLEM</b> It <i>also</i> translates your Pitch (Up/Down view angle) in the same fashion. This is BAD. This is what I mentioned in my first point and what confuses people. In all FPS games, unless there is a "lean left/right" action, you have no control over your Roll. The mouse controls Up/Down (Pitch) and Left/Right (Yaw) movement, but no "rotating", or Roll movement control, so it doesn't matter that the engine auto-translates Roll.
But your Pitch is half the control your mouse provides! When the engine "takes control" of your Pitch and auto-translates it so it matches the angle of the new suface you are on, <b>people get confused</b>. AvP did this and it was my main problem with it, as well as the main source of confusion, imo.
So what I say is <i>retain</i> the player's pitch <b>unless doing so will put the angle outside the acceptable view range</b> (straight up/down in relation to attached surface). A good example is if you are standing on flat ground as a Skulk. You look straight up and proceed to Leap up to the cieling. When you attach to the cieling, 2 things can happen:
AvP way: The engine takes control of your view and says "On the last surface you were on (the floor), your Pitch was 180 degrees (straight up), so in relation to the new surface (the cieling) FORCE MOVE the view to 180 degrees (looking straight down)". In the end, the player is confused because he WAS just looking straight up, but for some reason is now looking down at the ground.
My suggested way: Player <i>was</i> looking up, so the player remains looking up - no confusion.
If you understand where I'm coming from, you can imagine how crazily confusing it would be to run straight over a ridged surface in the AvP system. I would hope we can avoid this in 1.1. SO, I hope Flayra gets a chance to read this and we see an improvement in the system for NS <!--emo&:)--><img src='http://www.unknownworlds.com/forums/html/emoticons/smile.gif' border='0' style='vertical-align:middle' alt='smile.gif'><!--endemo-->.
First, NS <i>needs</i> a wallwalk toggle key. Press once to turn wallwalking on, press jump or the key again to turn it off. You <i>know</i> that with the added functionability of having POV rotation people are going to want to scream around the level geometry, and they will be very frustrated when they keep falling of edges because they can't hug the wall.
Second, I have made an observation about wallwalking in general. Keep in mind this is almost all pulled from AvP wallwalking experience. It is my honest belief that it is actually <i>not</i> the view orientation that confuses people when wall walking around. I think it is when the player POV moves <i>without the player's controlling it</i> that people get confused.
Now keep this in mind for a sec while I describe the AvP wallwalking model. When attached to a surface in AvP, the engine would obviously keep track of your Pitch (Up/Down) viewing angle - the kicker is that it is <i>in relation to the surface you are attached to</i>. So if you are on flat ground, looking up <i>in relation to the surface you are on</i>, is actually looking up. But if you are on the cieling, looking up, <i>in relation to the cieling surface</i>, is actually looking down.
That said, the problem with the AvP wallwalking model ties these 2 points together. It happens when you are wallwalking and you <b>move on to another surface/polygon</b>. What the engine does is:
1. Translates your Roll accordingly. It <i>needs to do this</i> - it's what keeps you rotated so your feet are on the cieling if you happen to be attached to the cieling. Imagine you are inside a cylinder, a big tube, and you are looking down the shaft of it. The Roll effect is shown when you start strafing - you move in cirlces, and as you move on to all these newly angled surfaces, the engine adjusts your Roll so looking "up" always points to the center of the tube.
2. <b>THE PROBLEM</b> It <i>also</i> translates your Pitch (Up/Down view angle) in the same fashion. This is BAD. This is what I mentioned in my first point and what confuses people. In all FPS games, unless there is a "lean left/right" action, you have no control over your Roll. The mouse controls Up/Down (Pitch) and Left/Right (Yaw) movement, but no "rotating", or Roll movement control, so it doesn't matter that the engine auto-translates Roll.
But your Pitch is half the control your mouse provides! When the engine "takes control" of your Pitch and auto-translates it so it matches the angle of the new suface you are on, <b>people get confused</b>. AvP did this and it was my main problem with it, as well as the main source of confusion, imo.
So what I say is <i>retain</i> the player's pitch <b>unless doing so will put the angle outside the acceptable view range</b> (straight up/down in relation to attached surface). A good example is if you are standing on flat ground as a Skulk. You look straight up and proceed to Leap up to the cieling. When you attach to the cieling, 2 things can happen:
AvP way: The engine takes control of your view and says "On the last surface you were on (the floor), your Pitch was 180 degrees (straight up), so in relation to the new surface (the cieling) FORCE MOVE the view to 180 degrees (looking straight down)". In the end, the player is confused because he WAS just looking straight up, but for some reason is now looking down at the ground.
My suggested way: Player <i>was</i> looking up, so the player remains looking up - no confusion.
If you understand where I'm coming from, you can imagine how crazily confusing it would be to run straight over a ridged surface in the AvP system. I would hope we can avoid this in 1.1. SO, I hope Flayra gets a chance to read this and we see an improvement in the system for NS <!--emo&:)--><img src='http://www.unknownworlds.com/forums/html/emoticons/smile.gif' border='0' style='vertical-align:middle' alt='smile.gif'><!--endemo-->.
This discussion has been closed.
Comments
The best model I've seen is one that has the 'current roll' constantly adjusting towards the 'wanted roll' at a fixed, settable rate. I.E. If you keep bouncing between a wall and the floor, it'll tend to 'catch' half-way between with a little jitter instead of flickering wall-floor-wall-floor.
Couple that with a simple mechanic of calculating the player's new pitch, roll, and yaw to match their old <b>vectors</b> instead of their old angles and the other problem with AvP goes away.
Basically, the AvP folks just used the vectors for the surface normals to calculate a rotation matrix they constantly applied to the player's view and movement. What they should have done is keep a fixed 'rotation matrix' that as the player moved to a new surface they calculated the adjustment to make to keep the player's view <i>vectors</i> as close to the same as possible, not their <i>angles</i> like they did. They mixed angle and vector math, not good. Pure angles or pure vectors is generally the rule, the two don't mix directly.
The model will look as though its hanging from its feet but the players point of view will be normal.
I also got very confused by the AvP wall walking. And many times I had to let go from the surface just to figure out what was up. More often than not I fell from the ceiling.
Thanatos.
The model will look as though its hanging from its feet but the players point of view will be normal.
I also got very confused by the AvP wall walking. And many times I had to let go from the surface just to figure out what was up. More often than not I fell from the ceiling.
Thanatos. <!--QuoteEnd--> </td></tr></table><span class='postcolor'> <!--QuoteEEnd-->
Check the changelog - it says *optional* view rotation.
You try looking up and then do a 180 onto the ceiling still looking "up" and you'd be looking down.
I do, however, completly agree that "you look up on the floor, so when the ceiling is the floor you are looking at the new ceiling, which was originally the old floor." is as confusing as trying to understand what i just typed. <!--emo&:p--><img src='http://www.unknownworlds.com/forums/html/emoticons/tounge.gif' border='0' style='vertical-align:middle' alt='tounge.gif'><!--endemo-->
with what you suggested you look up to the ceiling, you stay looking up to the ceiling; instead of looking down on the marine. -edit- which is a very good thing.
PS: Dont ask, i wont explain. Too, difficult... must, retain... brain... *BOOM* *splatter**splatter*...*splatter*
And Remember:
They are playtesting it, we are not. If it's too confusing for them, they'll fix it, so don't worry.
In response to Kaniran, I'm glad to hear that its at least been discussed. It wouldn't need to be bound to Capslock, btw, because it'd be a trivial matter to have it toggle for any key, not to mention HL obviously has toggleable commands. And besides, that'd be totally lame if you could only bind wallwalk toggle to CAPS... I use that for voice com <!--emo&:p--><img src='http://www.unknownworlds.com/forums/html/emoticons/tounge.gif' border='0' style='vertical-align:middle' alt='tounge.gif'><!--endemo-->
edit: oh and if you look in the suggestions and ideas forum, flayra said explicitly that if he got the view rotation to work, itd be optional to use or not. this change is mainly so skulks dont look like their running on their backs while on the ceiling.
I LOVE the avp style for wallwalking. I agree it might be hard for some to get use too, so it should be disabled by default.
edit: oh and if you look in the suggestions and ideas forum, flayra said explicitly that if he got the view rotation to work, itd be optional to use or not. this change is mainly so skulks dont look like their running on their backs while on the ceiling. <!--QuoteEnd--> </td></tr></table><span class='postcolor'> <!--QuoteEEnd-->
alias wallwalk wallwalkon
alias wallwalkon "-duck;alias wallwalk wallwalkoff"
alias wallwalkoff "+duck;alias wallwalk wallwalkon"
bind <key> wallwalk
It's good for when you want to drop <i>just</i> that little bit.
You have to remember from a gaming POV, that the aliens cope well with it (in the movies, games etc) because they would naturally have a far better sense of spatial awareness than a human, and because if you were <i>really</i> the alien, you'd be able to turn your head, and 'feel' the fact you're upside down/sideways/whatever. Whereas in a game, you have neither of these things.
However, you can give the impression of this by simply not having the view rotate, because the model will <b>look</b> to that poor marine like the skulk is rapidly running across the roof towards him, whilst it'll be nice & easy for the skulk player to keep track of where the marine is....
Just my 3 cents (I get one more, I'm special)