A truely large seamless world?

You are an experienced programmer and have a problem with the engine, shaders, or advanced effects? Here you'll get answers.
No questions about C++ programming or topics which are answered in the tutorials!
Post Reply
SomeNoob

A truely large seamless world?

Post by SomeNoob »

I have a need for a LARGE seamless world, with terrain,trees all over, and complex citys. Is irlicht able to support this? im well aware that things like thread loading will be needed all over the place, and bsp loading will probly be the most difficult to get right...

But is such a thing possible with irrlicht, without modifying its code? Could someone give me an over view of how such a thing can be acomplished? Thanks in advance.
Tyn
Posts: 932
Joined: Thu Nov 20, 2003 7:53 pm
Location: England
Contact:

Post by Tyn »

Saigumi used to have a tutorial of that on his site but he seems to have taken it down. Maybe someone had a hard copy?
saigumi
Posts: 921
Joined: Fri Aug 22, 2003 11:31 am
Location: St. Louis, MO USA
Contact:

Post by saigumi »

It should still be there.

My host has been having issues recently, so things have been sporadically up and down.
Crud, how do I do this again?
SomeNoob

Post by SomeNoob »

Ya that seems to be a intresting start, but i have no experience with the engine, can anyone answer my question is doing the above possible?

That is mixing Terrain engine+ trees, rocks,water etc, then BSP for in door activatey? would it be terribly difficult ( i realize it will need to be mlti-threaded for loading the bsps in the back ground ,possible have a really rough bsp of it low poly to display till ureach a certain distance thne display the real one). The world must be extremely large , doesnt repeat , just no extra load time , then starting it up.

Anyone whos attempted something like this ?
Domarius
Posts: 178
Joined: Thu Mar 11, 2004 9:51 am
Location: Brisbane, QLD, Australia

Post by Domarius »

Probably not, because only recently have commercial games acheived what you're talking about. Morrowind is one that comes to mind. The terrain outside is done in huge grid cells, and as you move along, the new grid cells up ahead are loaded, and the ones behind you are deleted (and the modificaitons you've made to the world are written to disk).
Then if you enter a door to a building, the indoors renderer is used, which doesn't use a grid, and can be fairly large. Of course when you pass through those doors that lead inside/outside buildings, the things on the other side are written to disk, so when you come back out, anybody chasing you would have been frozen in time and waiting for you when you come back through the door. They can't chase you through it.

Irrlicht's terrain renderer is still in development and is slow.

It should be possible for an ameteur game to do something like this, on a lower scale of course - less complexity.
SomeNoob

Post by SomeNoob »

Yes all that complexity is not needed. although defiantly a nice tweak.

You don't think it could be acheived by a group of ppl that were capable of writing there own engine? If not i suppose i will have a peek at Neo Engine, if its up to our standards that is, im nearly sure its possible to do with that, but its documantation is non existant, community is dead, and rendering just doesnt look as nice... but ohh well. Perhaps we will slap together our own custom one and see how it turns out, With great open source projects like irrlicht we can borrow more complex things we don't understand, and can't find any information on.

This would be a great thing to see in irrlicht, if its not possible.
Domarius
Posts: 178
Joined: Thu Mar 11, 2004 9:51 am
Location: Brisbane, QLD, Australia

Post by Domarius »

Well I said "probably not" because my first impression of what you were describing sounded something like Morrowind.

But technically, its feasable by a team of programmers like us.

I wouldn't wait till it's implemented directly into the Irrlicht engine, because we can do it ourselves, right now, with Irrlicht, and not bother Niko with asking for more features.

It all comes down to making a good system for loading and unloading your zones as you move between them.

Here's a post about it I made recently;
http://irrlicht.sourceforge.net/phpBB2/ ... php?t=2404

And other people are actually attempting to do this very thing with Irrlicht, right now :)
http://irrlicht.sourceforge.net/phpBB2/ ... 3096#13096
arras
Posts: 1622
Joined: Mon Apr 05, 2004 8:35 am
Location: Slovakia
Contact:

Post by arras »

there is another way except loading zones.
It is terrain mesh for simplicity dividet to squares which center shift with camera X and Z and remaping its Yvertices coordinate (height) from file, 2dim array or raster file.
I was doing such think in Darkasic but its posible in Irrlicht probably too.
Tyn
Posts: 932
Joined: Thu Nov 20, 2003 7:53 pm
Location: England
Contact:

Post by Tyn »

Apparently it's up on Saigumi's website, I just couldn't find it, but he basically says to use that method. Only show the tiles on screen and as the camera moves, say, left, remove the ones on the right as they go off screen and add ones to the left. If you store all the data in an array and then say when it reaches the ends of the world that it loads the beginning of the same world, or vise versa, then you have a global map ( sort of :) )
arras
Posts: 1622
Joined: Mon Apr 05, 2004 8:35 am
Location: Slovakia
Contact:

Post by arras »

Well thats similar method but not the same. Method I was describing use one big mesh which moves with camera (better say jumbs) while one you describe use several tile objects.

I was coding second method too since it have some advantages: You remove/load or move only tiles you need (which get out of view or get in it) and you can use diferent texture on each tile.
Problem is that if you need big terain consisting of many tilles like 100x100 unit big it can get preaty slow with so many objects.
Tyn
Posts: 932
Joined: Thu Nov 20, 2003 7:53 pm
Location: England
Contact:

Post by Tyn »

Possibly, depends on what size tiles you are using. Most large world games use portals so I guess it's whatever is best for your type of game. I use quite a large tile ( a scale 1mx1m ) so it isn't really a problem however, heightmaps tend to create quite small tiles in order to produce the mountains and hills so it might not be the best thing for that kind of landscape.
Post Reply