Streaming 3D Engine

Okay, I'm just dropping the idea here, so let me know what you guys think about it.



I want to use jME for 3D graphics in a big world. This world is probably too big to load into memory at once.



My idea is to load only the nodes in a given radius of the current location of the player. When the player moves, nodes out of the current range will be removed from the tree and new nodes that come in range will be added.



This way you can have a more continious experience when travelling through a virtual world, almost entirely elliminating load times.



What do you guys think of this idea? And, how would it technically be possible to implement this with jME?

This is already being done in several games already, so it's a great idea. :wink:

games like oblivion even combinated it with level of detail. within one range you load high-res models, the next bigger radius, mid-res models and so on …



however, i think this is a very complex task, since in many professional games, the game still stops for a few seconds to load the next surroundings …



good luck & have fun  :wink:



EDIT: I just now noticed my new and shiny third star  :’( me so happy

dhdd said:

however, i think this is a very complex task, since in many professional games, the game still stops for a few seconds to load the next surroundings ...


Professional does not mean good, it only means, people get payed for their work ;)
I think it's a good idea, and should be part of the engine.

Carmack developed it on his Tech5 engine!

It's actually relatively simple if you manage it well, the only problem you encounter is multi-threading.  I think that's the reason most games don't do it is thread-safety and background loading can be a bear to deal with.

This is already handled by my last post up of code in Terra.



It will be released in jme 2.0 format when it known that 2.0 is stable, possibly even in 2.1, and that release will contain a much simplified thread task system.



I have also got simple threaded jme core along with proper Spatial and Texture management to release back. The threaded core is crying out for occlusion detection too, so if anyone has one implemented, it will complement it well.

theprism said:

This is already handled by my last post up of code in Terra.

It will be released in jme 2.0 format when it known that 2.0 is stable, possibly even in 2.1, and that release will contain a much simplified thread task system.


Thanks for all the comments guys!

Can your code be found anywhere like 'right now'? I would be happy to take a look at it. jME 2.0 has a lot of good stuff I really would like to include in my game. Are there any hints at a release data (of when the API is stable)?