ROAM Planet rendering

A place to show off your latest screenshots and for people to comment on them. Only start a new thread here if you have some nice images to show off!
Post Reply
nickschot
Gnoblar
Posts: 2
Joined: Tue Jul 08, 2008 6:03 pm

Re: ROAM Planet rendering

Post by nickschot »

Thats looking very good! Way better than what's in the current demo app.

Cant wait to see more :D.

PS. What those Infinity guys did is awesome too. Theyve been working on that for years now (I've been following them for years lol).
User avatar
DavlexDesign
Orc
Posts: 400
Joined: Thu Apr 23, 2009 7:23 am
Location: Australia
x 19
Contact:

Re: ROAM Planet rendering

Post by DavlexDesign »

G'day guys,

Just another little progress update picture ....
.
Shot of the planet from out in space
Shot of the planet from out in space
.
Just been playing around with the atmosphere shader a little, I think it is coming along OK.

Alex
User avatar
Xypher
Gremlin
Posts: 180
Joined: Tue Jun 29, 2004 1:35 am
Location: Richmond, IN; USA
Contact:

Re: ROAM Planet rendering

Post by Xypher »

Still following your project, and its never disappointing hitting this thread. Gorgeous!
Ubuntu Studio 13.04 64-bit
GCC 4.8.1
Ogre3D 1.8.1
AMD Athlon FX 8120 @4Ghz
16Gb G.Skill Ripjaws (PC3-12800)
EVGA GeForce 560 Ti FTW

http://www.hellbatgames.com
User avatar
AWM Mars
Halfling
Posts: 56
Joined: Mon Apr 19, 2010 9:28 pm
Location: Wiltshire, England
x 1
Contact:

Re: ROAM Planet rendering

Post by AWM Mars »

Website now says 74% complete :)
Politeness is priceless when recieved, cost nothing to own or give, yet some cannot afford.
User avatar
Sovaka
Greenskin
Posts: 109
Joined: Sat Dec 20, 2008 6:26 am
Location: QLD, Australia
x 3
Contact:

Re: ROAM Planet rendering

Post by Sovaka »

AWM Mars wrote:Website now says 74% complete :)
It has said 74% for a little while now :p

Just a general update... We are having issues with getting a terrain quality we like.
We go one way and we have a huge client side cache (in excess of 2GBs)
We go another way, and we use a lot of RAM and there is noticeable terrain morphing.
Yet a different way, we eliminate the morphing and the client side cache, but the terrain isn't quite where we want it.

We are getting there, and we have decided which way we want to go, its now just a matter of refining the terrain a little.

Hopefully we should have further updates in a week or so.
User avatar
DavlexDesign
Orc
Posts: 400
Joined: Thu Apr 23, 2009 7:23 am
Location: Australia
x 19
Contact:

Re: ROAM Planet rendering

Post by DavlexDesign »

G'day guys,

Sovaka is right, we have gone through a number of variations on the terrain engine, some have merits in some aspects and demerits in others.
We're trying to get the nicest terrain possible with the least amount of data storage possible, I've tried all manner of traditional and non traditional methods, and I always seem to go back to the original concept, as it seems to be the most efficient for resource usage, the only problem with my original concept was that the terrain had no idea what was coming up next with the next split/lod, and that would quite often cause quite a large morph between its creation point, and its final destination point. I tried increasing the resolution of the mesh from further away, and it does help, but then the engine has trouble keeping up with higher speeds of camera movement, so I end up with the effect that the terrain would need to catch up, and I could be at the ground, and all of a sudden, the terrain would morph up towards the camera (which looks quite ugly in my opinion), if the camera moves slowly (say under 120 kph) it's fine, but this will be a space simulation, we will be flying space ships over the terrain at much faster speeds than that.

Now I have a solution in place, which sort of does a preemptive pass through the terrain topology calculations, and it works, I'm just refining the forward pass mechanism so as not to impact on the frame rate so much (I'm currently doing it in a brute force way, to see if the concept is sound before I waste time refining it).

The whole reason for this work is to enable me to create (on the fly) a system that can handle the rivers (with waterfalls) and custom terrain data and stuff like that, and make it easier to place this stuff without blowing out the storage requirements, as well as make the terrain more Physics engine friendly.

We are close, really close.

Alex
User avatar
AWM Mars
Halfling
Posts: 56
Joined: Mon Apr 19, 2010 9:28 pm
Location: Wiltshire, England
x 1
Contact:

Re: ROAM Planet rendering

Post by AWM Mars »

Thank you for the update, it certainly sounds exciting and a lot of hard work. I'm sure it will be a credit to you.
Politeness is priceless when recieved, cost nothing to own or give, yet some cannot afford.
User avatar
SpannerMan
Gold Sponsor
Gold Sponsor
Posts: 446
Joined: Fri May 02, 2003 10:05 am
Location: UK
Contact:

Re: ROAM Planet rendering

Post by SpannerMan »

This is a very exciting forum topic guys, I wish you both all the best!
DavlexDesign wrote:... if the camera moves slowly (say under 120 kph) it's fine, but this will be a space simulation, we will be flying space ships over the terrain at much faster speeds than that...
Would it be possible to simply turn down the detail when moving at high-speeds automatically, and then increase it again at slower speeds? Current game engines do similar, for example with GTA IV its very noticeable when you are on your bike hurtling down the street. Because your are going so fast, they need to swap models and textures in and out much faster than normal, so to minimise system hiccups during all this loading they employ a blur shader to hide it but you can see the quality of the models and everything has been decreased. As you slow down, the blur shader fades away and the higher detail resources are re-employed.
User avatar
DavlexDesign
Orc
Posts: 400
Joined: Thu Apr 23, 2009 7:23 am
Location: Australia
x 19
Contact:

Re: ROAM Planet rendering

Post by DavlexDesign »

G'day SpannerMan,

Yeah, I will probably employ such methods as you mentioned there ....
Would it be possible to simply turn down the detail when moving at high-speeds automatically, and then increase it again at slower speeds?
But If I can get it pretty nice without those methods, and then employ them, all the better I think.

One little update.
I was looking at my internal merge split algorithms, and noticed that I had missed out on an obvious check (an early out), so I implemented it in the split algorithm, and my frame rate upped by a minimum of 25%, and in some instances a massive 75%, crazy hay !!! something so obvious and yet I've been pouring through this code for ages, and didn't see it. I'll be pouring through it a little more carefully now I think, such a little change for such a great gain.

regards

Alex
User avatar
DavlexDesign
Orc
Posts: 400
Joined: Thu Apr 23, 2009 7:23 am
Location: Australia
x 19
Contact:

Re: ROAM Planet rendering

Post by DavlexDesign »

G'day again,
Here I have a picture showing the one pass Atlas terrain shader I've created.
The One Pass Terrain shader using an atlas
The One Pass Terrain shader using an atlas
Which now sort of blends the edges using a small amount of noise to break up the sharp edges normally produced. This shot shows a number of the different normal maps all in the one shot, as well as a texture Atlas used for color, The atlas I've made isn't the final draft (it's actually pretty rough and ready) but it is just a proof of concept one. I'll spend a bit more time creating a really nice and varied one for the release of the next demo.

Hope you like it.

Alex
User avatar
DavlexDesign
Orc
Posts: 400
Joined: Thu Apr 23, 2009 7:23 am
Location: Australia
x 19
Contact:

Re: ROAM Planet rendering

Post by DavlexDesign »

G'day guys,
I think I've nearly got this shader nailed,
Revision 2 of the One Pass Terrain Shader
Revision 2 of the One Pass Terrain Shader
It doesn't hit too hard on the frame rate any more, and the lighting is allot more subtle and shows off the normal mapping better at all angles of the sun light hitting it.
Soon I'll show you how the terrain looks with a few of the nice bits added in.

Alex
User avatar
DanielSefton
Ogre Magi
Posts: 1235
Joined: Fri Oct 26, 2007 12:36 am
Location: Mountain View, CA
x 10
Contact:

Re: ROAM Planet rendering

Post by DanielSefton »

Awesome.

Just one thing... How come the terrain looks so... Dark? It looks like night time (maybe it is?)

Turn up the sunlight, lots, I wanna see it in all its glory :) Some inspiration:

http://www.BLOCKED.com/wp-conten ... dscape.jpg
User avatar
DavlexDesign
Orc
Posts: 400
Joined: Thu Apr 23, 2009 7:23 am
Location: Australia
x 19
Contact:

Re: ROAM Planet rendering

Post by DavlexDesign »

G'day Daniel,
Yeah, I see what you mean, I will upload some better pics, but when I get home from work mate, as the work machine doesn't have shader capability, the engine still runs on the work machine, but only at around 40fps, as compared to the 180 - 300 fps I get at home on the development machine (2 ghz Core 2 cpu, 3gb RAM, XP sp3, GT9800 video).
The reason I'm showing it with the sun at acute angles like that is to sort of show off the normal mappings' subtle shading attributes, because when the sun is directly above your head, the shading is allot more subtle, and harder to notice, I suppose I should try to create more cliffs in my terrain, or I could just hunt around allot more to find a good cliff to take a picture of, but the planet is so damed big, it takes ages to circumvent it, (667544.2144301 meters radius) I know it's smaller than Earth by around 10x, but it is plenty big enough I think, and the reason I chose that radius, is that it fits in nicely with the paging algorithm, it gives me clean numbers when I get close to the surface to work with....

Radius of planet ................................................................ 667544.2144301
length of 1 side of the unit cube face after blowing it up to a sphere.... 1048576.0
==================================================
Now if I break that face up into 8x8 chunks and have those chunks broken up into 64x64 vertices (actually 65x65, but the 65th vert is actually an edge), I end up with chunks that can be evenly split to give me numbers like ...

4096, 2048, 1024, 512, 256 .... down to .... 1, 0.5, 0.25, 0.125, 0.0625, etc ..... distance between vertices.
==================================================
So you can see, the numbers are nice and clean, and I can debug easier with numbers that make sense to me.

alex
User avatar
DavlexDesign
Orc
Posts: 400
Joined: Thu Apr 23, 2009 7:23 am
Location: Australia
x 19
Contact:

Re: ROAM Planet rendering

Post by DavlexDesign »

G'day guys,

I just wanted to clear something up for you guys who think this will only be a commercial project.

You guys are sadly mistaken, true there may be a commercial version for specialist purposes, but the main project is for the masses, I think it is only fair seeing I'm using allot of opensource (namely Ogre and other libraries out there). I have spent allot of brain power on this thing, and lost allot of sleep over it, so I'm not going to release it too soon, I want it stable and user friendly before I let it out. There is nothing worse than getting a piece of software (library or what ever) and find it's more trouble than it's worth.

So rest assured, you guys will get your hands on it, but just be a little patient with me, I only have 24 hrs a day, just like the rest of you.

Alex
User avatar
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 20570
Joined: Thu Jan 22, 2004 10:13 am
Location: Denmark
x 179
Contact:

Re: ROAM Planet rendering

Post by jacmoe »

DavlexDesign wrote:I just wanted to clear something up for you guys who think this will only be a commercial project.
I think you're referring mostly to my comment, but do not worry.
My hat is off to you, and you call the shots here.
No rush.
Quality takes time.
I am amazed by the scope of this project! :)
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
User avatar
DavlexDesign
Orc
Posts: 400
Joined: Thu Apr 23, 2009 7:23 am
Location: Australia
x 19
Contact:

Re: ROAM Planet rendering

Post by DavlexDesign »

G'day jacmoe,

Sorry mate, having a bad day, and you're right, this project is huge.
Even at those sizes, the engine still only uses around 200 mb RAM on the CPU and around 50-70 mb on the GPU including the wasteful clouds textures (which will disappear and be replaced by my Fluid sim stuff).
As for the placement of flora on a planet this size, well, I've had to come up with some real interesting stuff to make this happen efficiently, and be consistent across the board (meaning the same on two different machines) I still have some issues with RAM usage, but I will have that solved very shortly.

I know Sovaka is hanging out for an editor (which I'm also working on) so he can start placing and editing stuff on the surface in engine. It's coming mate :D .

I also have other commitments with other people too with regards to this engine, and I'm hard at that too (burning the candle at both ends here).

It's all sort of really good though, as this thing is really exercising my nut allot.

Alex
User avatar
SpannerMan
Gold Sponsor
Gold Sponsor
Posts: 446
Joined: Fri May 02, 2003 10:05 am
Location: UK
Contact:

Re: ROAM Planet rendering

Post by SpannerMan »

It really is looking and sounding awesome Alex, please keep the updates flowing!

I would guess that you have many people watching this topic closely, and even though we don't always make a post here in reply to your updates, rest assured we are wishing you the best!
palaslet
Halfling
Posts: 61
Joined: Tue May 25, 2010 7:52 am
Location: Fredrikstad, Norway

Re: ROAM Planet rendering

Post by palaslet »

Hi Alex,

Do you have any thoughts on how to manage the state of the objects on a planet?

What if I want to harvest a tree or move a rock? I know there's some challenges on synchronizing the actual event through a networked environment. And how would you ensure the state of the object is "remembered" until the next time someone comes close enough for it to be rendered.

Following this thread for some time now, I know you've thought about this already. It would be exciting to read your thought on how to implement it.

We're all very eager to see the next demo :)

"A gem is not polished without rubbing"
"It seems that perfection is reached not when there is nothing left to add, but when there is nothing left to take away"
User avatar
Sovaka
Greenskin
Posts: 109
Joined: Sat Dec 20, 2008 6:26 am
Location: QLD, Australia
x 3
Contact:

Re: ROAM Planet rendering

Post by Sovaka »

Hopefully I can answer your question sufficiently palaslet...

We have in mind a sort of 'Property Map' that dictates what goes where basically. This map will keep track of all the trees for example... Then when a tree is cut down/destroyed, this map is updated and that tree is removed from the map. The server is then flagged with an update on this map and only store which part has changed. As to save for bandwidth etc.
Then when a player is coming into range of this missing tree (visual), the clients predownloaded property map of the planet is then updated with the property map changes from the server. So then once the player is in visual range of where this tree was... It will not be there.

Same thing will go for state changes too.
For example, if there was a violent explosion nearby that PUSHED the tree to the ground, then the property map is updated with the trees new state, and updated accordingly.
Or replaced by tree stumps in the prior scenario of having been cut down etc.

We have had a lot of fun figuring out how all this stuff was going to be tracked.
We are in the process of getting all the flora in there now, so this property map will be put through its paces to ensure it will do the job.

If I have missed anything, I am sure Alex will correct me :)

And just a fun fact for those playing at home... ;)
The Atmosphere has been THE HARDEST to implement on the scale we are doing thus far.
palaslet
Halfling
Posts: 61
Joined: Tue May 25, 2010 7:52 am
Location: Fredrikstad, Norway

Re: ROAM Planet rendering

Post by palaslet »

Thanks Sovaka,

this would sound like a feasible solution, but throughout a hypothetical gaming experience using this engine for a MMORPG this will present a huge amount of data going over the wire.
What if I'm a lumberjack and cut down a large portion of a forest, or if a city gets bombed. All of a sudden you get thousands or hundreds of thousands of objects that has state changes.
Then we do a flyover in an airship of some kind at 300 km/h. I think such scenario will do havoc on the bandwidth.

You might want to think about some sort of caching. Maybe extend the paging grid with an outer layer of 'Property Map' pages. That way you could get a few seconds extra to get the property map back from the server before you need to render it. But you probably have a nice solution already.

The reason why I nag about this is that it would be a really great feature, but it would also be useless if it decrease the quality of this fine piece of procedural engine.
"It seems that perfection is reached not when there is nothing left to add, but when there is nothing left to take away"
ultramedia
Halfling
Posts: 62
Joined: Thu Dec 07, 2006 3:02 pm
Location: QLD, Australia
x 2
Contact:

Re: ROAM Planet rendering

Post by ultramedia »

Hey Guys,

Sensational work with your planet engine, especially the terrain texturing above. I tried to develop something similar a couple of years ago but never could seem to get it off the ground (hah! get it? off the grou... nvm). Ahem, anyways I just wanted to say I think it's pretty cool that you're thinking about making your system available in some form to people like me who haven't been able to do what you have.

So then that made me wonder, I doubt there's anything I can do to help with the coding/shader side of things, but would you like me to try and make some 3D models for you to use in a demo? I got a few bits and pieces on one of my websites - http://www.showmethatagain.com - if you see anything there you like the look of or if you've got some ideas about custom stuff you might want give us a yell.

Now hmmm... wishlist stuff that'd be nice to see down the track...

- vegetation like what they have in Outerra (http://www.outerra.com) cos *damn*
- also their procedural roads are pretty freaky nice

- the ability to blend in height maps at certain coordinates so you can create custom locations easily
- one day down the track terrain sculpting tools :)

Anyways, thanks for sticking at it all these years, you guys are legends :)
User avatar
Sovaka
Greenskin
Posts: 109
Joined: Sat Dec 20, 2008 6:26 am
Location: QLD, Australia
x 3
Contact:

Re: ROAM Planet rendering

Post by Sovaka »

Cheers for the feedback guys! We are working on our own little list to get the next release out.
Once that is done, we can then work on additional features :)

palaslet
We do have a client side cache that handles all the client side changes. The client also has its own property map that it updates independently of the server.
We haven't decided when the server will be updated, IE frequency. But for things like explosions, we take the same 'blast radius' and coords of the explosion, and just scrubs those from the server side property map.

ultramedia
You have done some nice work there :)
I see you have dabbled a little in MV... Get far with it?
Now in regards to vegetation... This is what we are working on atm. We have to design a paging system that will work efficiently with our pages of terrain. No simple feat considering each pixel is a different direction from the center of the planet.
But what we aim for is Crysis level vegetation in this engine... We have looked at SpeedTree as an option and in turn, OgreSpeedTree :p
While this will probably be the way we will go in the end, we have to save up some coin first ;p
That being said however, we also want DYNAMIC growable vegetation too... IE, Grass field burns down, it slowly grows back after 14 days etc.
Same for destroyed trees... We actually want them to GROW, not just change scale of the mesh from small to large... but grow.
I think this is a bit ambitious and MAY not go this path... Hence SpeedTree as the fall back.
With this kind of engine, we can't not have procedural roads ;) But this will come down the line as it isn't a requirement just yet.
With the blending of heightmaps... We haven't exactly looked at this and it is unlikely we will do this, but it is possible, tho not required just yet :)
Sculpting tools will be in the release AFTER the release that is coming :D
Yes, we do have a roadmap of what we want in there now, compared to what we want in there overall.

In regards to your talents... We are okay atm, but down the line once this starts to ramp up... We will be looking for people no doubt :)


Now you all are probably thinking we should put up a feature list of what we want in there, what we would like in there and some of the other fluffies...
However if we do that, how can we surprise you? :D
Also its a little bit of corporate secret stuff as we don't want our competition taking our ideas and then saying we copied them ;\
Mainly because we don't all our work trumped by cheap development houses who are just in it for the bottom line whom cares not about story or game-play.

Our goal is to bring back games of old!
mdry44

Re: ROAM Planet rendering

Post by mdry44 »

Wow dude thats great! cant wait to try it out. Thanks for sharing
ultramedia
Halfling
Posts: 62
Joined: Thu Dec 07, 2006 3:02 pm
Location: QLD, Australia
x 2
Contact:

Re: ROAM Planet rendering

Post by ultramedia »

Sovaka wrote: You have done some nice work there :)
Ta :)
Sovaka wrote: I see you have dabbled a little in MV... Get far with it?
Yeah I did a bunch of figuring out in it, got animated characters going in it and sketchup buildings, but struggled to get much further with it.
Two things it did do particularly well were vegetation (based on speed tree) and very large terrains generated from actual satellite data (though getting it going was like walking into Mordor...)
Sovaka wrote: We have looked at SpeedTree as an option and in turn, OgreSpeedTree :p
I'd rather not have sexy speedtree trees and not have to worry about having to sell my house for a license for it if I decide to try go commercial...

Anyways, great work, keep it up, let us know if there's anything I can do to help...
User avatar
Sovaka
Greenskin
Posts: 109
Joined: Sat Dec 20, 2008 6:26 am
Location: QLD, Australia
x 3
Contact:

Re: ROAM Planet rendering

Post by Sovaka »

ultramedia wrote:I'd rather not have sexy speedtree trees and not have to worry about having to sell my house for a license for it if I decide to try go commercial...
Well as stated in a previous post in this thread, we are designing this to be modular. So if you don't like one aspect, take it out and put in what you want.
That being said, we aren't going to cater to everyones needs... We are going to make this with our own projects in mind.
So you probably won't see your basic trees from like Paged Geometry.
Post Reply