The answer to 100% working terrain ??

If you are a new Irrlicht Engine user, and have a newbie-question, this is the forum for you. You may also post general programming questions here.
trooper
Posts: 85
Joined: Fri Nov 03, 2006 7:34 pm
Location: Maryland, USA
Contact:

The answer to 100% working terrain ??

Post by trooper »

Hi Guys,

OK, I have been reading these forums for weeks now, a million posts and a millions answers.

All great stuff don't get me wrong, and I and others, all love the advice, but does anyone have a 100% working fix / example of working terrains.

I read endless problems, will holes in terrain, models getting stuck, cameras getting stuck, falling through terrain, problems, with size, and the list is endless.

So is the list of answers also, and no real solution

So can anyone show a WORKING example ??

Like myself and others for various reasons, and compatibily, don't want to recompile the engine, add hack, add pathches, and so on.

All I hear is the height map has to be 2^n+1 this, or 2^n-1 trillion that, or I need 32bit this and that, or LOD, and aarrgghhhh.

Only to read the next 50 posts, are people having more problems, with the previous 'solution' !

I do hope there are some friendly helpful guys that could help all of us that are struggling.
I know it's a 'terrain problem' thats been posted a thousand times, hence it is so hard for some of us to find answers, so please dont flame this.

If you have nothing positive or helpful for the noobies, then please don't post at all, we all just want to learn like you guys.
Last edited by trooper on Sat Dec 02, 2006 11:10 pm, edited 1 time in total.
You scratch my back, I'll scratch yours.
gfxstyler
Posts: 222
Joined: Tue Apr 18, 2006 11:47 pm

Post by gfxstyler »

what's so hard about terrain?

terrain heightmap size: irrlicht cant handle more than 65535 vertices with the same mesh because it uses unsigned 16bit indexes, and each pixel on the image of the heightmap is a vertex. this limits the heightmap to a max of 256x256.

you need 256+1x256+1 though, so your max heightmap size is 257x257.


falling through the terrain:

irrlicht is a graphics engine, not a game engine. it has just basic collision functions which are far from perfect. in order to make your player not fall thru the terrain (which happens when you scale the terrain a lot = big triangles) you have to make the ellipsoid (is that spelled right?) bigger (in your collision response animator).


those are the two only problems with terrain i can imagine of.

what exactly are your problems?


btw: if you want a working terrain example, take a look at irrlicht's one in the irrlicht/examples folder :)
CodeDog
Posts: 106
Joined: Sat Oct 07, 2006 8:00 pm
Location: CA. USA
Contact:

Post by CodeDog »

The terrain tutorial does not cover the problems someone might encounter making a paged terrain.

The terrain tutorial is pretty useless. It's like showing an architect how to make one brick and then expecting him to be able to build a house.
trooper
Posts: 85
Joined: Fri Nov 03, 2006 7:34 pm
Location: Maryland, USA
Contact:

Post by trooper »

Hi CodeDog,

YEP, ya pretty much right there !

Although a fine and easy example, it still has all the bugs, that everyone is dealing with.

I followed it easily, and have some real fine and detailed terrain going on in my scene.

Lush grass and rolling hills everywhere, my game has no need for high rocky terrain or vallys and water yet, but the principle still stands.

I still encounter the same problems, that most others seem too.

Yet others speak of perfect working terrains (fixes) with out the need for patches or recompiling

So really this is the opportunity for people to help with good working examples and code.

I'd rather not detail a specific problem, and have 50 people random guess at answers or speculation on possible answers, when they have not even used terrain in detail themselfs, other than view the SDK 'examples'.

This is for all people suffering this problem, and not just an attempt to help myself, so hence not detailing my specific issues, but a general thread for all terrain problems.

Thanks again in advance to ALL those that can help, or can gain something from this thread.
You scratch my back, I'll scratch yours.
sgt_pinky
Posts: 149
Joined: Sat Oct 14, 2006 11:20 am
Location: Melbourne, Australia

Post by sgt_pinky »

At the risk of creating a flame thread that doesn't help productivity, I am going to side with gfxstyler on this one.

Irrlicht has a basic heightmap terrain model with a limited sized heightmap - it's a well defined model, just basic.

Irrlicht has a less than basic player collision model based on ellipsoid collision. The only method more basic than ellipsoid collision is spherical collision! I would highly recommend only using Irrlicht's player collision model for concept demos or testing a principle.

There is nothing confusing in these models - what confuses people is that they expect more, where there isn't more. If you want more, program it, and submit it! That's what open source is about.
Intellectuals solve problems - geniuses prevent them. -- Einstein
#irrlicht on irc.freenode.net
rogerborg
Admin
Posts: 3590
Joined: Mon Oct 09, 2006 9:36 am
Location: Scotland - gonnae no slag aff mah Engleesh
Contact:

Re: The answer to 100% working terrain ??

Post by rogerborg »

trooper wrote:So can anyone show a WORKING example ??
Short answer: no.

Long answer: what Gay Pride GI Joe just said.
Xaron
Posts: 310
Joined: Sun Oct 16, 2005 7:39 am
Location: Germany
Contact:

Post by Xaron »

I've patched Irrlicht to use 32 bit indices and use Newton physics for collision, so yes, it works for me. ;)

I really, really can recommend to use the Newton physics engine as you can avoid a lot of collision trouble using it.

Regards - Xaron
trooper
Posts: 85
Joined: Fri Nov 03, 2006 7:34 pm
Location: Maryland, USA
Contact:

Post by trooper »

Hi,

2^B or != 2^B, that is the question - ok so I thought I'd make up some lame Shakespeare joke.

OK,

1st @ Rogerborg:
that is the kind of pointless post I am trying to prevent, so that others may learn from experienced people.

I am not going to resort to respond to every post that falls to this level of immaturity.
But unfortunately since you were the first, and I made it pretty clear in the original post, that this kind of answer was not required for people to learn. I must state it again.

If you have nothing productive to say, please don't say it.

With that said, let’s move on

2nd @ sgt_pinky:
I totally agree, I am sure that the engine sure does have it's limitations, and I appreciate your honesty.
All I would hope from this thread is that maybe someone could, post the answers to some common terrain issues, the cause and reasons, and hopefully, working solutions. So thanks again for your input.

Like you say this engine is not great at collision, so maybe a reason for using a physics engine, a reason for using Newtons over some other physics engine and the Pros and Cons of doing so.

Information on the best heightmap formats, example - should I use a smaller map like 129x129 and scale it bigger, or should someone use a 257x257 map, what gives the better result, and 'working result'

I hope this can be a helpful thread, of productive and positive results.
All anyone wants is a little help from their friends.

And as sgt_pinky (and Einstein), so rightly says:
Intellectuals solve problems - geniuses prevent them.

So maybe (my brain working as I type) we could start a project, to release a working terrain demo with physics, like you say.
Open source and submit it.
Let’s combine our efforts, and 'prevent' others from having problems.
We can make a step by step guide, pros and cons, source and demos, for everyone.

Anyway, thanks for everyone’s positive input, and making this a fun enjoyable thing for people to do.

[Edit]
@ Xaron


Thanks for your reply also, you posted as I was typing this, so I thought I would add this in for you.
Newtons seems to be pretty much the common choice from what I read, but why ??
Can you explain your reason for ir, and what it fixed for you if anything, or did you just go straight for a pyshics engine and not encounter problems.

So what does a physics engine fix?

What does the 32bit patch fix ?

I know I spoke of people not wanting to patch or hack the irrlicht engine for various reason, but simply build off it.
So please give some justification as why someone would want to take this route, again, Pros and Cons, and ease of doing so.

Again sgt_pinky & Xaron, thanks for positive input.

Trooper 8)
Last edited by trooper on Sat Dec 02, 2006 11:15 pm, edited 3 times in total.
You scratch my back, I'll scratch yours.
hybrid
Admin
Posts: 14143
Joined: Wed Apr 19, 2006 9:20 pm
Location: Oldenburg(Oldb), Germany
Contact:

Post by hybrid »

257x257 is definitely not working, you should stick with 129x129 for now.
trooper
Posts: 85
Joined: Fri Nov 03, 2006 7:34 pm
Location: Maryland, USA
Contact:

Post by trooper »

Hi Hybrid.

Well I think the answer to heightmaps is solved as far as, everyone says it sould be 2^n+1.

(meaning for noobies)
Your height map should be of square dimension + 1 pixel
(example)
size 128, should be 129x129
and 256, should be 257x257.

But again, I can fine 50 thread that say their 257x257 heightmaps work just fine.
Is it fine, because they have used, physics, 32bits, certain file formats (bmp, jpg, png), or other solutions ?
Or simply that their terrain is pretty much flat, or have not done enough testing by not exploring the whole terrain they have created, and not experianced problems.

Which begs the next question, if we want a terrain of a desired size, what to do.
If 257x257 does not work, should we use 129x129 and scale X2,
OR use 65x65 heightmap and scale X4 ??
Again Pros and Cons ?

Thanks for positive input
You scratch my back, I'll scratch yours.
Saturn
Posts: 418
Joined: Mon Sep 25, 2006 5:58 pm

Post by Saturn »

trooper, don't berate people, if you don't want to be berated yourself. (Like just now. ;))
Your first post is basically saying: "Figure it all out for me, even what I actually want." and Rogerborg's answer is exactly the style, I'd answer just questions too, if I even bothered.

What is wrong with the terrain tutorial? It doesn't work for you? What is the problem?
hybrid
Admin
Posts: 14143
Joined: Wed Apr 19, 2006 9:20 pm
Location: Oldenburg(Oldb), Germany
Contact:

Post by hybrid »

257x257 will definitely have render problems. They might not be visible for you, but there is no guarantee for this.
gfxstyler
Posts: 222
Joined: Tue Apr 18, 2006 11:47 pm

Post by gfxstyler »

as i said, if you post a list of questions you want to have answered, more people could try to help you.

i dont want to sound rude, but i really can't figure out what's your problem.


btw: i pretty much explained the 16bit uint problem, so guess what the 32bit patch does :D

oh, and i use 129x129 heightmaps and scale them. if you use good textures it wont look crappy, no need for 2049x2049 terrains (irrlicht can't handle them anyway, even with 32bit patch, because it's too slow)

so the short answer is: dont use heightmaps bigger than 129x129, dont scale it up too much (use smaller player meshes/objects/whatever) and use proper textures.


and @ hybrid: i think it depends on how big he scales the terrain. if you scale it up high, LOD will be culling away a lot of vertices, so it should (theoretically) work without render problems (with 257x257).
Acki
Posts: 3496
Joined: Tue Jun 29, 2004 12:04 am
Location: Nobody's Place (Venlo NL)
Contact:

Post by Acki »

Right, the render problems mostly are coming from the LOD !!!
Just set the maxLOD to 1 when creating a terrain... ;)

But 257*257 could cause problems (max is 256*256 but this will cut the terrain about 16 squares in both directions, so 129*129 should be good)
while(!asleep) sheep++;
IrrExtensions:Image
http://abusoft.g0dsoft.com
try Stendhal a MORPG written in Java
trooper
Posts: 85
Joined: Fri Nov 03, 2006 7:34 pm
Location: Maryland, USA
Contact:

Post by trooper »

Hi gfxstyler,

My appologies if I sounded abrupt, that is what I am trying to avoid.

My own problem at the moment is getting stuck in the terrain.

I have found So many threads on terrain issues, that I thought maybe we could have a generic terrain issue thread and solve problems for everyone.

Although I have not yet experiance falling through the terrain, I did not want this as a selfish thread for my own needs.

I will no doubt shortly opt for a phsyics engine, as all games will need this really in some format or another.

But reading the last couple of posts, this is exactly my point.
I'm not getting into who is right or wrong here...
But you say max height map of 257x257 is fine, hybrid says it does not work.
Without getting into 32bit theory, assuming your right about max is 256+1

And surely if it worked, and detail would be much better, even you yourself, say you opt for a 129 heightmap.

I hope you see where the confusion comes in for the noobies :wink:

So maybe we could all work together to make a final answer on specs or reasons to use one method or another, we can help everyone. :idea:
You scratch my back, I'll scratch yours.
Post Reply