Wednesday, July 23, 2014

Bogeyman

Having a good drawing hand (or ZBrush arm) is only half of being a visual artist. Having seen some portfolios, students, and paid artists, it happens quite a lot that people more or less master the technical challenges -drawing / modelling / crafting / whatever - but lack nifty ideas. 99 out of 100 artworks just don't give me a warm feeling. No electric sparkles, no emotions were triggered, no "Now that's a damn good idea!". It's just a canvas with paint, or a hump of sculpture. It's dead.

Now taste differs, plus I wouldn't call myself an art-expert. So maybe I'm often missing the point... then again as an artist you miss the point as well if only a handful likes your work. And maybe they only "like" it, as they're afraid of sounding like a dumb savage if they don't. Anyhow, ideas matter. Some people live outside the box and spew out ideas daily as if they suffer chronic brain diarrhea, others need a little push. Some inspiration.


I need a push once in a while. And probably everyone else does, more or less. Most ideas and inventions are a gathering of various sub-fragments you caught before. Music, quotes, animals, movie snippets, technical problems + solutions, architecture, dreams, food, the weather - it really could be anything. We consider copying each other’s ideas as stealing of intellectual property, but trust me, all artists do. Great movie makers like Steven Spielberg get triggered by other movies and books, and even the best drawers or writers have “writer-blocks”, and snack a bit by looking at others. Just as long existing pieces are shaped into something fresh and new, there is no need to shame.

As a programmer I'm more into the technical aspects of T22, but I still think out most of the scenery and story elements so far. Varying from how a room should look to how a monster should walk, or what kind of audio has to accompany a certain location. And since my creative skills are somewhat limited, I'll try to sniff interesting scents and colours as well. From books, movies, other games, internet, or just daily life when walking around. You don't become a good artist by locking up yourself in the attic with an easel. A musician needs an interesting story to tell, and those stories can only be obtained by real-life tm. And unfortunately it often takes the darker stories of real-life tm, such as broken love, loss and death, to tell something interesting.

Tower22 is a horror game, but (thank God) I don't have dark luggage from the past to unpack. Didn't grew up in war-torn areas, didn't get abducted by aliens, didn't see much blood flowing, and didn't have to fear anyone. Right... so how to make a scary game then? The pool-of-inspiration seems to be a bit dry...


This room doesn't make much sense. Neither does the rest of this post.

Uncanny
Well, apart from lacking such a vivid imagination to work out scenery in the smallest detail, that wasn't too much of a problem. Of course complete libraries and video stores can be filled with horror material. But honestly, most ideas don't come from there, or at least I've seen and played relative little horror movies/books/games (and found most of them predictable or straight annoying). The idea of using an old skyscraper for a horror setting came from a friend, which was instant-creative- fuel for me to work it out, and pour it into a playable horror-game format. This is where seemingly random ideas, knowledge and snapshots from documentaries or real-life experience comes in handy finally (after being stored useless in your brains for many years).

Old buildings are a natural source for scary settings, nothing new. But having stayed in a grey, monstrous concrete hotel in Prague once, having a Polish girlfriend, and remembering documentaries of worn Russian nuclear facilities, there was affinity with this subject. My friend on the other hand always had a passion for skyscrapers, so it was easy to fall in love with this idea. That's an important detail by the way; if you have doubts about an idea, it's probably just not a very good one in the first place… Although... looking at the music industry, many singles came out later after being rejected by their creators first.


Including Silent Hill fog. And... did you know that:
* It's one of the highest buildings in Prague?
* "Hotel Kupa" means something like "Hotel Shit" in Polish
* It wasn't all THAT bad, except from
- the cleaners shoving the peanuts from the previous visitors under beds instead of cleaning
- reception ladies not speaking English except on the last day when they needed extra money for some reason
- A bag of shit/pee/menstruation blood or whatever girl-crap felt down from a few stories higher
- dark brown water coming out of the shower suddenly on the last day
- the brochure showing a green grass fields in front of the hotel, while in reality there was a parking graveyard for rotten Lada's, and a brothel. Of course
* Apparently I wasn't the only one who found it inspiring: vimeo link (see 1:09 & 4:11)


Medieval on your ass
Maybe the overall tactic to make a scary game here, is not to look too much at the typical clichés of blood, guts, monsters, or other (cheap) shocks. Not that those are bad things on themselves, but it’s just not the path I’ve chosen for T22. The goal is to create an environment that feels uncomfortable. Although the hotel above wasn't too bad either, I wondered how people could live with big families in small, low quality apartments. All looking cheerless and the same. I find documentaries about people living in extreme situations intriguing. Living on the coldest places on earth, in North Korea, in the middle of nowhere, or in space - out of control. Feels like horror to me, yet they somehow did/do it.

That same kind of uncomfortable, awful feeling arises when I think about medieval times. And I’m not talking directly about the bloody battles of King Richard VI, but again on how life (presumably) Sucked with a capital S back then. When googling for inspiration, I sometimes go for medieval paintings. Probably the artists didn't do it on purpose, but some pictures are really nightmarish. Showing weird small people, living in weird out-of-perspective small wooden houses. Often in relation with public violence, or fear for the Old man in the Clouds.

Besides having actual horrors such as the Plague, witch burnings, or having some good old battles with the neighbours once in a while, people back then also must have had some serious horrors inside their heads as well. Not knowing much about the world and being afraid of pretty much everything. The Lord, the Devil, strict church rules, diseases, greedy landowners, hunger, cold... Now maybe people 500 years later are thinking the same about us, but I really can't imagine how life could have been a joy back then. The claustrophobic mind-sets are sometimes reflected in old paintings. In other words, perfect stuff for horror-game mood setters

Themes about life and dead, common back then. But more disturbing in old art, is that the makers probably actually believed in what they drew. Not saying that believing in God is scary persé, but... those angels are freak'n disturbing!


The skeletons or sick people here aren't the scary part. The whole building setup and perspectives are nightmarish. Who the hell makes such doors? Typical stuff for a kid's nightmare.



All in your head
While googling around, I stumbled over yet another type of very recognizable "discomfort": Child imaginations: Joshua Hoffine horror photos

Before diving further into the subject, I would like to whoop-ass commenters on that website that categorize the pictures as "pedophelic". Yes, I didn't even really noticed it, but now that you say it, there is a little girl in her underpants yes. I see my daughter almost every morning or evening like that. But, now who exactly is the pervert here? Me not noticing the half “naked“ girl, the author of the photographs that put this girl (his daughter btw) in underpants, or you watching carefully what little girls wear?... I thought so. Just as with some accusers of racism, the worst are often the ones who shout the loudest, the ones magnifying on uninteresting details like skin-color, or what that girl wears. What do you WANT to see?

If you're normal, you don't see a half-naked girl, but a vulnerable child who is death scared of her own imagination. And Dutch readers here can probably guess my opinion about our "Sinterklaas" (the real Santaclaus) with his infamous "Zwarte Pieten" (black Petes?). Yeah, I can imagine an outsider would consider this old Dutch/Belgium tradition as “awkward”, to say the least. But the thing is, we never thought about them as suppressed slaves or even as black people in general. Hell, a black person doesn’t like that anyway. They more look like mine workers with funny costumes, which make sense as they break in your house via the chimney to drop presents. Kids see them as cheerful, acrobatic, and funny. And so did I… Until some anti-racism “protectors” came crying about this party. A kid’s party.

Racism should be eliminated, no question, but these grown-up’s miss an essential point: the purity of our kids. They don’t see a black person, they see a cheerful, acrobatic, funny person. A friend. When looking at the entrance parade (Sint arrives by boat, not a silly flying sledge), you’ll see white, black, Asian, Christian, Muslim and Atheist kids all singing Sinterklaas songs as best as they can, hoping on candy and presents. Pete could just as well be purple or transparent, they don’t care. Silly grown-ups.


The Bogeyman
All-right, a somewhat weird intro for the remaining part of this post, but it sort of makes sense. The “kid’s nightmare” link pasted above depicts some typical fears you may recognize from your own youth. I wouldn't say the photographs are ultra scary or brilliant, but they caught me, set me thinking, and reminded of some youth “trauma’s”, and possibly the very core of why people like horror.

As kids are still pure, their conception and understanding of “good” and “bad” are still very undeveloped. As easy they can be misled by evil people offering candy (no offence Sint & Pete), they have strong instinctive fears to protect at the same time. Having a walk in a dark forest, seeing a dead animal on the street, watching a horror movie, or exploring your own imagination with scary bed-thoughts, are all ways to expand your mental territory. Step by step, you’ll do and dare more.



Didn't you always ran (and fell) of the stairs, rushing back to mom and dead, uh, dad? Kids don't like being alone. Especially not in dark corridors, gaps, closets or other spaces you can't properly inspect from a distance. Who knows what’s inside?! It's not because kids are still stupid, it's actually a very healthy primal instinct. Being in a group increase survival chances, and crouching into a dark cave already occupied by a sabre-toothed tiger would kill you. New unexplored stuff is scary by definition; you don't know if it's any good. Caution is required. Fortunately we do have some guiders. Bright colours, furry materials, pleasant odours, presence of relatives. A safe situation.

Then again the things you trust most, can become your worst enemy. Personally I found the dead(?) mother on bed the most disturbing picture in the link above. Everything is supposed to be good in that picture. Lights on, pink wallpaper, bed, together with your pretty mom, the softest and most loving creature there is. Mom universally equals safety... but cockroaches are coming out of her mouth, something very terrible is going on here.

I had dreams more than once where my mother would fall down the stairs and look at me with a broken neck, or her silhouette watching me a distance as she was about to murder me. Or dad being grey and mummified, not able to help me. Safety shattered. A natural fear.




Chucky
Another one from the link. Dolls a movie cliché? I don't think so, I was afraid of lifeless puppets long before the movies taught me they were scary. Looking from my bed into a gloomy room, only lit by a small orange lamp... Being hidden under a blanket and only a meter tall, the room seems huge. The ceiling far out of reach, and the poor lighting hides the corners of the room. You should feel safe in your bed, just like mom told you before she gave you a goodnight kiss and closed the door. But despite the chilly silence, I felt some presence in the room. Was it the ticking clock, or the scary painting of a somewhat sad boy in his rainsuit, your aunt made? No, it came from the shelves, where the stuffed animals are placed on.

The black glass shiny eyes of that little dog... would he be watching me as well? Some Plushies felt safe, some were just, well, stuffed animals, but a few seemed to be alive. Now some kids would love the idea of living plushies but I found the idea freaking disturbing. Because it shouldn’t be possible.

And that might be the root reason why even some grown-up people (including me) still don't like dolls. I dig Teddies, Baby Born and Barbie. But those porcelain bastards or worn dolls that are older than you... they resemble a living human, yet they are very cold and lifeless. And at the same time, it's if they hide some old stories. I don’t trust them.


Hand behind you while watching the TV? That felt familiar too. Being a bit claustrophobic, I don't like gaps. Getting stuck, unable to move your limbs, not able to crawl back. Getting crushed in an earthquake, that might be even worse thought than drowning to me. But besides that, dark gaps can also hide dangers. Playing night-games in the woods quickly vaporized my fears of darkness, but I still remember some eerie half-awake-dreams of the “Punch & Judy show” slowly raising their rotten smiling wooden heads and rag bodies out of the narrow gaps between my bed and the walls, just behind my head. For the remaining years we lived in that house, I never watched at that gap behind my bed again. Always had my eyes pointed towards the door, the exit, where mom and dad are. But who knows what’s behind you…


Remember you thinking about the puppets living in the TV? These puppets look straight evil. And the black background makes a kid wonder what else is there...


Maybe the photo's on that website aren't super original or brilliant, but he did a good job placing himself into the mindset of a child (something some complainers should try as well). As you get older, you forget your old nightmares as you overcome fears. But having kids, it all comes back a bit. It's sort of funny and touching when Julia runs to our bed, 3:00 AM, wailing about witches or wolves. "It's just a bad dream honey", and we'll take her bed to her own bed and give a kiss. Problem solved. For us.

Just a dream or not, I shouldn't forget that when I was little, those dreams felt awfully real. And once scared, bad thoughts and dreams would keep returning that night. Fortunately our daughter doesn't have much problems with sleeping in general, but going to bed in the dark winters felt like punishment to me, having periods with quite a lot of nightmares. And now I'm trying to dig them up again, as building blocks for Tower22.

Which is hard actually. Thinking of clowns or monsters under your bed is easy, but it takes a kid’s perspective to make them come alive and scary. The type of fears and nightmares of a kid are very different from an adult. Kids dreams are more like cartoons, not making much sense, not following laws of logic and predictability yet. Adult dreams tend to get somewhat more realistic. At least I don't get chased by skeletons anymore, houses aren’t made of flying platforms anymore, and my the dreams of non-helping parents while drowning are gone now that I can swim. Or moreover, I just don't remember most dreams anyway. Having a pen + noteblock in reach helps though. Just a hint.



One last kiss from T22 before going to bed. Sleep well angels...

Thursday, July 17, 2014

Rust in vrede, vlucht MH17, MAS

Not that it's of any significance, but I would like to drop some emotions anyway;

To all fellow Dutch people, but also Malaysian, Belgium, English, Australian, Indonesian, German, Canadian, -and forgive me if I didn't complete the list with yet unknown nationalities- that got somehow involved with the plane crash yesterday: Nothing but best luck and all the strength in the world to process this terrible mess.


Words from some small blog here won't heal any wounds, and it might sound a bit selective since horrible things happen every day. Rockets here, hurricanes there, mass-slaughters, wars, lies, or just personal drama's... the list is endless. This world is far more grim than it should be. But one could not live a normal life if we had to pause and commemorate each of those events. But it suddenly comes very close, a flight from Amsterdam, at least 154 fellow-countrymen dead, footage showing children's passports, knowing they were probably happy and excited for vacation just a few hours before, being myself on that same airport less than a week ago. Unbelievable.

Maybe more uncomfortable, knowledge that we may never know the true cause. Nothing is certain yet, but it seems this wasn't just an "ordinary" accident. But murder. Putin fired the rocket, pro-Russian fired the rocket, Ukrainian fired the rocket, CIA fired the rocket. Who knows. Different media contradict, tinfoil-hat people go wild. I have little faith in "the truth", the only thing I know for sure, is that I don't know much. But fact is that killing these innocent people was absolutely unnecessary. So who-ever who did this; look in a mirror. Proud? That is not a human being you're looking at.


Again, condolences and compassion to those who are directly or indirectly hurt by this. And to the rest of the world; for God sake, learn some lessons for a change. You don’t fire goddamn rockets at children. Period. That goes for you Putin / separatists, for you Obama, for you Ukraine, and for you Israel & Hamas, for us Europe, also for you al-Assad, Kim-Jong-Un, Mugabe, and for you CIA, Blackwater, ISIS, Al Qaida, Boko Haram, Los Zetas, Tamil Tigers, IRA, ETA, FARC. Or whatever the devil your organisation is called. I’m not much of a believer, but this Bible quote (Matthew 7:12) is Gold:
“Wat gij niet wilt dat u geschiedt, doe dat ook een ander niet” /
“So whatever you wish that others would do to you, do also to them, for this is the Law and the Prophets.”

Amen to that. And Rest in Peace, fallen ones.

Saturday, July 5, 2014

Post-mortem-review #3: Super Metroid

Another favourite. Well, and not just a favourite. I think quite a lot people will agree when stating this might be the best game ever made. But maybe also one of those games not everyone may have discovered. If a random TV program mentions game classics, Mario and Doom will automatically flash by. But did you ever hear about “Super Metroid”?


He ho Captain Jack
As often in life, the good stuff comes from unexpected corners. Winning lotteries, wife suddenly pregnant (oops), or borrowing Super Metroid while you didn’t really want to. SM3 (Super Nintendo) certainly wasn’t one of those games on my “must-have-list”. I remember seeing it in a magazine, and couldn’t imagine why SM3 scored 10 out of 10(!). The small pictures showed dark, very flattish, sci-fi / grotto corridors. Not the happy colours you would see in Super Mario, or the amazing semi 3D graphics Donkey Country came along with. Nope, the shots didn’t set a sparkle here, nor did I read the game review. So SM3 just passed unnoticed really.


Ok. So you're 11 years old, and you get a (rare) chance to spend your hard earned money on a game. Looking at the pictures at the box rear-sides, trying to make a decission... Exactly. Screw(attack) Metroid, let's get ape.

One of the coolest things about the (S)NES era, was that e-ve-ry-one had a Nintendo. Friends, friends of friends, classmates, neighbours, older kids two street blocks further, homeless junks, your aunt’s pet parrot. Everyone. So, a wide variety of games was available via the good old swap & lend system. You want to check Castlevania? Give me Double Dragon in return then. Back then, a lot more games were produced for the Nintendo platform (more developers on less platforms, shorter development cycles), so having them all would have been a very expensive hobby. But luckily, by swapping you got a chance to play them all anyway. And so it happened that Super Metroid 3 found its way to my SNES in the spring of 1995 (hey Macarena, aight), almost a year after its release. A classmate wanted to play one of my games for some weeks, and gave me SM3 in return. I wasn’t really interested in it, and threw it in a corner for some days or weeks before I finally gave it a shot.

On a warm afternoon, after school, on our dusty sweaty attic, I made the crucial mistake (or maybe not) to load one of the saved-games on the cartridge, where the player already arrived in the final stage of the game. What followed was an eerie world, thrilling music, spectacular events where this “Metroid” –a powerful flying jellyfish parasite looking thing- sucked the shit out of creatures, a final boss meeting that I didn’t dare to dream if, and an epic escape from an exploding planet. Holy shit. Seems I was misled by dark static pictures, and though I already knew the end now (like women always asking about how a movie ends 5 minutes after the start), I restarted the game and patiently played it.



Who the hell stole my Metroid?!
Yes, a bit of patience is what you need for a game like this. The climaxes are smartly spread and the game starts on a seemingly deserted rainy boring planet surface. Or well, not entirely true, the game actually has a short pre-sequence where you board a space-lab that was under attack. You, bounty hunter Samus Aran (a woman btw) with the arm-cannon, are looking for a Metroid specimen you captured earlier. But the lab crew is killed, and the specimen is gone, stolen by an old familiar badguy; a dinosaur-bird/dragon looking creature called “Ridley”. Just after a few minutes playing, you already find yourself in a short but tense boss-battle with this Ridley creature. Just a taste of the epic boss brawls that will come.

Not again.

Ridley escapes with the specimen, and Samus follows the monster to Zebes, a planet we visited earlier in the first NES Metroid games. A cool gimmick is that you can actually see the old deserted basis you destroyed years ago (on the NES). Just one of the many mood-setters that give this game its special, eerie, claustrophobic atmosphere (something the more recent Metroids couldn’t quite achieve to me). Zebes doesn’t show much life this time, but yet the Metroid has to be hidden here somewhere. Cameras are following your movements… you certainly aren’t alone here… After finding your first few items while descending under the planet surface, you’ll run into an ancient Choso statue that suddenly comes alive (and tries to murder you). In all of a sudden, the planet woke up, and is crawling with alien-bugs. The adventure really starts now.

Your mission: find back the Metroid specimen. How? Penetrate Zebes deeper and deeper with all available weapons and accessory. Eventually you’ll have to kill 4 big main bosses to open a secret passage to the final part of the world; a renewed station that houses your nemesis, Mother Brain. In the old game days, we were used to the concept of (random styled) “levels”. Go from the left to right, reach the flag / door / stairs / key / finish-line / castle / pipe / whatever, and proceed to the next level. But Metroid is made of one big map, divided into six (mainly underground) sub-worlds:
- Crateria: Zebes surfaces and grotto’s
- Brinstar: Underground jungle
- Norfair: Hot lava love in the planet core
- Wrecked spaceship: That’s what happens if the captain drinks
- Maridia: Underground swamp / underwater world
- Tourian: Renewed space pirate station, deeply hidden in the planet


Ah, good old 2D map-design. Not the size of the GTA V world, but you'll be amazed how long it takes to explore every corner.


Buy your grapple beams here
Like Zelda, Super Metroid is about exploration, and action. But the sword has been replaced by an arm-mounted charge cannon, the fairy-tail world with darker underground alien planet, and the magic inventory items with sci-fi gadgets attached to your suit. Link throws boomerangs, Samus fires rockets. She can jump extremely high, run with lighting speed, place bombs, survive extreme lava heat, or morph herself into a ball to roll through narrow passages.

But as usual, you’ll have to find all these suit-upgrades first, so you start weak and without all the mega powers. Most of the fun lays in finding these gadgets, varying from whole new moves to energy containers that increase your total health. Though absolute 2D-flat, the world is big, and there is a LOT of hidden treasure. Pretty much every room has at least one item to find. Although the more important upgrades that are required to proceed, are often hard to find. Unlike those pussy games these days, Metroid doesn’t help you at all. Of course there is a certain logical “routing” through the whole game, but if you missed items or took the wrong door, it may happen you’ll have to search the entire world to obtain the item needed to proceed. Hence it took me a few weeks(!) to find the “Screw Attack” ability. May sound frustrating, but it’s very rewarding at the same time to collect stuff. Because you’ll have to sweat for it.

Most of the items are placed on spots you can’t directly reach, because you don’t have the weapon or suit ability. Other items are hidden inside breakable blocks, or at the end of narrow tunnels that require you to morph into a ball. You’ll have to carefully scan the rooms and keep a watch on the map to find walk-arounds or breakable passages. A cool and helpful item, is the X-Ray scanner that reveals special blocks.


Unfortunately you couldn't scan yourself to reveal the bikini-girl within that suit... unless you were able to finish the whole game within 3 hours, but that is a privilige for Japanese/Korean kids with hyper responsiveness.


Scanning for graphics…
It all doesn’t sound or look too shiny, but remember this game comes from 1994. Rendering a X-Ray beam like this was a technical challenge. And moreover, the whole idea wasn’t implemented in 100 other games already, ready for grab & copy. Metroid pioneered with a lot of things. The graphics may look a bit simplistic / darkish / boring, but this is one of those games you’ll have to see in motion. The way how Samus runs and jumps is fluent, and special effects such as light beams from the scanner, exploding glass pipes, or the steaming, rumbling, collapsing, rotating grotto’s in an exploding planet weren’t seen in many games before.

But the real stars of the show, are the boss characters. A bit as in Zelda, the majority of enemies is just stinky bug cannon fodder. Not really interesting or hard to blast away. As you’ll find energy containers, Samus gets really tough so you won’t get killed easily by weak-ass lava dragons, flying flees, or armoured shell stuff. But the bosses on the other hand… Jesus Christ. In many games, I found boss-battles to be annoying. Hard, frustrating, stupid. You’re just happy when you get over with it, and can continue. Metroid on the other hand is one of those games that makes you look forward to the boss fights. They are pretty hard, but especially tense. Very tense..

Younger gamers that clicked the link may think “A flying green jelly-fish sucking a robot-chicken-dino (23:30)? That’s gay.”. But try to put it in the context. Most boss-battles those days were about jumping on top of a silly monster 4 times. Very common now, but new then, is the final Metroid boss battle having some sort of “cinematic” sequences. The battle has a whole comes in multiple stages, and has some unexpected (scripted) events. Bowser would get more red, faster or angrier when Mario jumped 2 times on his head, but not as dramatic as the Metroid battles. And where most games would show a list of Sixty Mishimo-Tiyaki-named developers, and a “Thank you for playing!”, right after defeating the boss. Metroid proceeds, letting you rush as fast as you can to the surface, as the whole damn planet is about to explode! The whole sequence makes sense. Like a movie.

Asides from the final battle, Metroid had more very quick and violent battles that made you squishing the snes joypad. Fast pace, dozens of rockets, aggressive music, violent monster cries, and characters bigger than your TV screen. The sheer sprite-size of the bosses on itself was very impressive compared to any other game already.


Size matters. But unfortunately also for the SNES capacities. Large characters like "Kraid" where technical showpieces.


What makes it so great
Big bad-guys, a chick in a suit with super upgrades, visual treatment with scanners and lasers. All nice. But you said “possibly the best game ever made”… that’s a dare statement. You’ll need more than a few power-ups and large boss sprites. As said, you’ll have to put things in the 1994 context. A lot of features weren’t made before (or at least not much or as good). But in case the “back in the days” argument sounds like a weak excuse, Metroid is still a fun game to play till this day. Some games just get old, but Metroid doesn’t. Dated graphics or not, you will get sucked into it by the claustrophobic atmosphere, and challenging exploration, and lengthy gameplay. There is so much to find, but often out of reach, making the urge and reward for finding suit-upgrades bigger than ever.

The real power is that all those elements have been glued together just perfectly right. One world flows into another smoothly, bosses come around the corner at the right times, and when you’re getting desperate, a new suit power-up will charge your motivation again. And always with the right tune on the background. The music in this game is excellent. It makes you feel lonely and lost in this Planet cave structure, especially when you don’t know how to return to the upper surface. The music also warns you when climaxes are coming, and goes berserk during boss battles.

Cooking isn’t only about choosing the right ingredients. It’s also about the right dosing, and preparing things in the right order. The Nintendo chefs knew exactly what they were doing, and created a super consistent, detailed and rich game.

Pictures can't really explain this game, so let's show Motherbrain versions instead, including a cartoon version (yes, there was a Metroid cartoon a long time ago).


Metroid Prime?
It took quite a long time before another title was released after the SNES release. Of course I was waiting for a N64 title, but it never came. It wasn’t until 2002 when they finally made a new Metroid game, for the Gamecube – Metroid Prime. Valve would be jealous on that 8 year gap. Anyhow, I was worried about Prime. Living up to extremely high expectations is always a bitch, but I just couldn’t figure how to properly port Metroid to 3D. It worked out (extremely well) for Zelda though. But… I think my concerns were partially valid.

Technically, two of the main gameplay elements in Metroid are agility & searching. Agility means running, rolling, jumping, grappling, avoiding, and so on. The suit gives you plenty of features, and some moves require some joystick training. But thanks to the proper controls AND the 2D Side View, you’ll be able to perform impossible manoeuvres at high speed. But how to do that in 3D? Super Mario 64 showed how, but with an important difference; the game is in third-person-view. Metroid Prime is in first-person. The big problem is that you can’t really see or sense your own body. You can’t exactly tell if your feet are on the ledge or past a floating platform. You can’t tell what is behind or asides you. Of course you can turn your head, but the analog sticks are pretty slow compared to a PC mouse. Whether you are playing a shooter or platform game, the pace (including enemy A.I.) has to slow down because you simply can’t monitor your surroundings quickly. The turbo manoeuvres and rapid violent boss battles were key elements in Super Metroid 3, but have been slowed down a lot in Prime.

Another problem with a FPS view, is that you can’t view your own awesome moves. Not really a problem in a shooter where all the focus is on the gun, always prominent in front of you. But in Metroid you make saltos, fly around, swing like Tarzan with your grapple-beam, roll around, et cetera. But you can’t see it. For the same reason, a fighting game like Double-Dragon wouldn’t work in First Person, because you would miss half of the fancy Jean Claude van Damme moves. Prime made a wise choice by zooming out the camera when morphing into a ball, but most of the time it feels you are controlling a heavy metal mech, rather than the super agile Samus Aran we remember from the 2D games.


Not only did the First Person limit my view, the fishbowl helmet effect actually made me a bit dizzy after an hour playing. Too much stuff going on, over was my uncomplicated 2D youth.

As for the searching component, they made it too easy, although slightly different than I expected. Earlier 3D games had quite bad graphics. You could immediately tell if an object was part of the static scene, or a dynamic thing. A destructible wall or movable crate would betray itself simply by looking a bit different. No shadow casted, pixelated shaky edges, another level of detail. A 3D detective like me could easily pick out suspicious objects, making the puzzles way too easy. Basically anything that falls out of place, is probably hiding an item or part of the solution to proceed. The 2D Metroid didn’t reveal anything. A destructible block would look exactly the same as any other, making the search a lot harder.

However, Prime didn’t do a bad job rendering things. And thinking about it, maybe this is the reason why they skipped the N64 platform and waited for somewhat more powerful hardware, doing justice to their game. Yet they screw up. By giving tons of other hints. Not per accident with glitchy graphics, but on purpose. The game always told you where to go, so getting lost or searching the wrong places for hours wouldn’t happen anymore. And your visors were a bit too powerful, revealing anything suspicious. To make a long story short; the puzzles were too obvious. Of course this kept the flow in the game, but I play Metroid for puzzling, not really for the shooting part. We had Doom, Halflife, Farcry and plenty of other games for that.

The pipe tube... Probably I wasn't the only one stuck for weeks before realizing you might be able to blow it up. At least Metroid Prime would give you a hint about "the structural integrity sucks", or something.


Prime isn’t a bad game at all, but it doesn’t come close to its SNES grandpa. Doing it all in 3D was a difficult (but inevitable) transition, but possibly they could have made it better by choosing a third person view, and chill out with the overdose of hints. We gamers aren’t stupid. Although… many games now don’t even allow you to think anymore. It’s a trend in game-design, unfortunately.

Maybe my main beef with all the Metroid Prime games (there were two on the Gamecube and at least one on the Wii that I know of), is the atmosphere. It’s certainly very different from most games, making it still an unique game. Very… exotic in an alien way. Strange creatures, bizarre planet fauna, LSD trips, twinkly music… This game tries to be beautiful, rather than dark and eerie. Except for a few locations maybe, but there is much more outdoor environment, and since you never get lost really “thanks” to the hints and advanced maps, you won’t get that desperate, claustrophobic feeling that made SM3 brilliant.


The somewhat recent "Metroid another M" (Wii) actually used a semi-2D style again. But judging from the pictures, I'd say this game focusses on triggering the blaster yet again, rather than exploring spooky underground mazes. Unfortunately. Then again, I was a bit wrong about SM3 as well, wasn't I? Pictures can be very deceiving...



Well, it proves that even golden formulas can fall apart quite easily when having some misplaced elements. Of course Prime had to pick a complete new path in order to follow what other (3D) games were doing. And don’t get me wrong, they were worth buying I think. But also the other 2D Metroid games for the handhelds never reached the brilliance of SM3. I doubt if there will ever be a true follow-up for this game. Times change, and just trying to make the exact same kind of 2D game isn’t the answer either. As with Zelda, it gets too predictable when using the same characters, puzzles and items again and again. That doesn’t count for new generations of gamers who never played Metroid or weren’t even born back then. But this old grandpa probably just has to be happy he didn’t make the dumb mistake to let SM3 go unnoticed. You can only fall in true love with a with a woman once or a few times in your life. And I found my true game-love in Super Metroid 19 years ago.



Oh, for those who never managed to finish the game within 3 hours, here she is.

Monday, June 16, 2014

Big yellow, bent, bananas for sale

A promise to the past
As you get a bit older, you'll learn things. Really! Not schoolbook stuff, but how the world actually works. Or maybe why things DON't work. Half a life-time ago, which seems like yesterday, I had dreams of what to do and what to become. Just like anybody else. Many years still ahead, young, fit, and plenty of time on your sleeves. You're invincible. I would make a popular game. Not tomorrow -naïve is not the same as dumb- but definitely somewhere in the future.

Well, as one after another year passes, I'm catching up with this "future". You get less ambitious, or more realistic. Or both. But it's a sad fact that most boys don't become Rockstars, astronauts, top footballers, or William Wallace. Even starting your own business is a bridge too far for most. You live, you learn, you work, you'll die. And in the meanwhile we make children and hope they get a better chance to realize their dreams.

That sounds a bit demotivating, but it's just true that ambitions slowly fade away. It's a mixture of (lazy) delays, fear, and loss of urgency. When you get older, there is less urge to prove yourself. Especially once you found a job + home + girl. It's just natural. Women cut their sexy long hair and gain six whales once they get married, because they don't have to "hunt" anymore. Same thing for men. Rocky Rooster becomes a Slothy Snoozer. Why run further if you can afford yourself a couch?


Fortunately, I think, I still have the urge to "make something". Not really to prove myself, but just because I hate to waste my time on doing nothing. Watching TV, go fishing, walking from A to B without a real goal, sunbathing like a pig in a vacation resort, sleeping... *shivers*. Nah. Whenever I try to relax, I get chased by my inner-devils from the past I once promised to make something of my live. Although the little red pitchforking voices are starting to get a bit older as well, I still can't just sit down and do nothing. Well, I can sit down very well, but behind a computer, in a machine, over a drawing, or as an exception on a barstool. Programming Tower22, doing over-hours for work, making plans for the house or studying stuff, it's all ok just as long I find it "useful". Whatever that exactly means. Because through the years, you'll also learn that success is relative. What IF Tower22 was finished tomorrow? Would that bring long life happiness? Hot girls? Could I die in piece then? Probably not. Euphoria doesn't last forever, and beating that moment with a next, even bigger, success is probably even harder. As I said before, luck is often in the small, hidden things. It's all about the Road, not the Destination.


House, Bells, and Bliss
But but but! We're not that old yet. Hey. Ho. Cheer up, don't give up, the roulette tables are still open. Looking in my direct circles, we certainly can't complain. My friends still have plenty of dreams, and now and then important steps towards promotions, home-improvements, or "starting your own business" are made. No surprise that my child, Tower22 I mean, pops up in our chats sometimes as well. What's the status, what's the plan, any highlights?? et cetera. Or they ask how about doing something with my programming skills in general. You know, instead of working for a boss, be a boss.

So, I've been thinking about that. More than once. My friends always encouraged me to start my own little business, programming whatever for whomever. And sure, the skills and know-how aren't the problem. Besides half working games, I've made factory machines, harvesters, databases, webservers, camera systems. A wide range of stuff, with a wide range of tools. And since my goal is not to get filthy rich in this life, I can probably do things against a honest, interesting price.

Sounds like business. Then why don't do it already?! What's the hold-up, laziness? No. Not urgent? Hmmm... can't wait forever so urgency grows. Fear maybe? Yes I think so. Having two jobs with plenty of work for the next X years and a not too bad salary isn't the most adventurous way of "living your live", but at least it brings stability. If my mother would still wash my socks and cook my meals, stability doesn't mean much. But if you have a house to pay, and a girl plus (almost two) kids to feed, you can't act reckless. You should make a "money buffer" at least, in case things don't go quite as expected. And be prepared to work hard(er). I don't mind sweat, but loosing spare time for those kids or Tower22 would suck as well. There is more than work.




Doers, Thinkers, Talkers. Jokers.
But maybe I'm even more afraid of having too much spare time. Meaning that there won't be enough jobs or clients to fill your schedule for the next year. See, being talented doesn't automatically mean you can sell yourself. In fact, I dare to say that "skills" and "talks" rarely come in the same person (exceptions there of course). Most guys with a good pair of hands or brains, having specific in-depth knowledge or talents, are humble. If you would praise them with a "You are goddamn good with that", their reaction is usually a giggling, stuttering "uhhh", "sometimes", "they say so". As if they are ashamed to say "Yes. I am goddamn good at this.".

Then at the other end we have people with less in-depth skills. But, to compensate, a talented mouth. Salesmen, chiefs, managers, marketers, et cetera. Not saying they can't have a particular expertise, but you usually don't see them digging into the dirt. Ask a salesman a technical question. Either they just bluff and give a "yes-we-can" nonsense answer, or if they are honest, they'll note your question and answer later. They have "their guys" doing that for them. Yes, the humble nerds mentioned above, and more than once paid less while they know more. Beta boys & girls drive home in a Fiat Panda, Alpha males open their Cabrio roofs.

Thinkers, Doers, Talkers... we joke about each other, sometimes even disrespect each other. But the fact is that we all need each other. Without Thinkers we would miss the math to construct, efficient tools to make life easier, or models to rely on. Without Doers, well, dreams will always remain dreams. And without Talkers, people wouldn't cooperate, nor would there be a buyer for your product.


Probably not a surprise, I belong to the "Doer" category. Fix it, Trash it, change it, mail - upgrade it, Charge it, ... As Daft Punk would say it. And being a Doer, not too lazy to work some extra hours, I always believed that making a game would just be a matter of working hard enough. Or even harder, if needed. Things end where you stop working. Unfortunately, that isn't always quite true, and through the years I learned to acknowledge my limits, and to understand (& appreciate) the role of those darn swift Talkers more.

If I would start my own business -and let's say making Tower22 is a small-scaled example of that- my task isn't just to be good at programming. Of course you'll need to be good at something, and have solid ideas to begin with. But as said, just being good doesn't bring you anywhere. How did most musicians break through? Certainly not by playing a nice tune in the local bar, unless Timbaland or Bono were having a drink as well. That is called luck. Most musicians don't have luck, and will send their tapes a billion times or die trying. In the end you'll need a smoking appearance, big bag of money, or good connections (with a big bag of money). Just sheer talent alone isn't enough.

Buy my medicine
Now the music industry isn't exactly the same as starting your own IT company. But still, no matter how good your C++ skills are, no one will contact you if they don't have your number in the first place. This is where the "Talker" is needed. Humble as I am, selling my product isn't my talent. I already find it hard to promote Tower22 on websites such as Polycount and ask for help (while we really need it!). Unless we have something brand-new to show -a demo movie- I feel people will get annoyed when I announce T22 for the 100th time. That's very sweet, but not a good tactic to break obstacles of course. Everyone hates commercials, and a sane person wouldn't dare to shamelessly shove their crap into non-willing consumers, as if feeding crying toddlers. But nevertheless, it does sell. And ironically, especially the ultra f*cking annoying commercials might be the first ones you'll remember when you are ever in the need of a product in their category.

If you want to start business, shame or compunction is the last thing you can use, and eventually you'll have to throw aboard some principles. I might exaggerate a bit, but being squeaky clean won't help. In some occasions people appreciate a more humble, "underdog" approach, but don't forget even underdogs have to shout about “being underdog!” to get recognition. Although getting older, and more experienced, and therefore getting more confident helps a lot, I would probably need someone to sell my stuff. Whether that is Tower22 or anything else. What you need is a smooth Talker. Too bad though they can't always be trusted. Hence, a good Talker doesn't care if he sells diet pills, Tower22 boxes, or his own mother. I don't have statistics to prove this statement, but I bet Talkers tend to Job-Hop more than any other working-class-species.

And if you have bad luck, they hop along with your ideas as well. Wouldn't be the first time a modest nerd gets his hard-work robbed by a smooth Talker. Here is one more thing you should be when start doing business: Made of iron. Whatever your profession is, likely your working materials can be trusted. Note blocs don’t change letters, computers don’t lie, hammers and saws don’t get sick, and your painting canvas won’t protest no matter what shit you’re about to put on it. But people, they can’t be trusted. None of them bastards. Give them a finger, and they’ll rip of your arm. Whatever your business slogan is, small letters should say “We want to make profit.” And clients on the opposite site want to be treated like Cleopatra for a nickel. Be a jerk and no one will give you that nickel. Be a softie and you’ll never earn more than just nickels.




Now who’s Boss?
I’ve seen chiefs and several directors “in action” quite some times, and I must say I admire their way of acting. But it took a while. Unless you have a real cool boss, the average worker isn’t exactly positive about them. People see “the boss” as an always absent man/lady, who’s hardest “work” is to have lunch with other fast-car blokes. In case you can speak with a boss without twelve management layers in between, his answers are probably short, curt, abrupt. The boss doesn’t care about your daily problems. Nor did he ask you when important changes are made. And as a reward for this behaviour, he earns (much) more than you…?

No surprise, bosses can expect a good amount of garbage talk behind the office screens, and only attract slime-balls, opportunists, or women in need of a rich man, at the New year’s reception. Is that the kind of person you want to become, starting your own business? No of course, you’ll be doing things different. A: You care about your employees. B: You’ll take the “friend” attitude, rather than the “dictator” one. C: You remain nice and calm if your contractor says “sorry, next week!” three times in a row. D: Hard decisions are democratically made, as a team. E: you refuse a nice lunch with clients.

Well, A: maybe, B: better not, C: no, D: definitely no. E: silly bums. Doing otherwise means you’ll be digging your own grave, unless you are surrounded with good, loyal, honest, caring people… which is very unlikely. You certainly don’t have to be an asshole, but what I have learned (by looking at strengths and flaws of directors, and also a bit from leading Tower22) is that you’ll have to be firm. Strict, clear, straight forward, a leader. Dogs follow the alpha dog with the loudest bark. And so do people. This is a highly underestimated quality.


My way or the Highway
To use the examples above, let’s start with A: “You care about your employees”. Of course you should, but to what extent? If you have 100+ employees, it’s impossible to mangle with their personal stories. Make no mistake, bosses do more than lunching with clients. Their work is not to do field-research, weld metal pipes, or program software. Their work is to make the best decisions, based on networks and available information. Good decisions make cash, bad or difficult decisions make sleepless nights. Often the work doesn’t stop after 17:00 or Friday. So should they really care if Mary-Ann has a headache again? Or if Bill bullies Ted during the breaks? He shouldn’t. Chiefs are invented for that.

B: “You’ll take the friend attitude, rather than the dictator one”.
That would be nice, but you’re putting yourself into a vulnerable position. Pick sides, and there will be jealousy or division. Become too close, and it becomes really, really, hard to stand against misbehaviour. And misbehaviour lures when you get too nice. You won’t say No to Saddam Husain when he asks to paint his shed, but a “ah I forgot, next week ok?!” will be accepted by friends. We’re not doing favours for each other here. We’re trying to make this company survive in a harsh world, full of competition. This is also one of the weaknesses within Tower22 development. Because I can’t pay salary, I can’t stand on my stripes. So I’ll try a friendly approach instead, but obviously that also generates a climate for excuses.

C: “You remain nice and calm if your contractor says ‘sorry, next week!’”.
Hearing my bosses talk through the telephone is fascinating. They never say “ok, I understand, maybe blabla bla…”. No. They only say what they want, and don’t take no for an answer. That sounds logical, but it’s really hard to act blunt when they put their sweetest excuse-girls on the phone, or give very understandable reasons why X isn’t possible. Bosses have a very selective listening. They filter out everything that isn’t really relevant, or disrupts their plan. They don’t care about details, they don’t have time for details. Results, that’s what matters.

D: “Hard decisions are democratically made, as a team.”
I’m glad I’m living in a somewhat ahum, democratic country, but I don’t believe that inviting a whole bunch of people leads to good choices. “10 persons, 10 different tastes.”, is what one of my bosses always says. And it is true. Making a democratic choice with too many people around the table, is like mixing 10 colours of paint. You won’t get Green(go!), Red(no!), or surprising turquoise(idea!). You’ll only get brownish smudge. Look at your own politics and you can confirm that democratic processes rarely lead to quick, powerful decisions. It consumes (too) much time, and the result is often somewhere in the middle, trying to make everyone happy but leading nowhere.

The most important task of a boss, is making decisions. Decisions no one else can or dare to take. Sometimes popular, sometimes unpopular, and more often just unknown by most. Not that all bosses make good decisions, but in theory it’s to keep the company, and thus also to keep your workshop & salary safe… even if that means that some other has to be thrown out sometimes…



Now I sound like the boss’s ball licking Chihuahua. Well, I’m not, trust me. But trying to lead Tower22, and sometimes thinking about starting my own business, I know there’s a whole lot more to it than breeding my “idea-egg” into a big bag of cash, and keeping my lazy ass on top of it. And hard work and talent only, aren’t guarantees for a gold medal either. The hardest, maybe impossible, part is that I would need to fill multiple roles. A multiple personality disorder really. Being a pimp of my product, and being my humble honest self at the same time. Focussing on the Bigger Picture, not caring about small details, and being a Do-er working on specific small details. Being strict against personel, firm with contractors, and also being a friend, as I would like to be. What would you chose?

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.