What we can learn from classics like Zelda: Ocarina of Time

Post topics regarding Level Building/Design and Entity Usage with Reality Factory
Post Reply
Jay
RF Dev Team
Posts: 1232
Joined: Fri Jul 08, 2005 1:56 pm
Location: Germany

What we can learn from classics like Zelda: Ocarina of Time

Post by Jay »

I hope you all know which game i am talking about: The Legend of Zelda: Ocarina of Time. If you haven't played it yet, i highly encourage you to play it, it is really one of the best, if not THE best game of all times.

When you play Legend of Zelda: Ocarina of Time, you quickly find out that most of the game worlds places are secluded places. Also, in different parts of the game world different optimizations are made to make the game run smoothly.

First, lets come to the secluded places. This is simple. You open a door, Link goes through the doorway and closes the door behind him. This makes it easy for the engine to cut the rest of the level away of the rendering and only render the current room. If you use this technique in RF, you will always have good framerates, i tested this. It also allows much more detail for the rooms, as the rest is just clipped away from the rendering. The magic word is 'Area Brushes'.

Next is Hylian Field. This is a large area, and because of this it cannot use the simple method above. I believe however, that it uses some kind of portals, because there are several hills in Hylian Field. What is sure, is that most of the background is prerendered and stored in textures. Also, as an outdoor, it uses a different kind of lighting as the indoors. In the indoors there are flames with flickering light etc.. All this does not apply to the outdoors. Next thing: A forest is there, but it is placed on the border of the map (I don't mean the koikiri forest, i mean the one on the hylian field). As forests are normally frame rate eaters because of their polycount, putting it onto the border of the map ensures that it is not seen too often. Also, if it was in the middle of the map, you also would see thinghs behind it and so the polycount would rise even more. The game would definitely chocke.

The desert: This also is a large area, but it uses a different approach than the Hylian Field. As there are sandstorms, there is a fog effect. And a fog effect allows a far clip plane, which is never used anywhere else in the game.

The Lost Woods: Here portals are used, which become transparent and translucent if you come near enough. This approach is popular. I have seen it in nwer games too, for example Gothic I and II. In Gothic I, when you walk up to a forest, first only generic forest texture is seen, then after a time it becomes transparent and you can see into the forest. In Gothic II, they use this technique when you are inside the church of the convent, so that the outside is not rendered. Sadly, this cannot be reproduced with RF i think. (I would really like it though, it would be even better than area brushes). Maybe one day i will explain the optimizations that have been made in Gothic I.

Links shadow: Links shadow is a projected shadow that is rotated to fit the position of Navi / the sun. That's all there is.

The game also uses kind of a farclipping for persons. This can be seen very well in the koikiri forest. It's easy to reproduce this in RF with a farclip range for actors.

I may be continuing this article with explanation of the level design with the Dodongo's Cavern as an example.
Everyone can see the difficult, but only the wise can see the simple.
-----
User avatar
metal_head
Posts: 1244
Joined: Sat Jan 05, 2008 8:31 pm
Location: Bulgaria,Sofia
Contact:

Re: What we can learn from classics like Zelda: Ocarina of Time

Post by metal_head »

Thanks for the advice Jay I often have problems with the framerate :))),but I didn't get one thing:
The game also uses kind of a farclipping for persons. This can be seen very well in the koikiri forest. It's easy to reproduce this in RF with a farclip range for actors.
How can I make this farclip for actors?This would help me a lot,because I have a lot of actors in my levels.For the pawns I use Triggered spawning,but for the static entities...Nothing can be done and they slow down the level.Will I have to do scripting for that actor farclipping or I can use an entity,ENV.Setup has only farclipping.
Jay
RF Dev Team
Posts: 1232
Joined: Fri Jul 08, 2005 1:56 pm
Location: Germany

Re: What we can learn from classics like Zelda: Ocarina of Time

Post by Jay »

EnvironmentSetup also has the LOD funtion: The first LOD distance says that LOD1 is used instead of the main model. The second is the same for the LOD2 model, the third for the LOD3 model. The fourth can be used to switch between a bitmap and an actor, and the last is a farclip range for actors. Setting any of those numbers to 0 will disable the feature associated with it.

Gothic I makes heavy usage of LODs and with this it keeps the framerate good even if it is possible to see into huge distances. LODs are explained in the manual.
Everyone can see the difficult, but only the wise can see the simple.
-----
User avatar
metal_head
Posts: 1244
Joined: Sat Jan 05, 2008 8:31 pm
Location: Bulgaria,Sofia
Contact:

Re: What we can learn from classics like Zelda: Ocarina of Time

Post by metal_head »

Thanks Jay I didn't know what thad LOD distance column was about :) !
User avatar
Kiji8989
Posts: 209
Joined: Tue Jul 22, 2008 11:39 pm

Re: What we can learn from classics like Zelda: Ocarina of Time

Post by Kiji8989 »

That was a good game. It gave me an idea for a howling feture for my game. Howl the right notes and summon special characters...
(\_/)
(O.o) copy bunny into your signature to
( >< )help him achieve world domination
Post Reply