Outerra forum

Outerra Engine => Development screen shots and videos => Topic started by: cameni on June 09, 2010, 01:39:02 am

Title: Dirt Roads
Post by: cameni on June 09, 2010, 01:39:02 am
New update on making another type of roads in the engine - dirt or forest roads.

http://outerra.blogspot.com/2010/06/dirt-roads.html (http://outerra.blogspot.com/2010/06/dirt-roads.html)

(http://www.outerra.com/thumbs/k270.jpg) (http://outerra.blogspot.com/2010/06/dirt-roads.html)


The planned update with runways got delayed a bit because we want to include more things there and to tune it better too.
Title: Dirt Roads
Post by: Dunlop on June 09, 2010, 03:07:02 am
Looks nice as always.

This one left me pondering with one thing: How are you going to make these roads usefull?

Let me explain, even the dirt roads should be more drivable than the plain around them, because of mud and obstructions that would be there naturally. Now it looks that in a game player would choose to drive trough the plain rather than use these roads, even with a non all-terrain ready vehicle. So how are you going to solve this?

You should also make well maintained dirt road types, with no grass in the middle and less wheel tracks and bumps. Not every place have asphalt roads and still they are almost as drivable as the asphalt covered ones.
Title: Dirt Roads
Post by: cameni on June 09, 2010, 03:46:41 am
Yes, this was just a demonstration and you're right that these aren't much useful. However, the flat road shown on one of the screenshots is actually more drivable than the surrounding terrain because it's less bumpy. The other, rougher road is more a forest road where you have trees or steep terrain at the sides, so even a such one is good as it is.

Also, there will be rocks and shrubs on the plains, and when a proper wheel model is implemented the grass will be more slippery.

The grass in the middle results from the profile used; a flatter one would raise the middle strip only mildly and there won't be any grass.
Title: Dirt Roads
Post by: helio2 on June 09, 2010, 06:23:05 am
That looks awesome. I like how it gives the whole scene a seance of intelligent inhabitants actually laying down the road infrastructure. Well done. Do you guys have like an editor u use to lay down roads and stuff? Or is it all done through text based coding?
Title: Dirt Roads
Post by: cameni on June 09, 2010, 09:02:41 am
The roads are laid down by driving along the desired path and periodically hitting the b key, as in the previous video about the roads. Hitting the key at the same place twice will build the road.
There will be an editor window where one could set the road and way point parameters such as the road type, ±height offset, road and border width, transient width and more.
Title: Dirt Roads
Post by: RaikoRaufoss on June 09, 2010, 11:22:16 am
Very nice, and at least there's room for improvment. :)
Title: Dirt Roads
Post by: Abc94 on June 09, 2010, 11:32:22 am
Looking good! :)

Quote from: cameni
And something more :cool:

(http://www.outerra.com/forum/viewtopic.php?pid=417#p417)

Was the "something more" dirt roads?
Title: Dirt Roads
Post by: cameni on June 09, 2010, 12:25:45 pm
No, those dirt roads just got in between the updates.
Something more is not yet finished :)
Title: Dirt Roads
Post by: MatthewS on June 10, 2010, 07:17:50 am
Excellent!  Please keep the blog posts coming on a regular basis...
Title: Dirt Roads
Post by: Toptag on June 11, 2010, 03:02:43 pm
I just have to say congrats on what is looking like a very promising concept. I will definitely be sticking around  to follow the progression of this. I  hope you pull this off because if you do then there will be no more need to play on the small maps we are limited to at the moment.
Title: Dirt Roads
Post by: Pyykkö Andrei on June 12, 2010, 09:13:36 am
Wait.. can you adjust this roads on how big they are and how deep they are? :P
Title: Dirt Roads
Post by: cameni on June 12, 2010, 09:33:41 am
Yes, everything is adjustable, width, depth, slant, surface roughness etc. Most of the parameters can be changed per way point, but normally you just select the parameters initially and place the way points and it will create the road.
Title: Dirt Roads
Post by: Pyykkö Andrei on June 12, 2010, 12:15:59 pm
Quote from: cameni
Yes, everything is adjustable, width, depth, slant, surface roughness etc. Most of the parameters can be changed per way point, but normally you just select the parameters initially and place the way points and it will create the road.

I see.. I was just thinking if road had bumbs in one place and was clean in another.. You know make variety in the same road but in different part :P
Title: Dirt Roads
Post by: cameni on June 12, 2010, 01:01:54 pm
I'm just making an editor window where it will be possible to change the parameters along the way. Roads in the videos have them constant, set programmatically, so there isn't the variety you mention. But the road system allows it, the possibility was just unused till now.
Title: Dirt Roads
Post by: MatthewS on June 12, 2010, 08:44:20 pm
Quote from: cameni
I'm just making an editor window where it will be possible to change the parameters along the way. Roads in the videos have them constant, set programmatically, so there isn't the variety you mention. But the road system allows it, the possibility was just unused till now.

Great flexibility!

I wonder what is the visibility of roads?  If I'm at 30,000 ft can I still see the roads below me and to what radius can the roads be seen in front/around of me?  

In FSX there is a lot of "pop up" whereby segments of the road pop up into view as you approach, I guess because FSX wants to maintain high FPS by just drawing what is nearby the aircraft.  This pop up also happens with trees and buildings.  Its really annoying because as you approach a large city you suddenly see sky scapers pop into view at about 10 NM distance.   In reality these buildings would appear as small "dots" on the horizon (assuming clear visibility) and slowly grow larger as you approach.

Please allow the user to configure separate options for the radius at which buildings/trees/clouds pop into view.  Making things like this configurable also help future proof the engine since as more powerful cpu/gpu hardware becomes available users can tweak settings to take full advantage of their new hardware.
Title: Dirt Roads
Post by: cameni on June 13, 2010, 03:32:43 am
You know, the engine wasn't meant for flight simulators originally. The approach is quite novel and different I think, but one of the primary goals was to have an underfoot detail, a seamless transitions between levels of detail and a realistic visibility. As a result we aren't using some common techniques that would make it easier but would bring the pop ups or visible LOD switches. Still, making everything smooth is not an easy task.

The LOD determination is driven by a metrics computing required texture quality on terrain tiles. Basically one specifies when the terrain tile should be subdivided - after the texture stretch is higher than a threshold. The stretching depends on terrain topology. Objects are tied to a specific tile level so they appear with it. All this is based on a metrics that is tunable by a single parameter so it can be adjusted with future hardware.

And specifically the road system can fully utilize the procedural architecture. Since the roads are essentially baked into terrain and do not have a geometry of their own, it's no performance hit during the rendering whether they exist on the terrain or not. Only when the terrain is being generated, the processing of a tile with roads consumes more GPU time.
 And since the rougher tiles where the roads would be thin like hair are large and thus stay longer in the view, it's absolutely no problem of rendering the roads even when they are hardly visible at all. The system is now tuned to roads and the moment of appearance of the wider runways is currently still visible, but this will be sorted out too.
Title: Dirt Roads
Post by: dajoun on June 13, 2010, 02:08:55 pm
you have mud version ?
Title: Dirt Roads
Post by: MatthewS on June 13, 2010, 07:15:51 pm
Quote from: cameni
Since the roads are essentially baked into terrain and do not have a geometry of their own, it's no performance hit during the rendering whether they exist on the terrain or not. Only when the terrain is being generated, the processing of a tile with roads consumes more GPU time.

Yes baking the textures seems the best way to have high detail and high performance at runtime.  FSX does not bake textures but instead overlays features such as roads, airports and "landclass polygons" at run time, hence the "popup".

Will your engine support arbitrarily shaped "texture polygons" so that features such as beaches and forests can be baked into the textures?

Also, are you developing a "world editor"?  IMHO at this early stage it's much better to NOT waste your time on a "world editor" but instead develop just a command line utility that takes as it input a file (XML?) that defines the scenery (roads,runways,texture polys etc).

I guess you already have a command line utility that been used to process what you've currently shown, so I assume your going to make that available to the community (ie give the community access to the same tools that you use).


edit: I just saw your feature page and it states that land class polys are supported, so I guess that answers my question above about texture polygons.  But also what happens at the boundary of two different texture polygons?  In some cases a modder would want a clean/hard edge (eg where a concrete airport apron meets grass).  But in other cases a modder would prefer a naturalistic blending (eg where a beach texture meets a forest texture).
Title: Dirt Roads
Post by: cameni on June 14, 2010, 02:35:55 am
Note, in fact it's not about texture baking, although that is used too for coarse tiles. Texture baking won't help you to have the asphalt thickness visible. It's more something like a geometry baking :)

Arbitrary texture polygons are supported, just now I can place a polygonal pad that levels the terrain and/or modifies the materials. It uses the same system as roads do and as such it supports transitional border areas for geometry smoothing and fractal-like material transitions.
However, it's not the same thing as the vector land class support. That one must work on a coarser level, for example if you place a polygon defining a swamp, it doesn't mean the whole area will be one swamp texture. Instead a swamp ecosystem should come in place, creating occasional islands of drier land, groups of trees and fractal mix of swamp cultures. Also the transition to the surrounding ecotypes must be neither abrupt nor a smooth texture blend, but it should be a fractal mix with definable sharpness that creates a natural-looking landscape. Along with the fact it has to work seamlessly on all scales down to the ground level view, it's one huge task awaiting me in the coming months. But the result, as I can see it in my imagination will be worth it :)

A world editor, well, we are slowly making one along the way, albeit it's a cruder version of what you are probably used to.
Most of the things are initially controlled by keyboard with parameters preset from the code, and once it's working we add a UI control. A huge advantage, in my opinion, is that the UI is written as an html page, with javascript invoking the engine functions and receiving data. This means it's easily modable and extended and we don't have to create a complex UI system to the engine. As a bonus the UI can be themed easily too.

Command line utilities are used only for one-time jobs, such as importing a model or converting terrain data.