The online racing simulator
FOV - Sense of Speed
(148 posts, started )
#1 - Juls
FOV - Sense of Speed
First post for me, be nice


I have been playing all possible racing/rally sims since a while, and I always noticed that sense of speed was a problem.
We all develop a "sense of physics": thanks to our experience in real world, we are able to say quite accurately if an object will slide, or stop, or roll, just watching it's shape, what it seems made of, it's speed.
We use this "sense of physics" when we drive a car too. Usually, you drive slower on wet road, because you know from your "sense of physics" when you are driving too fast. Even if you never slided!

In sim driving, this "sense of physics" does not apply.
When I watch friends using a sim for the first time, they just go way too fast, and crash at the first turn. Even very careful people. They can't use their experience because the most important clue we use to drive, the speed, is not properly rendered. (acceleration too is not rendered of course, but almost nothing can be done for it)
Using default FOV, if I hide the speed meter and ask people what is current speed, they always answer half of the right answer. That's why they crash, that's why they say the sim is not realistic, that's why some of them give up quickly....etc.

If I increase the FOV until the perceived speed matches the simulated speed, then people are a lot more satisfied with the sim physics, and they enjoy it (even if display is distorted). The problem is that large FOV shrinks the road in the center and quickly gives headache, and it makes more difficult to appreciate distances.

I think there is a way to improve things. To get the advantage of a large FOV without the inconvenient, using a simple pixel shader. Post is too long and boring. If you are interested tell me I will try to explain.
#2 - Juls
Yes, the LFS sense of speed is very good compared to other sims, I don't want to criticise LFS. I talk about sense of speed in sims in a general way.
All sim developpers are aware about the problem...there is a compromise between increasing the FOV to get a nicer sense of speed, and decreasing the FOV to avoid distorsion. There are even studies about the effect of perceived speed in simulators with screens covering less than 180 degrees.

Don't worry, I have been developping with pixel shaders, especially in this domain: 3D display and virtual reality.
As you know, when the frame is ready after multiple passes, you can copy it to the screen buffer, or you can add some effects using pixel shaders, like motion blur...etc. You can perfectly use a simple pixel shader to distort the view.
For 3D displays, I have been using pixel shaders for a while to interlace and distort images. Even low-end cards are able to distort view at 500 fps using pixel shaders assuming it is not too complicated.
In fact, I just realized that what I propose can be done without pixel shader, with a simple mapping on an object.

The idea is to render a view larger than the screen, with a large FOV (120-135 degrees for example), and "bend" it to fit it on your screen.
How to bend it?
Imagine your screen is not anymore flat, but becomes half a vertical cylinder, with the convex side toward you. If you map a picture on that cylinder, it is larger than your screen was. If you look at the screen, it looks as large as before, but the large FOV picture is distorted...it's center is stretched and it's side are shrinked. Center looks almost like normal 90 degrees FOV, but you can see all 135 degrees.

So the idea is to render a view larger than screen using a large FOV, and fit it to the screen using cylindrical, or better ellipsoidal mapping. This can be done with a pixel shader, or even faster, by mapping the rendered view on half a cylinder. For example Kegetys Software Triple Head is already doing this...cylindrical correction for the side displays. It just simulates a large surrounding screen using a normal screen. That's why it is simple, only a matter of projection...
#3 - Juls
Here is a simple demo. I simulate it using photoshop.
First I take a 135 degrees FOV screenshot two times larger than my screen (2*1280 x 1024) Two times larger just because it was easier for me...it can be done with less.
http://cracovia.free.fr/lfs_large_135.jpg

Then I map it on a kind of cylinder to obtain something which has the size of my screen (1280x1024)...other shapes should give a better, more progressive effect, things like red light and messages should be added after the distorsion:



You get all the 135 degrees FOV without the inconvenient: the road is not shrinked in center. 80% of the picture looks exactly like the normal 90 degrees FOV view...the sense of speed is given by the cylindrical distorsion on the sides.
Compare with the view you get in LFS on a 1280x1024 when you want 135 degrees FOV:


I think the difference is big. Such a projection can be done in a few 1/1000ths of second by any low-end graphic card. I think it could be something new never applied in any sim...
Very interesting
Could that be done with d3dx8.dll/d3dx9.dll thing so it is usable in other games also?
Speed sense is very important in racing games and anyone who tries sims for the first time doesn't feel the speed and give up because car feels uncontrollable
#5 - Juls
Exactly.
It can be done with some d3d8.dll d3d9.dll you put in the game folder. Creating a device larger than required by the game, and adding a distorsion step at the end. But overlays like red light and text will be distorted too.
If I had time I would give it a try, maybe people who have experience with very similar thing like Kegetys could give it a try.

But it can be done inside the game too. It is simply an additional rendering step when 3D rendering is over and before 2D overlays are added. It can be added as an option with a minimum developpement, almost without any impact on the existing code. That's why I like the idea too
It does not even require a shape....simply a flat rectangle with several divisions and every vertex has special U,V coordinates...map the rendered view as a texture on that grid, and you get your distorsion.

Racing sims could be more attractive for beginners with a better sense of speed, that's sure. When I read the thread in LFS General, with this guy saying car does not hold properly, this is certainly a FOV problem and many others say so in that thread.
Motion blur doesnt increase sense of speed, it even reduces it and it feels like you are sleeping..

Juls idea is very good and it would be great if devs or somebody else made that possible..
It may not look like inboard video from a real car but lfs is a game made for humans and it needs to create an illusion of going fast..
Most people that are saying that sense of speed is good would shit their pants if a GT driver took them round a track in a real car..
Quote from fakeman :Most people that are saying that sense of speed is good would shit their pants if a GT driver took them round a track in a real car..

That's totally different.

Taking a turn in LFS, and then taking an exact same turn in life wouldn't even be comparable. If you could "live" in LFS, then I bet it would feel right, but everybody knows that your eyes are not substitutes for everything your body feels while in a real car.
Quote from fakeman :Motion blur doesnt increase sense of speed, it even reduces it and it feels like you are sleeping..

Juls idea is very good and it would be great if devs or somebody else made that possible..
It may not look like inboard video from a real car but lfs is a game made for humans and it needs to create an illusion of going fast..
Most people that are saying that sense of speed is good would shit their pants if a GT driver took them round a track in a real car..

I agree with Nuse (!)

You don't really think that any screen setting/view setting is going to scare you like a real car could, do you?
#9 - Juls
Quote from TAYLOR-MANIA :Okkkaaayyy then...

Anyway, I just don't understand how the 'sense of speed is given by the cylindrical distortion on the sides' as you said so yourself Juls...
If anything, it would be harder to determine the speed with this cylindrical distortion on the sides, as the sides will be giving a different sense of speed to the part in the center, ya know?
It seems like it's merely just a way of displaying more field of view on the screen, but instead of a shrunken center, it's compensated by warping the sides. With regards to sense of speed though, cylindrical distortion cannot really help, can it?
Nonetheless, as i already said, it is a good idea as it's probably better to have distorted sides than a shrunken center as it is now when using more FOV.

Sense of speed is given by lateral view...when objects move quickly on the sides, you feel more speed. When you increase FOV, you see more of the lateral view....objects are going faster on the sides of your screen, so you feel more speed.

With distorsion you have two solutions:
- Example I did: take a large FOV view, zoom center, shrink sides...trying to reduce sense of speed brought by large FOV as little as possible. Once again this is a compromise between nice center and sense of speed. But it can be better than standard undistorted view. Here objects slow down horizontally when they reach sides, but keep their vertical speed vertically (walls spread vertically). This should be enough to keep a lot more sense of speed than default view.

- take a small FOV view, like 50 degrees, shrink a bit the center so that it looks like 90 degrees FOV, and use additional place you have on the sides now to stretch sides along X....and objects will move faster on the side-> you get something like 90 degrees FOV in the center but with increased sense of speed.

And using different distorsions, you can imagine zooming the center, shrinking the middle, and leaving sides unchanged....many possibilities.

Of course, difficult to know if it works nice without a video.
Quote from sinbad :I agree with Nuse (!)

You don't really think that any screen setting/view setting is going to scare you like a real car could, do you?

Of course not but if it can improve the feel than it is good..
Humans should not adapt to a "speed presentation". It should be the other way around..if you get what I mean..When you record yourself with a camera doing 100kmph in a car and then watch it, it looks slower than you remember it - like in LFS, so im saying that LFS should try to somehow create an illusion of speed to the player instead of producing camera like image..

@TAYLOR-MANIA
When you are driving for real your vision doesnt blur, maybe if it blurred the sides of a screen or when exposed to many G-forces blurred the screen...
No graphical trickery will replace the lack of variable objects and textures in lfs.
sry, i don´t have time for a longer post, but this idea is very interesting.

I once found a website with a "fish-eye" quake used exactly a "distorted" screen tu achieve higher FOV. I donßt have a link here right now, maybe you could google it.
#13 - Juls
I think it is the contrary....no texture will help you feeling the speed you miss because of a reduced FOV. Take the richest game, put the FOV to 60 degrees so that it looks real...no more speed.

This problem impacts all racing sims, and they have to increase FOV even in the most graphically advanced games...last F1 game I saw on PS3 has at least 110 degrees FOV.
I think Juls' idea does seem interesting. But it's hard to tell without actually trying it .
#15 - Juls
Yes, this trick I propose is to simulate a fisheye lens...cylindrical or spherical why not.
I found this fisheye quake.
Here there are some screenshots. On the left you can see what happens when FOV is increased in the game. Center shrinks.

On the right he uses some distorsion to keep center almost unchanged, and manages to put more and more FOV in a similar way I did, but this time with spherical distorsion (I used cylindrical).
http://strlen.com/gfxengine/fisheyequake/compare.html

On the main page he says it gives nice sense of speed.

Edit: Now, I remember my TV can do the same thing....there is a display mode stretching the center and shrining the sides only along horizontal axis, like a cylindrical lens...or doing the contrary, don't remember. It gives more presence.
-
(N I K I) DELETED by N I K I
#16 - Gaas
Very nice idea, and doesnt require to do much work with existing code...really i hope Scawen sees this!
IF not someone please PM him
I like the idea, and i believe it could increase feel of speed (not that we can't feel speed in LFS, but it can be better)
I really like higher FOV settings though i read many dislike them and giving them headaches. I really need the wider angle to give me better awareness (i use 21" CRT). It also helps to give more sense of speed. Mainly i'm just WAY better when i use a wider angle. At the moment its around 100, on a big Plasma screen (my teammate always uses his 100cm Plasma to play LFS which is less than 1 meter away) the angle is set even higher, but it also seems it needs to be higher because fov100 on that widescreen plasma seems like fov 80 on a 21" CRT. So its more around 120 now to compensate for that. Also widescreen modes do help alot since u see more on your left/right. It's even usefull for 4:3 ratio screens, i now play in 1920x1080 on my 21", i really don't need to see 33% of sky and 33% of incar details with only 33% of road which is of great importance. Now its more like 25% air 50% road 25% incar so there is more detail on that road-area.
I think this would be a great idea. If it's possible, however, I think the effect should be gradual and not simply set. Let the FOV be standard while sitting still, and as you go faster a sort of "tunnel" vision sets in.
Great idea Juls.
But to prevent image distortion, the cylindrical projection should be applied on both (XY) axis, not just on one (X), just like in fisheye quake.
Effect should be of course screen aspect ratio dependent, to have less distortion on wide screen displays.
It should be a piece of cake for Scawen to implement this.
It's an interesting idea but I'd like to see it in action before I comment on how useful it would be.

One thing worries me though...my TV uses this sort of non-linear stretching to fit a 4:3 aspect ratio picture to the 16:9 screen. It looks fine until you get a slow panning shot. Objects appear on one side of the screen moving very fast, then decelerate to a 'normal' speed in the centre, then accelerate again as they move off the other side. It looks a bit odd.
I realise that this is the whole point of the mapping in LFS but it really does look odd to me, and I'm not sure I could get used to it.
#23 - DeKo
Quote from StewartFisher :It's an interesting idea but I'd like to see it in action before I comment on how useful it would be.

One thing worries me though...my TV uses this sort of non-linear stretching to fit a 4:3 aspect ratio picture to the 16:9 screen. It looks fine until you get a slow panning shot. Objects appear on one side of the screen moving very fast, then decelerate to a 'normal' speed in the centre, then accelerate again as they move off the other side. It looks a bit odd.
I realise that this is the whole point of the mapping in LFS but it really does look odd to me, and I'm not sure I could get used to it.

haha yeah had a similar effect watching a football game at a mates, was horrible to watch.
Quote :Let the FOV be standard while sitting still, and as you go faster a sort of "tunnel" vision sets in.

Flatout 2 uses that trick, and while it does give you a greater sense of speed, it also feels very strange as the FOV adjusts. It's an arcade game, so the effect is dramatic and arcadey, but I feel skeptical that you could pull this off realistically for a sim like LFS. But who knows?

Quote :t's an interesting idea but I'd like to see it in action before I comment on how useful it would be.

agree.

I also agree with Taavi that more detail/objects in the tracks would help. Even some more proper grass (not just textures) in patches on the edges of the track could give you a better marker for sensing speed. Tracks in LFS do feel and look a bit flat sometimes, especially when you see a game like RBR and all that grass and vegetation. Not that the LFS tracks should look like RBR...
We have 5 camera views now, maybe we need 6th.
We have cockpit, follow, TV, up-down and free view, maybe it's time for new one, this one (i have no good idea for name)

FOV - Sense of Speed
(148 posts, started )
FGED GREDG RDFGDR GSFDG