Sunday, August 10, 2014

Flying desks at Valve


Huh?

Stratego
Not long ago I wrote a paper or two about "the boss". No, not Bruce Springsteen, but the way how companies are tight together and rely on leadership. Hate it or love it, but hierarchy is a proven -although maybe somewhat dated- system. Imagine if the army didn't work with sergeants, captains, generals and Stratego spies. It would crumble apart, or at least get extremely messy (see terrorist cells). To begin with, even sport-freaks and sadomasochists don't like to get systematically barked at, skip nights, walk their off in the mud, sleep in the cold, or save private Ryan risking their lives. Higher ranks are needed to make people do what they should do.

You can guess what happens if the Lieutenant told his men to decide for themselves what to do. "You can walk a patrol, or stay in bed, whatever man". Ironically, maybe the Germans and Allies would be drinking Schnapps, play cards and chase farm girls. Instead of bombarding each other. The average soldier probably didn't want to get shot, or see his friends get shot. The average soldier didn't like to get shelled or murder another human being. The average soldier -a teenager/young adult- probably didn't even like to be in a warzone in the first place. So why did they kill then? Because they were told to.

"Group dynamics" is a fascinating thing. If a stranger would order you to eat your shorts, or slap another random by-passer, would you do it? Probably not. But what if your best friend would ask it? Or a hot chick? Or if that stranger asked kindly with a pistol in his hands? Hundred thousands of men didn't dump their souls in a war just because some elite fools had desires. Fear made them do it. Getting locked up (or worse) for desertion is an obvious factor, but maybe even stronger is the fear of getting isolated from the "group", being a coward. Monkeys see, monkeys do.

Nevertheless, contributing to a war, or just even doing service isn't exactly "fun", apart from those who love to push their bodies to the limit. Pressure from the group and reprisals are needed to make you give twenty with the nose in the dirt. But reprisals don't work if they come from a (physical) weaker person. So voila, a ranking system was made. Major Pain might be older, smaller and uglier than you, yet he still has the power to punish you and your platoon with toothbrushes + latrines.


Who’s boss?
The army is a very pure and logical example of a hierarchical system. But the same happens more or less in any other company. And if it doesn't, chances are big it has serious discipline and performance issues. Would dustmen still collect garbage if their boss doesn't give a damn? Did you work 10% harder and sweat more, plucking tomatoes on your first job, when the chief was nowhere around? Does your colleague automatically do the stinky boring tasks if you don't chase his ass? By nature, most people don't like taking orders. If my girl asks me to hang up those curtains already, I tell her I'll do it tomorrow (tired from work, stomach aches, don’t have the right tools). If she keeps whining about it, I'll shorten her kitchen-leash. Get cook'n woman.

Taking those orders from a higher placed person helps though. Besides refusing bed-duty or swapping me for a much cooler black guy, there is little my girl can do about my laziness. But a chief at work could fire me... or reward me if I'll do my stinking best. It works in both ways. But then if my "equal" colleague comes around the corner again, and asks for help, I'll say he can jerk off. Who the hell do he think he is?! Carry your own boxes.



Off topic, a new T22 asset

As usual I'm using Laurel & Hardy stereotype sketches, but you get my point. I'm old fashioned, and I believe in some discipline and hierarchy. But now the the story-turning-point comes!! Searching for some Halflife3 news (yes, I still do that now and then, and no, no news) I suddenly stumbled on this: "Valve- Handbook for new employees"
. Being a creative company, I could figure Valve working a bit different than the local beer-box-glue factory, or the army. But this paper was quite surprising. Refreshing.

Early in the Handbook, Valve explains its company hierarchy: There is none! There is an owner/CEO (Gabe Newell), but technically he is on the same level as any other worker at Valve. Well, hold on Rick, that's just some fancy floaty woolly "check us, we’re nice guys!" method to calm newcomers. Another hopeless way of telling employees "don't be shy, share your ideas, we won't bite!". Companies, schools and other instances often have slogans. "Customer is king" or "Your toilet is our mission", "innovative". Or "Respect". Whatever. Words are still hollow, if the customer can go fuck himself when asking complicated things, if the toilet couldn't be fixed, if ideas are decimated, or if kids bully each other while the coaches turn their backs.

But reading the Handbook further, they really are serious about it. Having no hierarchy isn't just some catchy mood-setter, thought by an anarchist, hippy-artist or spineless coward. No, it's deeply rooted in, well, pretty much everything they do. Allow me to explain.


Say what?!
Unlike the military we discussed, there are no higher placed "captains" at Valve, or lower "minions" for that matter. I know what you are thinking. You're thinking somebody still has to give tasks, cut ropes, or at least give long-term goals (like finishing that $#% HL3 game already!). But no, they don't. And here is where Valve differs fundamentally with 99,9% of the other companies. Of course decisions have to be made, but Valve doesn't assign such a task to a specific person. There is no specific "planner", "lead-artist", or "man with the wallet". Today you could decide to recruit and hire 2 new employees, tomorrow your new employee comes up with new ideas, and the day after that you tell Gabe Newell that you'll be working on GameX instead of Half life3 for the next month.

My old brain would crunch and squeak when hearing this. How..? What.. If? .. But but but? I can think of hundred things that can go wrong. Demotivation was explained already. But how about information and delegation? In the companies I work, I know which person can bring me parts from the warehouse, I know who to call when there are troubles. The Ghost Busters. Yell the electricians if the Volts are shocking, or have a chat with the sales department if you want to know numbers and figures. All the boys and girls in the factory know the official channels if they need something. Taking vacation, ordering new work shoes, calling of sick, et cetera. It brings clarity and rest. With that I mean an electrician doesn't have to care about what happens in the warehouse, and the warehouse guys will get their schedules from yet another person so they'll know what is coming.

On a more global level, most employees don't decide long term goals, or have to make important decisions. At every place I worked, people like to complain about their superiors, and sure they would have done everything different and better. But realize that the privilege of making decisions also brings responsibility. Firing people, disconnecting emotions when taking critical steps, getting well informed when choosing between A and B, and being unpopular whenever your decision hurts another. Unless true idiots are in charge, we should just be happy we have chiefs and bosses doing all that stuff for us.



But, as said, that's not how Valve works. They call their organization structure "flat". You don't have a boss, nor can you boss another. Instead, you could ask. "Would you kindly like to help me, drawing Alyx Vance naked?". Now if another artist thinks that's an excellent idea, you will likely get your help without having to force another. Valve does things in an organic way. A more natural way. Vice versa, you join (sub)projects whenever and wherever you think you are needed. To stimulate this, all the desks at the Valve office have wheels. You can move your desk elsewhere anytime. The idea is that small project teams or co-operations will naturally sprout (and also dissolve), as people with a shared interest cluster together. Remember, no chief is telling you where to help. You could drive your desk into the boiler room, lock the door, and work there for the rest of your career. Or move it to the massage or catering. Valve does everything to ensure their employees are comfortable and in top shape. Uh, mental shape, Gabe Newell isn't the best sportsman example...


Crunch-time?
The crisis may have snapped good intentions, but (in civilized countries) there still is a trend of increasing flexibility and caring about employees. My grandpa had to lift heavy bricks on a rotten wooden ladder at the age of 12, nowadays days we're too fat. So companies carefully started investing a little bit in bicycles, healthy food in the canteens, or offering discounts for the local gym. Both companies I work for, organize all kinds of events once in a while. Barbeques, fishing trips, sports lessons, drinking beer, and... more drinking beer. Just to relax and get along with your colleagues. The "company" isn't pure capitalism anymore. Chiefs feel the urge and importance to invest in health, a good atmosphere, friendships, and individual development. Not in the first place because they are much better people now, but because it pays back. If the company cares about its employees, its employees will care about the company.

Valve takes this a step further. Did I say massage? Valve also has a gym, and organizes company vacations to places like Hawaii. Those aren't some wild rumours, it all stands literally in the handbook. Another bidding you won't see in most handbooks, is to avoid overtime. Doing some extra "crunch-time" happens of course, certainly when a release is nearing. But Valve encourages its employees to take their rest, spend time with their families, and enjoy other stuff. How different is that from, for example the banking world, where young roosters have to prove themselves by working 24 hours a day?

I don't how wealthy Valve is, but all this Yoga Zen stuff may sound a bit overdone. Aren't they pushing this permissive, “out-of-the-box” thing too far? You may remember the "Internet Bubble" 15 years ago. Surfing on the upcoming internet, IT companies grew like weeds and made too much money. Even the Mexican cleaning woman would get an expensive company car, and the creative minds would go golfing or lay on purple skippyballs, brainfarting/doing nothing the whole day. Of course, that was too good to be true, and most of the weed died again as the bubble popped. This world is made on sweat, blood and hard labour, not on pleasure with purple Skippyballs.

Nevertheless, I think the "caring company" is a good trend. On Sundays, I really never go to bed with that "sigh, tomorrow work" feeling. I don't count the last 60 minutes, and when doing overtime (sometimes till past midnight), nobody protests. People here are proud on the products we make, and we don't leave the customer until the mighty machine roars and thunders again. That's royalism, but also just having fun and honour in our work.


Black Mesa Anarchy
Obviously, the open, “anarchy” structure Valve applies, heavily relies on royal and motivated people. Hiring a new person and directly giving him or her the same powers and mandate as any other (Gabe Newel included!), is risky. This strategy is based on tons of trust and courage. I've trained and guided a couple of people, and my natural (father) response is to hold their hands. Not with everything, they can pee themselves, but I want to make sure they understand everything and do a good job before I remove the handcuffs. And even after that, I'll keep interfering and reviewing their work, just to make sure everything goes as planned. Probably this happens more or less at Valve just as well, but basically it's in contradiction with the "flat organization". As long as I guide another, telling him what (not) to do, I'm more or less his superior. And even if I wasn't on paper, people like to dominate where they can.

Since we aren't robots, characters differ. Some work hard, some talk hard, some are natural born leaders, others are introvert, and yet some others are just assholes. How does Valve make sure the team doesn't get ruined by lazy employees, dominant personnel, or two captains that want to steer the boat in opposite directions? In a traditional company, higher ranked personnel can overrule and eventually throw out people that are a threat to the “flow”. As for Valve, the Handbook says no-one has ever been fired because of "mistakes". Instead they encourage you to learn from it. Very mature, but... unless they eat mushrooms in that canteen every day, there just have to be struggles and fires. Just looking at myself, I'm a kind person but I don't like to get steered into directions I wouldn't have chosen. Once I've put my heart and soul into something, I'm a diesel locomotive and you'd better not stop me.

To avoid group struggles and "Bold & Beautiful" soaps, Valve has tricks to keep the harmony. But before that, Valve filters out "mediocre" personnel by demanding high standards, of course. Two year Minecraft experience won't bring you there. Then again, it's kinda strange, as every employee is supposed to hire new people. As said before, they don't have a specific recruit team. If I like to hire my grandma, I can just do that. But that may lead to cronyism… Let's say grandma isn't such a good sound effect composer after all, but I'm too proud to admit my mistake and I love grandma... now what? Me and grandma drive our desks to a different corner, and there you have it; group rupture.


Halflife3 concept art? Halflife2 - episide 3 concept art? Fake fan art? Who shall say.

Well, I won't be surprised if stuff like this actually happens. Me and grandma leave the company, the rest of the team absorbs the shockwave and learns from it. And maybe it should be noted that Valve probably has financial space to let this happen. In fact some competition can be healthy. But to avoid drama, they have yet again quite unique ways to reduce this. First, with the flat-organization, everyone cares about the end-product. Unlike a cat-food factory, people don't work here just because they have to make a living. Everyone here wants to release Left for Dead, Portal, STEAM, ... not so sure about Half life 3 though, but you get the point. Nancy sleeps at work or spits puke in cat-food cans, because she doesn't care about the end-product. Only the high chiefs drive big cars and take the medals, she will never get further than the length of the conveyor belt she is working at. Others won't correct Nancy neither, because they only care about getting the hell out of there at 5 ó clock, and the monthly pay check. Valve on the other hand makes its employees feel important. Or actually they ARE equally important. So by doing stupid things, you will hurt *your* product, and this yourself and your team directly.

Second, besides making software, hiring other individuals is your most important job at Valve. And one particular guideline is to look for people that are "stronger than you". As written above, it's natural to hire a lower-powered employee. Somebody that is skilled and useful, but just slightly less cool than you, so you can boss him around. Otherwise that new guy could become competition, and steal your promotion to a higher rank. But hey... at Valve the hierarchy is gone, so being boss or getting "bossed" can’t really happen anyway. What matters is making an awesome game, so the better people you can find, the better your chances.

Third, they have a "Stack Ranking" system. If you thought for a moment that Valve is a surreal communistic fabric where everyone thinks, does, and earns the same, you're wrong. Your compensation depends on the judgement from the group. Once in a while, every person is judged by the group. How nice is he? How good are his skills? Any unique talents we certainly can't miss? How effective, how much people did (s)he hire, et cetera. If you act like a jerk, or won't come any further than the massage salon, you can expect a low rank and thus a lower salary. Also getting help from others for your personnel projects will become difficult if people don’t like to follow you. Doing your stinking best will pay off, clearly. And unlike normal companies, you don't have to go on your knees, beg your chief for a few extra dollars, getting laughed at, and then get fired.



“Valve Time”

Finally, why isn’t every company adapting this approach? The “Valve approach” sounds awkward and full of pitfalls at first, but the more you think about, the more sense it makes. And hey, they exists for almost 20 years now, grew from ~10 to more than 300 men, made some of the very best PC games out there, and are capable of funding company vacations to Hawaii. They must be doing something right!

Besides passion, most people want to promote or start their own business to A: get rich (or die trying), B: be in charge of another(feels good), C: avoid doing orders somebody else decided. Or in other words: Egoism. And I don’t necessarily mean that in a negative way, ambitions are healthy. But these motivations can collide with the “Valve approach”. You’ll have to accept you won’t be the richest, most powerful and superstar of the company. Or at least not automatically. I’m afraid that is something most egos can’t handle.

In a more practical sense, I don’t think it would work for more conventional business, like say, the Catfood factory. When making games, everyone in the team has to be skilled and smart. Whether you’re programming, drawing or writing plots. The catfood factory on the other hand doesn’t require (expensive!) professors behind the conveyor belt. That makes the intellectual gap too big to let the conveyor girls or handymen involve in *everything* the company is supposed to do. Read *everything* because there is no partial 50% Valve approach. Either every employee is equal to everyone else, or (s)he isn’t. Nothing in between.


Last but not least, “Valve Time” is out of the question for most companies. If we sell cars, we can’t suddenly change our mind and start making bikes instead, or tell the client “no clue” when he asks when his car is done. “Valve Time” is the equivalent of the infamous “When it’s done” phrase 3D Realms used to “answer” when Duke Nukem Forever would be finished. In other words, they didn’t know. Valve frankly admits they are terrible at making predictions or long term plans. For us consumers, it’s hard to bear that we still don’t know when (and if!) Half life 3 says daylight. But after reading through their handbook, it makes a lot sense why they can’t do predictions or promises. Since their decision making works like liquid, it could flow any direction. If I would join Valve and convince them to make Tower22, it may shove Half life 3 back into the fridge… hmmm… brings me on an idea…

But! Don’t worry too much. At least it’s not laziness or inexperience that’s giving hold ups. The thought that even their handbook reads away like an exciting comic book, comforts me. Can’t believe I’m saying that, as I couldn’t care less about business management on school. Too abstract, too much words from people that never made their hands dirty, too little action. But as for Valve… You got to admit, they are damn creative and therefore I have good hopes for Half life 3 (or whatever they come up with).


All right. One more funny fact then. Look at the end-credits (above, or from any Valve game). See anything suspicious? How about the "Programmers", "Lead artists", "Animators", "Funny men", "..." sections? It's just a single alphabetically sorted list. Do you know why? Because no-one has a title at Valve, everyone is just a "designer".

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.