Seamless map loading system?
I'm curious, how exactly does the seamless map technology work (continuous, no loading maps like in Lineage II)? And is this adaptable to a programming language like JAVA 3D?
Quote:Original post by proj_mandirigma
I'm curious, how exactly does the seamless map technology work (continuous, no loading maps like in Lineage II)? And is this adaptable to a programming language like JAVA 3D?
I believe it's done by creating a viewing "bubble" around your character and streaming in the map data in that bubble.
I think there is an article out there that explains how Grand Theft Auto 3 did their map loading. It's the same idea.
As far as adaptable goes, it should be. I can't see why not.
Do a search for "Terrain Paging" on Google.
Also try "Procedural Terrain Generation". There's lots of ways to do it.
For something like Lineage (haven't played it) it'd imagine it's all stored on your machine and is then paged in, i.e. there is loading, but it's done in lots of little chunks, instead of the traditional level format where everything is loaded in at start. Instead terrain is loaded and free'd from memory whislt you move around the terrain.
Andy
Also try "Procedural Terrain Generation". There's lots of ways to do it.
For something like Lineage (haven't played it) it'd imagine it's all stored on your machine and is then paged in, i.e. there is loading, but it's done in lots of little chunks, instead of the traditional level format where everything is loaded in at start. Instead terrain is loaded and free'd from memory whislt you move around the terrain.
Andy
dungeon seige also did an excellent job at this.. it works similar to a streaming video, except for the data isn't streaming from the internet it is streaming from map file(s) on the clients HD.
If a segment enters a certain range, it's streamed into memory and usually alpha faded in to help avoid artifacts (this alpha fading is actually visible in GTA 3/Vice City sometimes--try flying a plane over the ocean).
Then, if a segment hasn't been in range for an arbitrary amount of time (say, 1 minute), release it from memory.
Then, if a segment hasn't been in range for an arbitrary amount of time (say, 1 minute), release it from memory.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement