Back in the days of the N64, developers were still trying to figure out just how to wrap their heads around the world of 3D gaming, even Nintendo itself. With The Legend of Zelda: Ocarina of Time, we were treated to visuals the likes of which had yet been seen, including the vast landscape of Hyrule Field, the stunningly realised towns and dungeons, and of course, the intriguing day and night cycle depicted in the sky above.
It turns out, however, that the sky itself is one big optical illusion, achieved by creating a small rotating cube that nestles within the camera's viewpoint, giving the impression of enclosing the entire map within its borders. You'll likely already know this, of course, since the very nature of a 'skybox' is to effectively enclose a game's landscape within its borders, but seeing the feature in practice via the below video is frankly kind of mind-blowing.
As you can see, by utilising a free cam cheat, user @dannyb21892 was able to view exactly what the sky looks like outside of its in-game borders. It's a baffling illusion, to be sure, and just goes to show what kind of weird and wonderful tricks developers pull to craft their games. Needless to say, it's a pretty convincing method, and it certainly succeeds in depicting a realistic atmosphere with a working day and night cycle - we can see why many other developers utilise the same technique!
Users can now play a PC port of Ocarina of Time, which was recently updated to allow compatibility with hacked Wii U systems and Mac OS. Additional functions include the aforementioned free camera mode and functionality to allow up to 250fps.
What do you make of this little camera trickery from Nintendo? Have you spotted more development anecdotes you'd like to share? Let us know!
[source twitter.com]
Comments 39
Honestly with limited power and memory, you need to get "creative" in certain aspects.
I feel like Sakurai is gonna make a video about this on his channel
Idk what he’d call it tho
And that sky box is too often still better than a lot of games today. Limited, sure, but even in something as beautiful as, say, BotW, the sky is way too often distracting, to me at least.
Well they call them skyboxes for a reason!
I don't think I've ever seen the texture mirrored on the top and bottom before, but the N64 had pretty limited memory.
That’s actually really interesting.
I have no knowledge of programming but I know from various videos there are many clever tricks used by developers to create these illusions to captivate us in their game worlds.
Developers of old were the ultimate magicians using smoke and mirrors to amaze us. Now technology has caught up with their vision we will likely see less of these tricks, but it’s still cool.
Very clever! I wonder who truly invented this phenomenon. But it sure is a neat trick to create the illusion of a sky with very limited resources at your disposal
Genius. Pure class. As a kid I thought the textured sky was right behind the scenery - not so small and really close. What a great illusion.
Holy Crap! So the Sky in OoT is actually black and the camera is surrounded by the sky, what a brilliant idea, i'm sure this cut down on memory loads
I think they still use it in some games, even now in the nintendo switch 😜
Is the Information about Skyboxes in Games really new ?
I hated to break it to you, but it's all an illusion. Did you know link is actually just some 0s and 1s in a list, like everything else in any game? He just looks like a boy to your feeble mind. And there are no "sizes" to anything, if you start breaking it down.
The sky is the blue stuff in the image. Is it a trick more than anything else in the image? Does it matter at all the particular math the developers used to fill certain parts as sky? One can jump from any frame of reference to another at any time while rendering a scene. They could have made it a big box in the frame of reference of the terrain, but there i nothing to gain. You wouldn't loose anything either. It doesn't matter. When it doesn't matter developer just make the size be 1.0, because why invent some other size?
@Mortenb Thanks for revealing this to me for now I am so wise and I understand that I know nothing, and therefore everything there is to know. I am both 0 and 1. Ying and Yang. Alpha and Omega.
I am the skybox. I am the sea. I am the endless plains stretching out into the cosmos. I am the walrus.
My feeble mind is shattered and the pieces cast asunder, consumed by the eternal void that lies at the centre of the sphere in the heart of darkness.
And after 30 years, NL discovered the Sky Boxes....
On the PS1 they would draw the skybox first because it had no hardware z-buffer. The rest of the graphics were drawn after that over the top of the skybox making it look like it was behind everything.
Reminds me of that quote about limitations leading to the most creative solutions. Skyboxes may be old but OoT sky undeniably looked great for it's time. Very convincing
@Maxz you are the eggman
Sky is an ending void.
Makes me think of The Truman Show.
@Mortenb thank you oh wise one. My life now has meaning.
I was wondering about for ages how they went from mario 64 to this, haha that’s pretty amazing would of never thought the sky is actually that small and follows the camera like that. Its alot different from modern games
@Mortenb you're fun
@Mortenb "They could have made it a big box in the frame of reference of the terrain, but there i nothing to gain"
This is not true. One big limitation of all 3D games (especially early ones) is draw distance. If the skybox was literally a huge box, you wouldn't see it at all most of the time since its polygons would be too far away from the camera. Not to mention, stretching the texture out onto a huge polygon and then pushing it a million miles into the distance would look terrible, you'd lose all the fine detail. That's why cool tricks like these are both necessary and fun to see behind the curtain of.
@N64-ROX The draw distance is a setting. It's not a hard limit. What they do here is turn off a setting to write to the depth buffer, then turn it on again. Instead they could set the draw distance to some big value, then turn it back before drawing the rest, if needed. Probably the same performance, just a bit more fiddling with numbers.
@Maxz This is probably the best reply anyone gave me on the internet. Thanks.
Ok I seriously never expected it to work like that. I always assumed it was just a large box encasing the map.
@Mortenb nah I still disagree: with today's decades of tricks and tools and power there are indeed lots of ways to do things like this (I once implemented twinkling stars in the sky by having two cameras with different draw distances, for example) but back in the 90s there were serious constraints if they wanted to get any kind of realistic performance at all. And the proof is in the pudding: this unintuitive solution is what Nintendo chose to do. Nintendo, who knew the limitations of their own machine better than anyone.
Thats pretty sick
So it's literally a "sky box" that pretty cool
Saying it's "pretty convincing" doesn't really make sense; the result is literally exactly the same as if the skybox had been any other size. This was probably just a convenient size for development.
Thats why i say, Nintendo always finds a way to make games look really great.
Also on the switch an underpowered hybrid console with amazing looking games.
That article tagline chef's kiss
Similar techniques are being used today in 3D animation. I remember wrapping cloud textures around a cylinder with transparency to create a lighting in Vertigo.
After all it’s all about smoke and mirrors.
This is incredible. I can't wait to see what else I learn. I know Nintendo pretty much got everything out of the NES for Super Mario Bros. and employed some really clever tricks and workarounds
I say! That is a lot smarter than the way I thought they had done it!
I first learned about this trick when I was looking at VR emulators for these old games. Sky being rendered really close to the camera is a common bug when they add automatic depth, so the emulators have a built-in hack to change the depth of objects sitting at the exact center point of the camera.
I don't know why but something feels off about this, like I've seen contrary footage somewhere. its oddly unsettling lol
@Maxz That's a trip and a half. Reminds me of that one song, Loosely in the Skybox with Diamonds, by the Beedles
@N64-ROX
No proofs are ever in the pudding.
The proof of the pudding is in the eating.
That said, I agree with your take. There are different ways of coding and short-cutting to use less processing power, or to work with the hardware you've got. N64 has different hardware than PS1, because of working with cartridges rather than discs. Thus it was easier to do some things but harder to do other things, and vice versa. This is one technique used to reduce the stress on the processing of the game and allow a smoother experience than if say, they made a giant background instead.
This is very similar to how movies are made. You don't need perfect. You need good enough to be convincing to the audience (of the time, and in context of the rest of the art piece). A CGI film scene can look rubbery or plastic and still be good if it matches the timbre of the entire film, but paste it into an otherwise live action film and you've suddenly got something incredibly out of place. This is a fantastic tool used that worked with the graphical appearance of Ocarina of Time's blocky 1998 N64 graphics but still looks gorgeous to this day.
The sun is in a black void beyond the cube sky. Sounds like a creation story of some old tribe.
I wonder if I can't unsee it now.
@Mortenb What…?
@N64-ROX But it's not the unintuitive solution. You are sitting there writing lines of c code against the graphics interface. You of course have it in your deep intuition what depth buffers do, what draw distance is, how to juggle these settings to do stuff. You sit down and have the idea to draw a sky box, you think "okay, it's gotta be behind everything else", and immediately you know that the solution is to just draw it first, without writing to the depth buffer. If you even consider the other solution, you immediately know that it would entail figuring out some adequate size, mucking with the draw distance. It would probably actually be slower, as writing to the depth buffer, and checking the depth buffer actually takes time.
Show Comments
Leave A Comment
Hold on there, you need to login to post a comment...