Friday, May 30, 2014

Voyager to Nebular 5

For the tech-boys & girls, it has been a while since I wrote about freshly new implemented techniques in Tower22. That is mostly because I didn't program anything new, or at least not the kind of stuff worth a juicy article. Well, fasten your seatbelts, because I learned a lesson or two about particle-lighting & blending last week. Thanks to the always helpful people at gamedev.


Fog. Got to hate it

Nothing changed at all? Really? Nevertheless, Silent Hill is one of the few games where the fog is acceptable. Because it adds up to the unreal horrible athmosphere.

Didn't I just mention in the "Goldeneye" review, how fog ruined the looks of many N64 / PSX era games? The military uses smoke grenades to create a coverage curtain. Magicians use spotlights & fog to keep the audience focussed at the act instead of the background. Games used fog to mask their incapability’s to render more than a few thousand polygons. The world literally ended after ~50 meters or even less. Those days are over fortunately, but that doesn’t mean fog completely disappeared.

What the heck is fog anyway? Why do we see fog, or actually can't see shit because of fog? Well, pretty simple. The air is filled with microscopic water droplets that reflect/refract light. A single droplet won't hide the car driving 50 meters in front of you, but a huge quantity does. The same kind of effect is reached when blowing smoke or a gas substance into a room. Tiny particles block sight. If you don't believe me, buy 3 packs of cigarettes and start steaming in your bedroom. Don't forget to open the window after the experiment so your mom won't notice.

So, despite the harm it did too older games, fog is a natural thing. And thus, we want it in games. But... either to apply on much greater distances, or too simulate very local volumetric effects. Traditional fog is nothing more than a colour that would take over as the depth increases. But when looking at real fog, clouds, smoke, smog or other gassy substances, you'll notice variations. It seems to be thicker just above the water. Ghastly stretched strings of fog slowly slide above the grass on a fresh early morning. You see, fog can be quite beautiful actually, just as long you avoid the old traditional formula to generate linear depth-fog as much as possible.


Our Dutch landscapes aren't known for spectacular nature phenomena. But my daily bicycle ride to work gets an extra touch when greeting my black & white grass eating friends in the morning dawn. Beauty is in the little things.

Making fog... Easier said than done. Everyone who programmed some graphics or made 3D scenes in whatever program / game-engine, probably knows how hard semi-transparent volumes of "stuff" can be. To begin with, they are sort of shapeless, or at least morph into anything. So just making a half-transparent 3D mesh is not going to work by default. How the hell would you model strings of fog? Or a campfire with smoke? A long time ago we invented "sprites" for that; billboards with an (animated) texture that would always face the camera. But just having a single flat plate with an animated campfire picture on it, would still look dull from nearby. You immediately notice its flat once you see the intersection lines.


Nice, a little candle flame!.... A naughty little FLAT candle flame that is, sigh.


Pump up the volume
We need some punch, some volume. But you can't do that with a single sprite… How about using many more (very small) sprites? And so the name "particle" was born in the games industry. Although it's not exactly the same as the ultra-microscopic stuff CERN launches to create new dimensions with. In games, particles are typically small but still viewable. A patch of smoke, a raindrop, or a falling tree leaf. One particle is still shapeless, but combining a whole bunch of them makes a 3D volume. Sort of.

The reason why we won't just use real-life microscopic particles, is because it would take at least millions of them to render the slightest gassy fart. We can render quite a lot of them, but not THAT much. So we up-scaled them. Yet, speed is still an issue. To fill the whole room with Zyklon B, you still need (hundred)thousands of particles. Or, you'll upscale the particles even further. More particles = performance loss. But less and larger particles on the other hand will reveal the flattish 2D look again. Using "Soft-particles" (meaning you gently fade out particle pixels that almost intersect solid geometry) reduces the damage, but only to some extent. Also, when rendering a bunch of larger particles in a row, there is a big chance of overdraw and performance loss. Finding the good balance between quantity and size is important.

In an ideal situation, we can render more (smaller) particles. But at some point, you'll hit the ceiling. The memory can't carry an infinite amount of particles, and updating + drawing all of them is also a pain. Especially now that the rendering of opaque 3D objects got more and more tense. Engines and games brag about "200 lights in this level!", "more than 30 dynamic shadows active!". It seems artists just love to spray light all over the place. Obviously, particles should catch light like any other object as well. But if there were dozens of (shadow-casting) lights, ten-thousands of particles, and a video-card that already sweats when drawing multiple layers of unlitten particles in a row? Then how would you properly do that?

When something should show up "volumetric", it should also obey the rules of light. Rendering smoke that gives the middle finger to your lights, will look very artificial. And flat. And stupid. To spice things up big time, you can light your particle pixels. If it works for a brick wall... then why not far particles? Damn right homie.

But then you quickly realize that the performance was crushed again. And another practical problem; how & which lights to apply on each particle anyway? If you have a "200 lights in this level!" situation, you'll get a hard time letting your particle loop through all of them.


In the 2011 T22 demo, each billbiard(sprite) pixel would test if the nearby lamp volumes would affect it. Pretty nice results, but too slow for comfort. Most of my particle attempts just never felt right.


Deferred Particle Lighting
I wish it was my invention, but it isn't. Doing deferred lighting for the last 8 years, the answer was in front of us all the time. But instead we tried all kinds of difficult hacks that felt uncomfortable. Fortunately someone pointed me to this Lords of the fallen paper. Don't know if they were the first -probably not- but at least they were kind enough to explain "Deferred lighting for particles" in plain English. It's really pretty simple, if you have a solid foundation with deferred lighting and GPU driven particles at least. And, before I sound too euphoric, Deferred Particle Lighting is not the Final-Solution either. It's a cheap and very efficient ointment, but not for each and every malady. Got it? Then here we go.

When doing particles on the GPU (and if you don't do that already, please do), you can depict them as points. Each particle would be a single point, a bunch of vertex attributes such as a position, colour(multiplier), size, velocity and state. And very important for this technique, is also an unique ID (0,1,2,...n). Typically you could write those attributes into a struct that consumes 64 to 128 bytes. Next, a Compute-Shader can be used to evaluate the physics of each particle. Apply gravity, let them bounce on the floor, or just randomly zoom around like stinky flies. Cool thing about Compute-Shaders btw, is that you can even let particles follow each other. Unlike ordinary shaders, you can access the data of other "neighbour" particles in a Compute-Shader. The CS accesses data from the particle array, which is basically a VBO (Vertex Buffer Object), does some math, and writes the results back into it.

But hey, didn't you tell a particle was a sprite or billboard? Thus a camera-facing quad instead of a single point? Yes it is, but you don't have to treat them as quads initially. Here is where the Geometry shader becomes handy. In a first stage, you update the physics for all particles. In a second stage, you actually render them. As an array of points. But between the Vertex- and Fragment shader, there is a Geometry shader that makes a quad out of a point. Like Bazoo the clown inflating balloons before passing them over to the kids. Tadaa!


The story of Benjamin Button.

So far, we didn't mention light though. When walking right through a cloud of particles, we may quickly render millions of pixels (that overlap each other). Lighting each pixel would be a (too) heavy task. But the amount of particle-points, the origin of each particle sprite, is much smaller. Here you are talking about magnitudes of thousands, not millions. So what if we would just calculate the light for each particle-point? Thus basically per-Vertex lighting?

And how about if we can do that the "Deferred lighting" way? Instead of looping through all potential lights for each particle, we do a reverse approach. Like traditional deferred lighting, we first splat all the particles into a 2D texture, or G-Buffer. Then we'll render each light on top of it, using additive blending. I'll explain the steps.


Step 1: Making the G-spot
To light stuff up, we need to know at least a position and normal:
 Diffuse light = max( 0, dot( lightVector, surface.normal )) * light.color * attenuation
 where lightVector = normalize( light.position - surface.position );
 where attenuation = someFalloffdistance formula, depending on the light.range

For particles, we only need to know their positions really, as their normals can be guessed; they face towards the camera. Besides, translucent particles let light through, so maybe you don't even have to care about directions really, or reduce the effect of it at least.

This means we'll need to put all particle positions into a G-Buffer (or just a 2D target texture). A 512x512 texture would provide space for 262.144 particles. Not enough? Try 1024x512 or 1024x1024 then. Ok, now where to render each particle on this canvas? The location doesn't matter, just as long each particle gets its own very unique place that no other particle can override. That's why you should add an unique ID number to each particle. Besides for these rasterizing purposes, an ID is also nice to generate pseudo-random data in your other shaders. Anyway. Using the ID you could make target plot-coordinates like this:
 // Vertex Shader that plots the particle data onto a G-Buffer
 const float TEXW = 1024.f; // G-Buffer dimensions
 const float TEXH = 1024.f;
 
  // Calculate plot coordinates
  float ID = round(particle.ID); // Be careful with floating point artifacts, or your ID might toggle between 2 numbers!
  float iy = floor( ID / TEXW );
  float ix = floor( ID - (iy * TEXW) );
  // Convert to -1..+1 range (0,0 = center of target buffer)
   out.position.x = ((ix * 2.f) - TEXW) / TEXW;
   out.position.y = ((iy * 2.f) - TEXH) / TEXH;

 // Fragment Shader
  out.color.rgb = particle.worldPosition.xyz;
  out.color.a = 1.f; // whatever

Here you go. A rather ugly cryptic texture filled with particle positions. Oh, and don't forget to make your target textures/G-Buffers or whatever you like to call them, at least 16bit floating point. You probably won't need super accuracy, but 8bits won't do.



Step 2: Let there be light, deferred style
With common deferred lighting, the second step is to draw light volumes (spheres, cones, cubes) "on top" of the G-Buffers. The light volume would read the data it needs (position or depth, normal, ...) from the G-Buffers, and poop out a litten pixel. Because light volumes can intersect and overlap each other, additive blending should be used to sum up light. This is finally stored back into a diffuse- and specular texture. Then later on these textures can be used again when rendering all bits together.

Same thing here, but with some slight adjustments. Simplifications really, don't worry. We render the results to a Light-Texture, equally sized to the particle-position G-Buffer we made in step 1. Instead of a volume, we render a screen-filling quad for each light. This is because the output from step 1 doesn't represent a 3D scene at all. A particle could be anywhere on the canvas. My English isn't perfect, but I believe that is what they call an "Interleaved texture". So, to make sure we don't miss anybody, just render a quad that covers the whole canvas.

Some more adjustments; We need to derive the normal from the particlePosition-to-camera vector, and/or apply translucency. Does it really matter if you light your particle from the front, behind, left or right? But if you do care, you can consider storing a translucency or "opaqueness" factor into the alpha channel of the G-Buffer we made in step 1. Finally, we can forget about specular light, and other complicated tricks such as BRDF's. Yeah.

Oh, I should note one more thing. You can test if your particle is shaded or not, in case you use shadowMaps. But please make a smooth transition then (soft edges, radiance shadowMapping, ...). Since you only calculate the incoming light for the centre-position of your particle, it may suddenly pop from shaded to unshaded or vice-versa if the particle moves around. This is one major disadvantage of this technique, but it can at least be reduced by having soft-edges in your shadowMaps, using more & smaller particles, and/or reduce movement of your particles.


Step 3: Rendering the particles
Step one and two can happen somewhere behind the scenes. Whatever suits you. But at some point you'll have to render the little bastards. Well, this is cheap. Either your fragment- or vertex shader, can grab its shot of light in the "light-texture" (step2), using the same ID we used in step 1 to calculate the plot coordinates. Careful that reading from the exact right spot might be a bit tricky though. Maybe you want to disable linear filtering and use NEAREST sampling on your lighting-texture. And depending on which shader language & instructions you use, you may have to add half-a pixel size to access the right location. This is how I did it in Cg:
 const float TEXW = 1024.f;  // Light texture dimensions
 const float TEXH =  512.f;
 const float HALFX = 0.5f / TEXW;  // Half pixel size
 const float HALFY = 0.5f / TEXH;
 
  float ID = round(particle.ID);
  float iy = floor( ID / TEXW );
  float ix = floor( ID - (iy * TEXW) );
  // Convert to 0..+1 range, half texel offset
  float2 defTexUV;
   defTexUV.x = (ix / TEXW) + HALFX;
   defTexUV.y = (iy / TEXH) + HALFY;
   diffuseLight = tex2D( particleLighting, defTexUV ).rgb;

There you go, diffuseLight. Full of vitamin-A coming from ALL your scene lamps, including vitamin S(hadow) as well. Hence it could even include ambient light (see below). Now it's easy to see where the speed gain comes from. Doing this (eventually just once in the vertex-shader), or looping through lamps and doing fuzzy light-math for each billboard pixel? As said, being vertex-litten, it's not pixel perfect and therefore somewhat inaccurate. But all in all, a cheap and effective trick!



Ambient light
When just doing deferred lighting, thus using direct lighting only, your particles will appear black once they are out of range. In Tower22, I use an "Ambient-Probe-Grid". Before starting step2, I "clean" the buffer by rendering ambient light into it first. Each particle would sample its ambient portion via this probe-grid, using its particle world position. If that goes beyond your lighting system, then you could at least use an overall ambient colour to clean the buffer with, instead of just making it black. This gives a base colour to all of your particles. Furthermore I advice to have a customizable colour multiplier that the artist can configure for each particle generator. Smart code or not, you still can’t fully rely on machines here.




Into the blender; Premultiplied Alpha Blending
A bit outside the scope of this article, but important nevertheless. Particles, and alpha-transparent objects in general, are notorious for sorting problems. If surfaceA is IN FRONT of surfaceB, but gets rendered BEFORE surface B, then surface may get masked where surfaceA is... huh?

FlameA makes a "hole" in background smoke spriteB, while other flameC doesn't. This is because flameA gets rendered first, while it should be rendered last. Also the transparent pixels of the flame, will claim a position in the depth buffer. The smoke sprite behind it will be partially masked, as it thinks the flameA pixels are occluding, having a lower depth value.

Particle clouds with "random" sorting canget ugly quickly if this happens. There are two remedies; sort your shit, or use a blending method that doesn't require Alpha-Testing. The first method means you'll have to re-arrange the rendering order. Audience in the background gets a ticket first, audience in the front gets rendered last. Hence the name "Depth-Sorting". I must admit I never really did this (properly), so I can't give golden advices here. Except that sorting sucks and can eat precious time, or just isn't possible in same situations. Fortunately, you actually can swap places in a VBO using Compute-Shaders these days though.

But even better is to avoid of course. Not always possible, but foggy, smoggy, smokey, gassy particle substances can do the trick with "Pre-multiplied alpha blending", which doesn't care about the order. That term sounds terribly difficult, but a child can implement it. Step one is to activate blending (OpenGL code) like this:
...glEnable( GL_BLEND );
...glDisable( GL_ALPHA_TEST ); // <--- you can keep this one off
...glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA); // out = src.rgb * 1 + dest.rgb * (1 - src.a)
Step two is to multiply your RGB color with its alpha value in your fragment shader:
...out.color.rgb *= out.color.aaa;


What just happened? Ordinary additive blending isn't always the right option. For bright fog or gasses maybe, but smog/smoke should actually darken the background pixels instead of just adding up. Pre-multiplied-Alpha blending mode can do both, as you can split up the blending effect. The amount of Alpha in your result, tells how much will remain of the original background colour. High alpha completely replaces the background with your new RGB colour, while a low alpha just adds your RGB to the existing background. Thus, dark smoke would use a high alpha value, dark RGB colour. A more transparent greyish fog would use a relative low alpha value.

What I liked in particular with this methods, asides being able to both darken and brighten using the same method, is that it doses much better than common additive blending. With particles, it's often unpredictable how many layers will overlap. It depends on random movement, and where the camera stands (inside/outside the volume, from which side it’s looking, etc). If your particle has an average brightness of 0.25, it makes quite a difference if there are 4 (4 x 0.25 = 1.0) or 8 (8 x 0.25 = 2.0) billboards placed in a row. In my case, it would always end up with either way too bright results, or barely visible particle clouds. Having the exact right dosis, was a matter of the camera being the right place at the right time. Luck. This method on the other hand doses much better.


To demonstrate, I wanted dark greenish "fog" at the bottom. With normal additive blending, it would quickly turn chemical-bright green. With normal transparency on the other hand, I would get depth-sorting issues.

Ok. There is much more to tell about volumetric effects, because even with this cool add-on to the engine, there are still a lot of problems to solve. But let's call it quits for today. Fart. Out.

Sunday, May 18, 2014

Post-mortem-review #2: Goldeneye

Let’s throw another classic game review on the table: Goldeneye. For the Nintendo64 that is, not the shitty remakes on other platforms. One of my all-time favourites... or is it?

Some games seem to be immortal and like the oldest trees on Earth, they're not impressed by modern times. Some other games just age. Although I must admit it was on a PC emulator, Goldeneye felt less fantastic last time I played it. Probably more than any other game genre, shooters are more sensitive for high-end graphics and turbulent hardware upgrades. But thinking again, I still do enjoy Doom or Duke Nukem a lot. Why does Goldeneye feels aged, while Doom or Duke –even older games!- don’t? Good question.

Anyhow, that’s not a reason to throw Goldeneye out of the Arc of Noah. Beautiful women turn into old, saggy witches too (men on the other hand only get cooler, like Alec Baldwin or Harrison Ford). Goldeneye was the Marylyn Monroe. A bit dead now, but hot coffee back then.

In my time, we bought games in a box. Having more boxes to show in your showcase made you a better person.


Now you’re playing with power. Crappy power.
Unlike the SNES, not everyone owned a Nintendo64. And probably not even all of you readers were even born when Goldeneye saw daylight, 1997. Late 1997 for Europe. So it’s probably worth to put the spotlights on this title, as it contained a lot of revolutionary shooter elements. Dude, even the commercial was revolutionary. First time I saw it was on a mega screen in the cinema. Almost pissed my pants. I knew what Santa Claus would bring that Christmas!

First, try to put things in the right context. 1997. The other shooter milestone Halflife wasn’t released yet, so the best thing since sliced shooter-game bread was probably Quake 2. And some other semi 2D/3D titles such as Blood or Redneck Rampage. The Nintendo didn’t bring steaming shooters yet (although I learned to appreciate Doom64 later on). For one thing, it seems Nintendo took the (wrong) turn into more “kiddy” games. NES and SNES had dirty pixel porn, but the 64 chose a more kosher menu from now on. But there were some full 3D first-person-shooters. You may remember “Turok the Dinosaur hunter” which was... different. Despite the handy analogue stick on the N64 joystick, they struggled with finding the right controls. How to walk and aim at the same time? Doom and Duke got away with auto-aiming (you couldn’t look up or down really), but when Quake showed full 3D capabilities, the mouse became the second best friend for PC gamers. And still. Shooters feel a bit awkward and slow on the PS3 or Xbox.

The Nintendo64 had yet another problem. If a game wasn’t 3D from now on, it sucked. But at the same moment, the hardware also sucked big time on rendering 3D graphics properly. The N64, but also the PSX, Sega Saturn and PC were on the tumbling point between solid proven 2D games, and poor 3D technology. 3D was still in its infancy. Very blurry textures, “balls” made out of 7 polygons, tedious controls, no real lighting, empty environments. And oh my Lord that darn fog… Except for Silent Hill, fog ruined the looks of quite some games.

Body Harvest was a pretty fun game, but the guys were made out of six cubes, the path texture was too blurry to follow, and it was permanently foggy, making it a bit spooky actually.

Well, the game developers didn’t make their games ugly on purpose of course. Looking at the hardware specs, it’s actually a miracle they managed to create a 3D game. PC’s had CD-ROMs now, but guess what the size of a N64 cartridge was? 64 MB. And they were 200 times more expensive than a CD btw (but they did a good job loading things quickly). Now 64 MB doesn’t sound THAT bad, but most games were actually crammed in about 10 Megabytes only! To compare: a single monster in Tower22 consumes almost more. Two times a 2048 x 1024 x RGBA8 (DXT compressed!) texture, plus a 10k triangle model eats about 5 megabytes already. And we didn’t mention the sound effects and additional pictures yet.

Besides the microscopic storage space, the N64 had a whopping 4 MB RAM (could be extended to 12 with a RAM pack in the joystick), and its processor ran on ~94 Megahertz. And yes, it was the most powerful console ever so far. Nowadays Nintendo doesn’t even try to compete with Sony or Microsoft, but the earlier Nintendo’s were real powerhouses. Shit, (N)64-bit was twice as much as the PSX, thus twice as good! Well, the bits didn’t quite work like that. This console was *capable* of doing 64 bit math operations. But unless you need GPS coordinates or super high precission math, I have no idea why one would need that. So, most games were just doing 32-bit operations, just like Tower22 still does in 2014.

The N64 was capable of rendering 150.000 polygons per second. Many games do that per frame now. All in all, developers had a very limited toolbox to make something good looking. No wonder that, when looking back now, games from the very early Jurassic 3D period look like triangular piles of blurry stool now. But we should embrace those pioneers. Without them kicking the hardware into the 21th century, we would still be playing Duck-Hunt as a FPS now.


A Christmas Carol
Double-O-Seven on the N64 was a pioneer. A true Marco Polo amongst First-Person-Shooter games. It was one of the first FPS games that did everything right. For one thing, it didn’t feel like a bad movie-cash-cow game. Times change, but quickly making horrible games, parasitizing on popular movie titles, happened all the time.

I’m not a very big James Bond fan. Enjoyed watching the movies together with my parents as a young kid, but being 13 years old, I found the old Bond a bit weak. No blood, no guts flying around, and Bond would always win. How predictable. So, as usual with my favourite games, I wasn’t sold straight away. When a 007 game was announced in the games-magazines, I was like “meh”. Found the upcoming Blast-Corps (another great job by Rare) more interesting. But the game scored sky high in the magazines, and the cinema commercial proved I was wrong. Some of the kids who claimed they played this game already, told me the wildest stories about climbing on tanks and throwing grenades in the hatch (which doesn’t work in the game btw, I tried it).

The greatest thing about Christmas was getting new games. And a great thing about being young, was that you had to wait patiently. You didn’t buy a game to entertain yourself for a few hours, you we’re about to get golden memories that would last for the rest of your life. I almost died waiting those weeks, scanning the TV channels for commercials. Huh? Yes, everyone hates commercials, but I had to see the Goldeneye game again. We still didn’t have Youtube dummy!

Christmas Eve. Of course my dad first had to go in bath for an hour, take a crap for another hour, get back in bath, fall asleep. Jesus Christ that day took forever. We rushed through the presents until we finally unwrapped the unmistakable rectangular N64 game-box. Still had to wait though. Eat your cake, unpack the other boxes, have some family time, BARHH!


The first man on the Moonraker
It was worth the waiting though. Sneaking towards the first guard tower (with a moving(!) truck in the background) would reveal that this game didn’t look like another foggy blurry empty blocky foggy faggy raggedy shaggy game. The fog would start 10 meters further away than normal, and the especially the effects and sounds made a violent, cinematic impression. The machine guns spew big flames, and counter-fire bullet tracers flew around my ears. Almost like a movie! And the explosions, they are still good. It didn’t help the framerate, but till this very day, Goldeneye is one of the few games that leaves an aftermath of smoke after an explosion. In many games, the red barrel says boom, big fireball, and then it’s gone as if nothing happened. Real explosions leave smoke, dust, damage, and a charred floor.

Goldeneye understood the importance of that. When I shoot something, it has to break, bleed, or at least leave a big bullet hole. I can understand older games didn’t have resources to do so, but even modern titles sometimes forget this. Bullets disappear in a metal box, leaving no trace as if it was sucked in a black hole. And did you see any bloody wounds on the Crysis 2 foes? Shooting an unmounted .50 or not, it degrades the impact. Unacceptable. Big boom and no flying ragdolls? Grrrrr.

Goldeneye had big explosions, smoke clouds, (vague) bloody wounds, bullet holes, breakable furniture, orange fire tracers, flying bullet cases, and of course soldiers doing acrobatic summersaults, backflips and head-rolls when being hit by an explosion. And the list doesn’t end there. You couldn’t throw grenades in tank hatches, but you could drive them! And how about sniping? Believe it or not, but there weren’t much precision rifles out there yet. Quake nor Doom nor Duke showed us a scope before. It actually took some time before I figured what the black horn-thing on top of the rifle was; you could zoom in and shoot an unwary soldier! In the face! How freak’n handy is that? Maybe they should use that in the army.

Photorealistic! In Goldeneye’s follow-up, Perfect Dark, you were actually able to take a photo of your own mug and wrap it on your character. The idea was banned though. Murdering your friends wasn’t very Nintendo-like…


There were many reasons to like Goldeneye. One important one were your enemy soldiers. Their heads looked very real(…), and they actually behaved a bit like human. Well, sort of. Again, keep in mind we were mostly murdering aliens, demons, monsters, knights, goblins and other fictional scum. But now we were dealing with real human soldiers. So they had to act somewhat reasonable too. The Bond baddies didn’t yell “take cover!” and didn’t cooperate as a team either. Nevertheless, they looked pretty real thanks to their wide variety of animations. Most enemies so far could walk, fire, and die. But these guys could throw grenades, reload a gun, kneel, or take a Rambo side-roll to “surprise” you.

Even better were the hit- and dead animations. Shoot a foe in his left hand, and he will shake his left hand in pain and agony. Shoot a foe in the butt crack, and he’ll jump up like a little girly that was stung by a bee, in the ass. Shoot a foe in the head and… he just drops dead. Trying out all the hitzones was a joy on itself, but also had a tactical element. Obviously headshots are effective, but hard to make. Shooting a guy in a more easy but painful area, would slow him down for some seconds. And these little bits of extra time are crucial, but often forgotten in console shooter games. With analogue sticks on your controller, you just can’t aim that fast. The badguys in 007 are relative slow, they take some time to aim and fire. Not because they are stupid, but otherwise the game would simply be unfair. And believe me, many console games made or still make the mistake of bad pacing.

I must tell the enemies in Perfect Dark, the other Rare shooter on the N64, were even more “realistic”. They could kick you, run to an alarm or call for help. You could shoot the weapon out of their hands, and some would surrender. All kinds of tricks to make you believe you’re dealing with humans instead of robots. Quite funny that the foes in many modern games still aren’t that far. They never surrender, they don’t care about their mates, and even after a head- and kneeshot they still keep charging. You see, Rare was making big steps with their shooter games, as well as other great titles they did. Too bad Microsoft lured Rare to the Xbox, let them made a fool of themselves with the Perfect Dark sequel fuck-up, and threw them back on the streets like a raped whore. So much creative potential wasted. Nintendo and Rare were born for each other. Donkey Kong, Goldeneye, Blastcrops, Banjo Kazooie…


The facility

Anyway, my name is Bond. James Bond. Explosions check. Badguys check. But how about the other typical James Bond things? You know, babes, Q gadgets, secret bases, a story line? I didn’t see the Goldeneye movie with Pierce Brosnan when I started the game, so I had no reference. But at least the game felt like a Bond movie. And judging after seeing the movie, it actually stays pretty close to the movie. Same main characters, and same main locations such as the (nerve gas?) facility + runaway airport, the frigate, Siberia satellite base, Soviet statue graveyard, st. Petersburg, secret jungle base, and of course the flying cradle where main villain Trevelyan comes to his end.

Bond himself didn’t visit all these locations in the movie, but for a game it’s fun to blow them all up of course, so they did tweak and mangle the script. There are twenty levels, plus two more bonus stages. That doesn’t sound like a whole lot, but each level is unique and hard to beat. Whereas most shooters would still drag you through one corridor after another, Goldeneye had more open area’s and allowed you to try multiple approaches. Sneak enemies from behind and keep a low profile, or sound the alarm, place trip mines, and mow down everything that moves?

Also pretty new were its objectives. It sounds silly now, but in a shooter the goal was usually just to find the exit, killing everything on your path, and eventually find some keys to unlock doors. In Goldeneye, you would have to do “Bond” things, like placing a tracker unit on a helicopter, hack a mainframe, escort women, or find a suitcase. It’s up to you to decide in which order, but Goldeneye is also a difficult game. Choosing the right routing, weapons and moments are crucial for winning the levels.

And that made Goldeneye an addictive and lengthy game. Beating it on Easy was well, pretty Easy. But doing the same on Medium or Hard was another story. Not only did the enemies get tougher, there were also more objectives to accomplish. Normally I wouldn’t bother doing a game all over again, but the levels were so much fun, plus the game smartly rewarded you. Beating levels on hard would give all kinds of cool cheats. Paintball mode, DK (big head) mode, infinite ammo, all weapons, et cetera. The dessert would be unlocking two secret levels when accomplishing all levels on the highest difficulty. Which was almost impossible, I spend many hours and days trying to do that. But leaving the game behind, knowing you didn’t see all 22 levels was not an option.

Still remember all 22 levels?


The man with multiple Golden guns
Another reward for finishing levels, were extra characters and levels in the Multiplayer mode… Yes, Multiplayer mode. Again you kids probably scratch your head, but in 1997 this wasn’t all too common. Certainly not on a game console. Yes games like Doom and Duke already offered Deathmatch. But unless you were a lucky bastard playing with lazy colleagues in the office, no one had a (proper working) IPX network. Quake went a step further, but again, Internet was still something most parents considered as a not so necessary funny feature. Plus, like an old telephone, it would cost you for each minute you were playing.

In other words, asides from some half failed attempts with Doom, GTA and Red Alert, I never really played a Multiplayer game. But now Goldeneye would offer you a split screen modus. And, the N64 didn’t have 2 but 4(!) connectors. I don’t have to explain you how Deathmatch works, but it was all fresh and new. Whenever a friend came by, doing some Goldeneye Deathmatch was part of the visit. And my little brother was also forced to join, although we gave the little fucker special “anti-spy” toilet roll goggles. Odd but true, somehow that asshole always knew our secret hiding positions… So had to wear the goggles and sit 40 cm away from the TV, so he could only see his own quarter of the screen.

The funny thing is, except for Goldeneye and Unreal Tournament, I never liked Deathmatch games. I can see the potential of working as a team, defeating another intelligent enemy. But the fact is, no one works as a team. Because you don’t know each other, and a virtual life is worth absolutely nothing. You’ll respawn in 4 seconds anyway. In a game like Battlefield, I see one idiot after another running into the most nearby chopper, take off, launch a few missiles, and get blown up again. In theory you would cautiously approach the enemy with your buddies. In practice people run circles around each other firing missiles. Realism.

Then again, you don’t have to take a game very seriously of course. In that case, what is better than grabbing chips and beer, and have fun with friends? Goldeneye had some options to make teams, and mess around with the available weapons and health. So for example, you could make your own challenge, 3 tiny “Oddjob’s” trying to kill a gigantic max health Jaws. Or let one player hide proximity mines everywhere, and then let the others try to disarm all bombs without getting killed.


I’d like to use this opportunity to explain one more “only once, never seen again” multiplayer feature Rare made for Perfect Dark. Besides Deathmatch, Perfect Dark also offered a lovely cooperative modus, which means you play the main story campaign as usual, but with the help of a friend. I’m a fan of coöperative gameplay. Too bad that many classic games such as Halflife didn’t involve an integrated coop. It’s more common now, but now I lack friends coming over here to play a game. And doing Resident Evil 5 together with little Julia is… not yet.

Anyhow, Perfect Dark had yet another mode called “Counter-Operative”. Again, the player would do a normal level, against the computer. But instead of helping you, player #2 would take control over a random computer foe. This allowed to put yourself in the shoes of the CPU, seeing the levels from another perspective. Patrolling a bit around as a soldier, hiding yourself in the toilet, slap other soldiers. Wouldn’t it be cool to chill a bit with the Combine in Halflife2, waiting for Gordon to show up? Once again Rare showed its creative capabilities, but for some reason (PC) games never copied this feature. The only game I know which has something similar, is Left 4 Dead. Opponents can take control of zombies and assault the survivors.



The key question
As said, Goldeneye was a pioneer for its time. Spectacular graphics and sounds, new elements such as objective based levels and Deathmatch, well thought level design, addictive gameplay, tons and tons of weapons. This was a reason to buy a Nintendo64, and a shooter milestone in general. Then why does Goldeneye feels aged more than Doom for example?

Hard to answer, but I think Goldeneye looks too much like a (dated) modern shooter, whilst Doom or Duke are distinctive different games than, for example Crysis. Goldeneye tried to look realistic (and did for its time), Doom or Duke while look like cartoons. They still look somewhat good, because they didn’t have to look realistic in the first place. You don’t say The Simpsons or Southpark look dated and unrealistic either. Pretty much any modern shooter has tons of machine guns, destructible environments, smart soldier opponents, open worlds with objectives, and multiplayer. And clearly in a more mature stadium than Goldeneye or Perfect Dark. You can’t play Goldeneye without comparing the level size with modern game worlds, and no matter how cool the hit- and dead animations were back then, they can’t beat ragdoll physics. Doom or Duke on the other hand are brainless arcade action games, where you would blow up as many monsters as possible. Quite different than most modern “serious” games, and therefore refreshing and still fun to play once in a while.

Doom and Duke are timeless ancient artifacts, Goldeneye was a beautiful woman from the past. Aged now, but the pleasure was all mine when I met her.

Sunday, May 4, 2014

Don't call me daughter

It has been a while, so let’s throw a few vague screenshots from rooms you didn’t see before. Nothing too fancy, but hey, better than nothing. These are part from a little “test-demo” I’d like to show you somewhere… I’d better not make time-related promises… I wish I could, but we’re still busy finishing the other “official” demo movie, everyone is extraordinary busy at work, AND, I have a new excuse in my sleeves…

Or well, not a good excuse (yet), but I'd like to share it anyway; I'm going to be a daddy again :) If everything goes well of course, 10 weeks is still quite premature. And yes, I will annoy you with some father & daughter stories this time. Dedicated for all the daddies, and I’d-like-to-have-kids-but-I’m-not-quite-ready-yet fathers (and moms of course).


MTV Teenage moms
I became a dad pretty young. Well, for Western standards at least. Aged 30 now, in some countries I could have been a great-grandmother already. Anyhow, I was 23 when a panicking girlfriend text messaged me, writing she wanted to die. Not literally I presume, but getting kids at that age was a privilege for MTV teen moms, trailer trash, and fanatic servants of the Lord. In addition, I still lived with pops & moms, sleeping in my solo manhole game dungeon bedroom, fresh from school. And moreover, no one else in our direct circles had kids.

My girl-magnet skills didn't work out very well so far, so when predicting our futures with friends, my prognoses was that I would find a charming cow called Bertha somewhere in a singles bar at the age of 40. Although I found this "little twist" pretty funny actually, I was also ashamed to announce I would become the "first dad”. I told my friends and brother pretty early, but telling mom and dad felt like climbing the Atlantic wall. "Rick! You should know better!". Finished school, just got a promising job, and look who's a MTV Trailer kid now?!


Well, pride is something you can swallow. Self-mockery also helps. But more trivial was the fact I didn't knew my girlfriend that long back then. Not much longer than a year. Hence not even a year if you exclude the periods she wasn't here. As she comes from Poland, she worked here for random periods, then had to return again for a few weeks or months. Or maybe forever in case there wouldn't be new work anymore. After some years, a real man is glad he can be home-alone or gone-with-friends without having to listen to Nonstop Female FM. Orders here, complaints there, guess what Suzy said?! No she didn't! But when being just in love, it's terrible to get separated, not even knowing she'll ever come back. And no, we didn’t have Skype or anything. Let’s say in my girlfriends household, they still wind up the TV with a donkey.

Not exactly a solid fundament for getting kids. Hence, at that time we couldn't even normally communicate. As said, now she yaps the ears of my head but back then her Dutch was pretty bad, and I don't speak a single Polish phrase either. Cuddling doesn't require much language. Arguing in strange languages downgrades the arguments and reasoning to childish levels. So how about real serious matter, such as living together, and raising a kid together? It's not like giving your girlfriend a rabbit for her birthday. Your whole life will change, playtime is over. And needless to say, she had the same concerns.



Almost forgot, the screenshots. Not the best looking scene every, it's "programmer-art".

Flee Forest!
If I ever had good arguments to flee, this would be it. Drink beer with friends or change diapers? Start working and save money for a nice place later, or spend all your bucks on a crying kid in a little house now? Put an end to an already difficult relation, or get forced to live together because of a baby? Wait for the right moment, or put a kid on the world in turbulent conditions? Pride or shame? My girl was prepared for the worst when she text messaged me that November day. A pregnant young woman, all alone in a strange country, without any guarantees...

I received that message while I was working. Thought for some seconds, and then replied with one of the few smart things I ever said: "It's going to be all right.". That evening, I drove to her, and gave her a kiss on her belly to pull her a bit out of her shock. I'm far from a romantic, thoughtful type, but I'm still pretty proud on what I did that day. If there is a shipwreck, you'll need a vast rock where the drowning can clamp on. My perfect future picture was shattered, but I only needed a few minutes to decide I would help her. And the baby. Period.

Words can be hollow, but in case you ever get in this situation, never forget there are worse things. I always wanted children anyway, and how hard can it really be? Billions of people did it before. Some without a husband, or even without a house or food. You can make drama as much as you want, but it isn't going to fix anything. We aren't stupid. We are fixers, here is the moment to prove what you're worth.

And it all went well. Baby is getting a real spoiled princess now. Girlfriend speaks, works and lives like any Dutch now. We live in a little but nice house, and I still drink beer with friends. Maybe not as often anymore, but if you can get some help you certainly won’t get trapped in your house. Be creative, switch tasks with your girl, call the babysitter, or ask mom and dad. Yes, they were shocked when I finally had the balls and told them. But as soon as they can start buying little socks and then see a little critter 9 months later, they will become a proud grandpa and grandma. Despite the fact babies can't do much more than sleeping, burping, crying and overload their brand new pants, they have that mysterious skill to charm another. Mom, dad, grandma, grandpa, aunt, uncle, friends... the whole discussion of right or wrong fades away like rain in the sun when they can finally hold that little guy. Mother Nature overrules.



Perfect timing
This time, the pregnancy period will be a little party. Not having to visit the gynaecologist in silence. Not having to buy an house in a rush and beg your employer for a contract. Not having to delay the inevitable confrontation with your parents. Not having to worry and doubt about each other anymore. This time, we can enjoy.

What is the right moment to get kids anyway? When looking at my friends, we're still the only couple with kid(s). Not that my friends don't want kids, but they await the right moment I guess. School, work, house, be happy together for at least X years, marriage maybe, realize your own plans first. The logical order. But even then, there won't be a "Goddamn, I can use some kids now." moment. Like the little bastards or not, they don't come for free. They eat your time, wallet, and your girls breasts. And you can't exchange them, or put them in a freezer for some days if you had enough. Being a parent, is forever. So of course, I don't judge or blame their awaiting.

But unless you really hate kids, have far more important priorities, or just live in a shitty situation at the moment, the good things in life sometimes require a sacrifice. If one expects or demands everything for "free", he or she isn't worth a kid. There won't be a perfect moment. You're always busy with something. Whether it’s getting a promotion on work, moving to another house, redoing the garden, or mourning because of family tragedy, there is always something. When you turn 35, you probably still like to go on vacation. When you turn 40, you still may get a busier job with more responsibility. Getting up early on Sundays will always suck. And your house will never be perfectly finished either. I'm not saying one should rush. Hell no, do whatever you like. But don't forget the clock is ticking. It's a bit like going to the dentist, whether you go right now, tomorrow or next week, it's going to suck anyway.

Have some faith in yourself. Even if the house is isn't finished, the baby will sleep fine. Maybe you won't, but hey, that's only temporary. If there were some financial problems, in Africa they raise kids with absolutely nothing so just hold back a bit on whatever isn't really necessary, and you'll be fine. You can miss more than you think. You see, anything can be fixed. And looking back now, I'm actually quite happy we're "young parents". It's not only biologically justified, you have more energy to overcome hectic tasks, and it's easier to understand their world (being still half a kid yourself).





Centre of the universe
But ultimately, it's not only about making offers. If you can love your girl, your mom or your dog, then sure you will love your baby just as much, if not even more. Giving love and being loved. That my friends, is priceless. You can't translate that to 100 times drinking with friends, sleeping 4 hours more in the weekends, 3 expensive vacations, or a 20% bigger house. Personally I don't believe luck can be bought anyway. A faster car is fun, but you'll get used to it. A new video game keeps you amused for approximately 10 to 30 hours. But they aren't going to help you, cheer you up, or play Bingo with you once you're 82 years old and all alone. You already feel it when dropping of your kids, and being alone for a day. The house feels… empty.

I think people are too much busy with themselves these days. And so am I. Work, work, work, Tower22. Check telephone, check emails. Talk about what you did, show your new stuff. Train yourself, develop yourself, treat yourself. Face it, how much hours each day are you doing "your stuff"? Probably more than listening or taking care of another. The best example is our distinguished classic house-mom-slave. Just like men, women are busy making a career and often don't even know anymore how to turn on the microwave. I'm not judging, that's our society. But with a kid, you'll realize and accept you're not the main act on the stage anymore.

Next Saturday I'll bring my little girl to swimming lessons for the first time. 8 o fucking clock in the morning. But I can guarantee you, watching her trying to stay above the water, having fun, and proudly telling mom and me what she did afterwards will make it all worth. I'll be there to watch my little girl, not to have some more "me-time", which would have probably been "stinking in bed" at that time.


And in case you're just not really a "kids-person", well, neither am I. just never really knew how to react or behave when someone else kid is there. Tell a dirty joke, and an angry mom will slap you. Touch them and an angry dad will kick you. Do something wrong and they suddenly start crying. Being on their level, with the same kind of humour and interests is difficult. But don't worry, you will learn. Just as long you spend some time with them. Notice I said "spend time", that's not the same as buying iPads to keep them silenced. Read them stories, play games, make jokes, teach them all the wonderful things. Allow yourself to be a kid again, just a little bit. It might be your last chance this lifetime.

Like it or not, but our kids are the future, not you and me (anymore). And it’s good to know someone will continue our journey. What you teach them, will eventually become your legacy.

Sunday, April 13, 2014

Post-mortem-review #1: Zelda

As announced in the February post, I'd like to write about some of my favourite games. Sure there are plenty of (classic)game-review-websites out there, and I guess you guys are more interested in T22 updates or programming tutorials. Nevertheless, I’ll do it anyway. After all, those games brought us here. They didn’t just trigger the interest to design games, they made me learn programming in general, and learned what mechanisms work or don’t work in games. Some say games make kids violent. I’d say games make them solve problems on more creative ways. Hence, I actually believe games can leave a permanent footprint in your character. When talking with friends or my little brother, the way we talk, joke or imagine things often reflects memoires from old cartoons, movies, books, and also games.




My Link to the past
One of the games that definitely left its traces deep in my soul, are the Zelda series. So, hereby the first “Post-Mortem-Game-Review”: Zelda.

Erh, which one exactly? There are like, hundred Zelda titles? Even the CDI has (a very bad) one. I didn’t play all of them, and unfortunately(I suppose) the infamous Zelda 2 had to be skipped as well since we never owned a NES. Nope, our journey started with the SNES, with “A Link to the past”, and all major titles that followed, including the pretty recent Skyward Sword. Didn’t play most of the handheld titles, but if little Julia is a sweet girl, Santa Claus might give her dad “A Link between worlds”, or I mean a 3DS.

Anyhow, I must have played at least 8 Zelda titles. My favourites then? In my experience the “surprise factor” dropped a bit after the N64 releases. Probably not because the quality went backwards, but just because “been there, done that”. So, summing up my favourites: the SNES one (because it was my first), Ocarina of Time (because it was the first successful 3D conversion, and overall “wowness”), and maybe the most ingenious instalment: Majora’s Mask. I’ll get back to those later.


For a short period, Cell-Shading was the next best thing since sliced Bread. Only a few games actually did a good job rendering "Cartoon Style" though.

I liked the Windwaker (GameCube) as well, made in the early days of more advanced shading effects, where “Cartoon Shading” (or Cell Shading) became popular. Sailing the ocean gave a great feeling of freedom, yet the lack of land and towns to explore, pulled this title back from my favourites-listing. The Twilight Princess (Wii) was a bit of a disappointment. Whereas the GameCube was a step forward in graphical evolution, it soon became clear that the Wii had inferior visuals compared to the PC, Xbox and PS3. Now Nintendo games never relied much on photo realistic fancy graphics, but the Twilight Princess just looked gritty, a bit scary, and moreover, it was empty. Games had to be bigger, longer, more epic, and more everything. But the Twilight Princess proved that size doesn’t always matter.

To me, the Zelda-world is the key ingredient in these games. Without the right proportions, filling, vista’s, atmosphere or puzzles, the world fails to suck me in the magical Zelda universe. In a GTA game, you’ll race through the world, so it has to provide enough roads, jumps, shortcuts, and obstacles. In a shooter, the world needs to provide cover, tactical routes, sniping points, and stuff to blow up. In a Zelda game, the world needs to absorb you into an amazing fantasy setting, invite you to explore every square inch for hidden items or wall-cracks that can be blown up with a bomb, revealing new areas. You can’t just randomly throw “good looking stuff” together. In its own weird fantasy way, the world has to make sense. The more square kilometres the playfield covers, the harder it gets to inject the right ingredients in the right dose. The Twilight Princess was too empty and gritty, resulting in an eerie world that didn’t invite me to get explored. Fortunately the 2nd Wii title, Skyward Sword, made it up a bit by presenting a more cheerful world again. But still, my heart lays at the SNES and N64 titles.


Gritty battles and empty fields... Twilight Princess left a somewhat eerie impression to me.


Zelda, Zelda, who the F* is Zelda?
Nice but maybe you never played a Zelda game, and wondered what all the fuzz is about? Looking at my own friends, most of them heard about it, but never played it. It’s not exactly the kind of title for Cool kids. For outsiders, this Zelda-obsessions is the same weird thing as Trekkies & Star Trek, or corpulent semi-matures that paint themselves as Darth Maul for the next Star Wars convention. You love it, or you just don’t get it. This is something that can’t be taught or explained afterwards. It’s something you grew up with. If you didn’t, you will likely never understand why a lot of gamers have a special location in their heart for games like Zelda. As an (adult) outsider, Zelda may look cartoonish, a kids-fantasy-thing. Sword fighting with an Elf-guy, but no rolling heads and bloody limbs? Mehh…

Of course, we know better. And I’ll likely fail, but let me try to explain the charms and magic of this game one more time. First of all, you don’t play a guy named “Zelda”. Zelda is a princess, and if you are a bit familiar with Nintendo characters, you can guess she has the bad princess-habit to get kidnapped all the time. And it’s up to you –Link-, to save that naïve fool again, and again, and again… sigh.

Save the kidnapped Princess… doesn’t sound like a brilliant story. But wait a second. You play as Link, though this person doesn’t have a real name, background or biography. You play the same character in each game, saving the same princess usually, but the characters are timeless and the individual stories have no relation with each other. It’s like the same story is being told over and over again, but in a very different setting. Different time, different side characters, different backgrounds, different world. Sometimes Link is a little boy, in other titles he is a full grown man. Sometimes he lives on an Island, another time in the forests, or sky. One time you’ll live a simple sheepherder, next time you’ll be a knight of the Hyrule Kingdom. Link himself never says a word, even though you’ll have a lot of conversations with the world inhabitants. You can customize his name as well, so that makes the protagonist some sort of blanco character that you’ll have to colour yourself. Link isn’t really Link… it’s you.


Ganondorf was depicted as a pig-warrior (or something) in earlier Zelda games. Later on he turned into a greenish knight / magician kobold kind of thing.

Other characters keep returning as well, but again with different names, playing different roles, and sometimes even in different appearances. Sometimes Zelda is your pirate girlfriend, not knowing she is actually a princess, another time she gets a more classic role, living a big ass Hyrule castle. Your archenemy Ganondorf comes in multiple forms as well, represented by different myths and legends of evil in each game. Other characters don’t really change, but are giving you a “welcome back!” feeling. For example, many Zelda games have a running Postman that is always in a hurry, or Gorons; big brown –but friendly- creatures that live in the mountains.


Zelda selling point
Each Zelda game is founded on the same elements, but worked out on a different canvas, by a different artist. The story background can differ, the evil plans of the enemy differ, and most important, each gane trues to have an unique main feature that is used throughout the game. For example, the recent Skyward Sword puts the focus on the sky, flying between floating islands, while the Windwaker plays on the sea.

In a “Link to the past” (SNES), the main unique feature is a mirror object that allows you to travel between a normal, and evil-transformed version of the same world. So the same world has been made twice, but the “Dark world” variant has different (broken) houses, the inhabitants transformed in weird helpless creatures, and bridges may have moved or collapsed to the other world. The N64 “Ocarina of Time” does something similar, where the player can travel through time. The world is pretty intact as a kid, but as an adult, the same world is take over by hostile forces, rivers dried up, and villages have been destroyed. As you can see, each new Zelda title will pick a specific theme and element as selling points, making it different than the previous titles. Unlike most other franchises that just continue to exploit the settled theme, until players can’t stand another bite of it anymore. This is probably the reason why Zelda is one of the longest ongoing game series ever.


Main feature of "A Link to the Past" was warping between a "Normal" and "Dark" world



Throw ‘m in the dungeon!
Zelda games can be roughly divided into Fighting, Exploration, and Puzzling. Fighting doesn’t require much explanation. You carry a sword and several other items such as shields, hammers, crossbows, boomerangs or magic potions. Most of the enemies are relative weak, and merely just fill the environment. Bosses on the other hand require thinking to discover weak spots before they can be defeated. Though you have quite some moves with the modern Wii Nun-chucks, the enemies are too simplistic to call Zelda a real action or brawl game. It’s an important element, but not the game maker/breaker. Then again, other players need their daily dose of action, so Zelda games make a smart combination of both worlds by giving you over-worlds to explore, and underworlds, dungeons, to fight.

To put it simple, you accomplish the game by conquering all Dungeon bosses in a specific order. Dungeons are about fighting, jumping, climbing, and mastering obstacles (often with new found items). The world outside, between the dungeons, focuses more on exploration. Visiting towns, chat with people and fix their stupid problems, buy items, and find hidden spots. This can be done at your own tempo. Either you rush through the world (on your horse / boat / bird / racing shoes / whatever you ride) from A to B, following the main story objectives. Or you step off your horse, enjoy the sunset, sniff the grass, and solve a side-quest. These aren’t always required to beat the game, but they can provide you valuable inventory items such as a stronger sword, more hearts (a longer life-bar), bigger bags to carry more bombs, or Rupees (money) that can be spend on healing potions before you enter another dungeon. So basically, the relaxing field trips and village visits are interspersed with action in the form of Dungeons.



Sand palaces, snow castles, forest ruins, underwater temples, sky fortresses, castle dungeons, you name it.



Mastermind
As for the puzzling part, you won’t be solving Sudoku’s or combining very random items like you would in Monkey Island. The puzzling is more integrated with the exploration part, meaning you’ll have to carefully watch and remember everything you’ll see or hear. For example, early in the game you may find a path being blocked with a large boulder. Later on in the game you would find a big bomb, or power-gloves that allow you to get smash the obstacle. That doesn’t sound too hard, but the environment, items and dialogs giving hints are set up really clever. Especially in “A Link to the past” or “Ocarina of time”, the puzzles aren’t just limited to getting rid of an obstacle. For example, some spots might not be accessible in the “Dark world”, so you’ll have to stand in a certain position in the other “normal world” variant, then warp back to the Dark world to put yourself on an otherwise unreachable spot. Also events in one world could alter the other world. Multidimensional puzzling baby.

As noted before, in times were games are getting questioned as they would make children violent, lazy or dumb, I dare to say that the Zelda games improved my creative and logic skills. The game constantly confronts you with quests or obstacles that require creative solutions. It also trains your memory, as you have to keep your open for hints or suspicious environments that may need to be revisited later on in the game, after acquiring a certain object or ability. So parents, encourage your kids to play games like these.


Everyone who played Zelda as a kid, is a talented crate-slider now.



Immersion
Fighting monsters, jumping around in Dungeons and solving puzzles isn’t something that has never been done before (though the NES Zelda might have been one of the first qualitative titles in that genre). But the way how everything is combined and put in this world, makes each Zelda game a true fantasy journey. You can’t just throw a bunch of monsters, castles and potions into a blender, and expect a nice fairy tale. Each element has to complement. The architecture, the weather, the music, the house interiors, the flora and fauna, foes and friends, the names, the myths, the legends. Compare it to Star Wars, where each planet has its own culture, shown in the habits, speech, buildings, weapons, and so on. Even though Zelda settles in the higher order of “impossible fantasy bullshit”, it still manages to create a consistent, believable world. The funny characters fit in the typical Zelda villages, things make sense more or less.


Just a typical (revamped Wii-U) Windwaker scenery. Islands and sea is the theme here.

The world isn’t just believable, it’s beautiful. Though the Wii versions failed to render spectacular scenery compared to many other games nowadays, the designers always come up with elements you didn’t see before, and combine them into something fantastic. And in contrary to the weak Wii, the N64 console amazed many gamers, fan or not, with the first 3D Zelda back in 1998. Converting a game from 2D to 3D isn’t automatically a success. I’ve seen many games turned into blurry foggy polygon shit because of the lacking ability to render something good on the very limited hardware (PS1 / N64 / Saturn) back then. But thank God, Zelda didn’t make those mistakes and utilized the N64 platform perfectly. I couldn’t believe my eyes when I saw the first sunset once entering Hyrule Field, an open grass landscape. Zelda was one of the first (3D) games that I know off, having a real day-night cycle. And it didn’t just get dark, skeletons and other demons would sprout during night, adding excitement when the sun would go down, finishing a warm hazy day on the grass landscape.


A bit hard to believe now, but seeing a sunset on a game-console for the very first time was unforgettable.

Sunsets, horse riding, waterfalls, deserts, walking over the bottom of a lake, mountains, forests, castles, graveyards, farms. Zelda had it all. Maybe not so amazing anymore in 2013, but absolutely stunning back then. Ocarina of Time printed unforgettable memories back in the Christmas of 1998. And still, even though games can easily copy such elements now, they often fail giving you “that feeling”. Maybe what attracts me most, is the warm atmosphere. Zelda can be a bit “scary”, as it contains mummies, zombies and dark dungeons. But most of the time you can chill out at a lake with a fishing rod (yes, you can fish), have a stroll in the canyons, drink milk at the farm, or lay back and see what everyone is doing in the village. Thanks to the friendly characters and nice music, you feel home. You will actually miss the game, as if you were returning from a long vacation. And this my friends, is something many adventures can’t achieve as the focus is too much shifted towards action or overdramatic story events.







Majora’s Mask
I’d like to give some special attention to one Zelda title in particular: Majora’s Mask. Though it has the same trusty Zelda elements as usual, it feels a bit different... And when it comes to puzzling, it’s truly one of a kind. Majora’s Mask was the second (and last) instalment on the N64, released late 2000. Again it was a 3D game, and again you played the game as a child version of Link. But the game feels more than ever like a fairy tale, or a dream. A dark dream that is, because this game has a real twisted atmosphere. Not because of blood, monsters or anything. It’s just… the world is vivid and very unreal at the same time. It reminds me most of Alice in Wonderland (the old cartoon, not that dumb movie) where Alice enters an absurd world via a very small door, where rabbits living in teapots.


A musicbox-house surrounded by mummies... Ok.

In MM, Link encounters a weird, wooden-like forest child with a mask, called “Skull-Kid”. This little gnome steals your horse, Epona, so you’ll chase him into a gigantic tree where you would fall in a big, deep, dark hole… You must have knocked your head really hard, because what follows is a strange dream with that Skull-Kid, and next you’ll wake up inside in the Clocktower of a complete different world. Still following me? Good.

For a change, you won’t be looking for a princess this time, and Ganondorf took a vacation as well. You are on the look for your horse, but there seems to be an more urgent problem in this strange world called “Termina”: the moon is falling down!


Don't know who made this nice (fan)artwork, but I had to post it.

Oh, and another problem, you wake up as a “Deku Kid”. A what? A wooden tree stump like guy that “normally” lives in the forest. Somehow you lost all your items, and even your own human body. Now what? Once stepping outside the clocktower, you’ll find yourself in Clocktown, at the centre of the game-map (or world, if you prefer). The village is decorated in a colourful carnival setting, and people seem to be working hard for the festival that starts in 3 days. But eh, how about that angry looking moon above the village? Like in a dream, most people don’t seem to be worried or even realize. Basically the plot of the game is to stop the Skull Kid we met earlier, which is bringing down the moon with his ultra-magic powers that mysterious Majora’s Mask is giving him. The moon will crash in 3 days (you can actually see the moon coming closer and closer), so basically you only have 3 days to save the world. Like in Ocarina of Time, the game has a day-night cycle but with the difference that time passes much slower, and the clock being ticking always, no matter where you are (in Ocarina of Time the clock would only tick in certain parts of the world).


Soap series
You don’t like games with a timie-limit? Me neither. But don’t worry, you can warp yourself back to the first day anytime you like with the help of your magic fluit. You’ll also learn how to slow-down or accelerate time. Everything is about time in this game, and you are the manipulator. Time doesn’t just affect the position of the moon or day/night cyclus. It controls what people are doing, what kind weather it is, and what events will happen. For example, the weather is a bit rainy at day2. The festive music changes in a more sad tune, and people prefer to stay inside that day. Another example, during the 1st day night, an old lady comes back from picking mushrooms on the fields, and gets robbed by a thief at 0:30.

Yes, you are thinking right, you can change the chain of events by interfering at the right time. If you chase away the thief, the old lady will reward you. Or help a girl finding her missing love so you can break in his house at day 2 while he is walking to his mailbox. I can’t exactly remember all side-quests, but believe me, it’s pretty brilliant and more complicated it may sound first. A big part of the game plays inside and around this central “Clocktown”, and each character in this town has its own schedule. Go to the mayor office at 14:00 at day 1, go back home at 19:00, deliver a letter at 10:00 day 2, and so on. The schedules are tightly related to certain events or intertwined with schedules from other characters. The fun part is spying on people, writing down what they, and interfere to solve quests.


Just some events at a single location, for a single character.

As mentioned earlier with Twilight Princess, bigger isn’t always better. So you don’t have to watch and remember what 100 people, scattered all over the place, are doing. The town is relative small (but has many hidden spots), and the number of people is limited. Quality goes over the quantity of quests, and the amount is just good enough to handle the situation comfortable. As said, Zelda isn’t only about rushing and action. You can hide in a bush, chill out, and just wait and see what happens. It’s exciting, sometimes difficult, but also relaxing at the same time.

Besides playing Sherlock Holmes, solving people’s problems, you have the old fashioned dungeon and adventure work as well of course. Termina Field is surrounded by 4 sub-worlds; a swamp, a snow-covered mountain, a beach & underwater world, and a spooky dusty valley. Each sub-world has its own portion of troubles you’ll learn about via conversations with the locals. The swamp water is poisoned, the mountain village is covered in an extreme snow blizzard, an underwater music band is missing a band member, and so on. By defeating dungeon bosses, the world seems to get restored bit by bit. However, and this sometimes feels a bit frustrating, all your efforts are reset once you travel back in time. Your interference isn’t permanent, except that you do keep your gained powers, found items, and collected masks.


Transformers
Speaking about special powers, you start the game as a Deku Kid, a defenceless treestump, not allowed to leave Clocktown. But it has the ability to hover in the air, crossing wider gaps. You’ll find out how to transform back to your own self again with the help of masks. You can collect all kinds of masks. Masks that make you faster, turn you into a statue, et cetera. Most interesting are the 3 masks that can transform you into a Deku Kid, a strong Goron, or a Zora that allows you to explore deep waters. And of course, these masks don’t only change your appearances and abilities, they also alter the way how people approach you. The Deku Kid is treated as a kid, the Goron gets respect, and you’re a famous rockstar as the Zora character.


As a Goron, you can smash things and quickly roll like a bowling ball.

Compared to any other adventure game I know, including all other Zelda’s, Majora’s Mask certainly has the most complex and interesting dialog system. In most games people just stand somewhere stationary, doing the same thing throughout the game. And as they barely overlap schedules or storylines of other characters, they feel isolated, uninteresting, and therefore fake. But in MM, people actually do things. I’m really hoping to see this back some day in a new Zelda, but I’m afraid this was a single-shot. You’ll have to understand that A.I. behaviour of the NPC’s is tightly related to the clock, and the fact it resets every 3 days. If it wouldn’t reset, the makers would have to make an infinite long schedule for each character, which is impossible (or makes them do fairly unimportant things).




Lessons learned – Tower22
To almost conclude this “review”, it might be interesting to tell a bit about what a game designer could learn from these titles. Tower22 isn’t exactly a fantasy game where you can chat, ride a horse or go fishing. Nevertheless, I found a lot of Zelda elements, including the Majora’s Mask scheduling system, inspiring.

What these games have in common, is that both have puzzling, exploration, and fall in the “free roaming” category. Technically, Zelda isn’t 100% free roaming either (nor is any other game) as there’s still a specific order of achievements. You can’t beat dungeon 3 without beating dungeon 2 first, and you can’t reach the boomerang object without having the grappling hook. But at least Zelda doesn’t really tell you were to go, and it certainly doesn’t restrict you from going back, as a “linear” game would do. This makes the exploration and puzzling part more difficult, as you may investigate the wrong places, or miss a key location during your journey.

I plan the same kind of approach in Tower22. You can go anywhere you want (at least, after unlocking each part), and the game won’t hold your hand when finding your way through the spooky flat-corridor maze. You’re on your own. Of course, you still can get some clues. But unlike Zelda, you won’t have too many chat-partners to get your information. So the hints have to be hidden in the environment instead.

Maybe the most important lesson from Zelda, is the way how they designed their maps. If you plan to make a game, you’re fantasy is probably filled with all kinds of wild ideas. But be careful not to get inconsistent. All characters, events, locations and structures must complement each other, and sometimes less is more. The environment is everything in games like Zelda, and the same will likely count for Tower22, where the focus is not on beating up monsters, but lonely exploring the deepest hidden spaces of this building.



The Next Zelda?
Well, if you are a Zelda fan, I probably didn’t tell anything new but hopefully I stirred some Nostalgia. If you didn’t knew Zelda, I hope you give it a try now, or at least understand the charms of it a bit. As for myself, I don’t know if I keep following the series. The games are timeless, but after seeing the same formula many times, the surprise-factor went down, and the puzzles became too easy / predictable. That doesn’t mean Zelda games are getting worse, you just can’t eat chocolate every day and expect it keeps yummy.

Then again, probably I’ll keep seeing it, as it would make a wonderful present for my daughter once she Is a little bit older. Zelda isn’t just a game for fun, it’s educative, and moreover, it’s a piece of art, culture and a lesson that will affect your fantasy for life! I’m sure it will conquer many more hearts.



Not sure what the next Zelda title will be. From what I know, the Wii-U will have some of the older titles in a new jacket though. So if you want to give these old classics a try, but are scared away by their (very) dated graphics, the Wii-U might help you. And you're helping Nintendo probably, because unfortunately their sales numbers sure have been better in the past! Let's hope Nintendo will keep delivering for many more years.