34
\$\begingroup\$

We're talking about an expansive game that is not divided in levels or checkpoints. A 3D adventure, for example.

\$\endgroup\$

2 Answers 2

45
\$\begingroup\$

Simple answer: the game is divided into chunks, while you move around chunks are constantly being loaded behind your back before you can see them and thrown away when you leave the area. To every simple answer is a complex solution that weighs innumerable trade-offs in implementation... but you get the idea.

For games where you think you can see tens or hundreds of miles away, everything out there is fake. The real far stuff is just a bitmap, the medium range is a very light mesh. The real stuff gets loaded in and placed on top of the fake stuff before you get to it.

When chunks get unloaded they save the state of any objects or puzzles in progress so that when you come back they reset themselves to where you last saw them.

All this bypasses your main question so here's the real answer: there is always a loading time when you first start up the game but either you don't recognize it because it "always takes time to start up a game" and you expect that or it's hidden behind loading cinematics or happens while you play around in the GUI.

\$\endgroup\$
8
  • 5
    \$\begingroup\$ Except in games such as Minecraft, when the chunks are actually loaded further out. \$\endgroup\$ Sep 21, 2011 at 5:38
  • 19
    \$\begingroup\$ ..or games which just happen to fit into memory completely, or procedurally generate content, or or or. There's always some special case. =) \$\endgroup\$ Sep 21, 2011 at 5:53
  • 5
    \$\begingroup\$ A common way to do it is also is to have some in-game loading screen, like an elevator ride. One of the more common ways this is done is also the long hallway or the metroid air-lock. A neat way to do this though is to hide it behind a rendered scene. Ever play God of War? Any time the camera becomes static its doing a long hallway or air-lock type load. Character and Collision are still in memory, world geo is getting updated :) \$\endgroup\$
    – James
    Sep 21, 2011 at 6:26
  • 3
    \$\begingroup\$ @Liam E-p Minecraft does exactly what Patrick's simple answer does. it loads the chunks around you, if you teleport in the game you can see the chunks being loaded as it was not expecting you. If you wander away it unloads them and saves their state to disk. As for the "tens or hundreds of miles away" part, minecraft has fog, it just limits your vision to hundreds of meters and does not render farther out. \$\endgroup\$ Sep 21, 2011 at 17:40
  • 4
    \$\begingroup\$ If I think about this answer while playing a game that I am immersed in. I get sad. You mean to tell me that there isn't a world out there waiting for me to explore! It's waiting to be created, rendered, and then explored!! BAH! \$\endgroup\$
    – KRB
    Sep 21, 2011 at 19:14
12
\$\begingroup\$

Previous answer pretty much nails it all. Also worth mentioning is Dungeon Siege I.

Here's a paper from one of the developer which actually goes over some of the architecture needed to make it work and common pitfalls:

http://www.floatingorigin.com/mirror/continuous-world.htm

I'd say it's a must read if you actually want to implement something like that.

\$\endgroup\$
0

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .