Friday, June 24, 2011

Send report to Microsoft?

You might expected another "water tutorial". Excuses. Already wrote the text (a month ago actually), but I'd like to have some water pictures with it. I'd like to finish some maps first. You don't show photo's of your grandma when talking about your new girl either.

I got some other pics though. Sergi started producing various models. So while I was stinking in bed, he made an old computer, a lamp, comfortable bed, and a barrel. What kind of game doesn't use barrels?! Doom, Double Dragon, Halflife, Crysis, Final Fight, Donkey Kong. Except for Tetris, every game should have barrels. Especially the red explosive ones. A game without barrels (and crates) is like beef without beef.

To help the modeling guys, they finally got a working editor. This tool can import meshes, and render them in a test environment with the same graphics we use in the real game. As a little bonus, you can toss around objects to test their physics, and test the impact. Impact effects are collision, scrape, roll and spin sounds, particles, splat decals, bullet shots, et cetera.

Deployment my ass
Getting it to work on another computer wasn't so easy. I never had ATI videocards or a 64-bit machine, so the Editor went to unknown, possibly dangerous, territory. The very first issue was a mysterious "Runtime error 217". It seems to happen before the creation of any form, and the application just stops. Grumble!! Checked the DLL's dozen's of time with Dependancy Walker, but finally it turned out we had a "Millennium bug". Sort of. Sascha mentioned something about date function problems. The Delphi(7) function "strToDate('01-01-1900')", called at one of the unit initialisations, was making havoc indeed. What, not a valid date @#$%@#... my great grandmother was born in 1896 or something (married Julius Caesar, lived in a dolmen, and fought in the Eighty Years'War).

Now it works, and surprisingly it didn't produce tons of shader-compiler-errors... at least not on the computers with modern nVidia cards. One of the many programming horrors is to make your app "multi-platform". Yeah sure Java, OpenGL and the likes claim to be multi-platform, but in practice every PC is different. Even when using the same operating system. Conflicting security rights, hardware, Windows service pack version, screen resolution, component XYZ installed or not... It's a mess.

Any programmer should know that your program isn't finished as soon as you say "it's finished!". On your dev-station maybe, but you'll be amazed what kind of (stupid) errors will appear as soon as you deploy your hard-work on a customer computer for the first time. "Array index out of bounds... cannot open file... Hey... that's strange... Normally that doesn't happen.". Yes admit it, you said that more than once!

Congratulations, you have been selected to become a Beta tester!
That's why I try to delay my releases usually. Keep testing, add logbooks, and make use of those "try - catch" statements. If something goes wrong -and it will-, you can locate the cause somewhat better. At least try to give the client the impression you got it all under control hmm?

But yet, if you don't have extensive testing capabilities (thus 30 different computers including one with coffee spilled on it, and another one completely screwed up by porn websites), you got to move on at some point, and hand it over. For one thing, you are not a proper beta-tester, as you know how to use your own system unaware. You won't be hitting buttons 10 times in a row like a monkey, you don't click the cross while you should click "save". But don't underestimate the "stupidity" of your clients when it comes to using your software! They will produce fault-reports like Beethoven can write symphonies. Professional program-crashers as they are!

In other words, you'll need customer feedback to create stable software. Therefore it's wise to hand over your "Beta" version first to a few trusted persons (with a lot of patience!), before throwing it in the public. The problem is, the average user will stick to his/her first impression. If this first impression is "Access violation at address FF01234", they won't trust your software anymore. Even when build 4.0g12 is rock solid. First make sure it works as desired for a few test-persons (make them feel good about theirselves by telling they are specially selected to test your Beta!), then take the next step.

fuel barrels, empty barrels, rusty barrels, stinky barrels, bumped barrels, broken barrels, shiny barrels, important barrels, holy barrels, shitty barrels...

This card doesn't support multi-texturing
The advantage of a fixed hardware setup (like a PLC in a range of machines, or gaming console) is that the platform is equal everywhere. You know what to expect, now deal with it. Once it works perfectly on your development-machine, it should work on any other machine as well. But obviously, Tower22 is aimed for the PC. Maybe it will be ported to the XBox 720 Roundhouse kick, PS Forty-core, or Nintendo W00t some day :) But let's focus on my own dev-station first.

At some older ATI card, the Editor already didn't work. At least not with all the shaders enabled (you can still render with textures only). Well, I could do two things. Make a profile with simplified graphics and shaders that make it run on older machines. Or B:, ignore them. When releasing a game, more audience means more money. So obviously engine-makers try to get CryEngine2 run on an Atari as well (although one has to draw a line somewhere of course). Yet, I chose option B. For now. Why?

Adding support for older platforms takes time, of course. You can't just disable a few tricks and get a result that is "good enough". At the same time, T22 is far from finished. The graphics I produce today, are likely to be (out)dated two years later. So instead of spending energy on the past, I'd better try to focus on the future. Waste too much time on making your engine "backward compatible", and you will stick in the past. The average gaming computer might not be able to run T22 smoothly right now, but don't forget the "average gaming computer" evolves too. I'm pretty sure these systems can run (the current) T22 nicely in two years.

Other than that, I'm just too lazy to work through all those shaders again :) Hey, programming a game all alone in your free time isn't easy!

Playing around with some concrete textures. We'll need a lot of those for the upcoming Radar Station map.

Saturday, June 11, 2011

Poland, Auschwitz

Visited Poland, once again. That means trying to spot some Soviet stuff here and there, having a stroll in the forest hills. And mainly eating and drinking. Feeling like a sugar donut getting stuffed with even more jelly. Sausages are not just sausages here, you can feed a damn Tyrannosaurus Rex with it. Maybe Poland is not the richest country around on this planet, but you won't starve here. And neither run out of alcohol. I'll spare you the alcoholic drama stories this time, but yet I just like to mention I saw an older friendly looking grandpa-man with a baby-buggy... So sweet... wait, that isn't a baby. That’s a pile of beer and wodka bottles.

Since Tower22 uses the communistic atmosphere and architecture as a background (though the story has nothing to do with Stalin or other comrades) I always keep my eyes open for the typical details here. We love old worn buildings, rusty bus-stops, cheap interiors and batteries of tall flats which make you wonder how a person could ever become happy there. Plenty of things are different from my (over)organized, clean, efficient, modern, somewhat obediently Holland. Certainly in combination with those alcohol stories. But honestly, it all isn't THAT dramatic. We didn't spot Pyongyang buildings, KGB agents or jumped 60 years back in time. Many youngsters do have a Samsung Galaxy telephone by now.

What would a Polish landscape without a red-white striped chimney somewhere in the background?

On a train
The fantasy tries to see things that aren't there (anymore). And maybe I'm just getting a little bit used to the cracked pavement, concrete blackened by smoke, weird-color-painted walls, rusty metal commercial signs on buildings, cheap products, noisy old cars that bump over the hole-filled streets, funny narrow passages, the “air raid” that goes off almost every day after a thunderstorm to call the firemen out of their beds/bars, and the fact that you can never get what you really want. I needed some veal to cook a meal for my family. Nowhere. Tortillas: huh? One year ago, I searched two(!) CITIES for a photo-camera and GTA San Andreas for the PS2 (present for little brother in law). On 24 fucking December. Just before giving up we finally found a shop with decent camera's, but no GTA:SA in entire Poland. Sunglasses (not the cheap plastic ones): not in this town.

Maybe a ticket to Krakow, one of Poland’s major cities, not that far away from us then... According to the atlas, there is a railroad between Zywiec (the most nearby city from our town Milowka) and Krakow, so we should be there in a 90 minutes... Ok, ok 2.5 hours, as the trains don't go that fast here. Well… forget about it. That train doesn't exist or only drives at 20:00 ó clock or something. Any alternative (bus)routes then? Here in Holland every idiot can plan a journey after 4 clicks on one of the route-planning websites. But my parents in law never heard of internet of course, and the annoyed grumpy ladies at the station ticket-window apparently neither. She searches for an old book and starts telling it's basically impossible to get there unless we take a long detour. And we need some luck as she is not sure whether train X comes or not. Not sure?!

The bus-ladies weren't very helpful either. Krakow?! Of course there is no bus going there! Don't you know?! No, because if we knew, we wouldn't be asking bitch. Do your damn job. Exceptions there, nice customer service doesn’t seem to be a well known word in Eastern Europe. You would expect a shop-owner to be happy if you buy something, giving the fact that it's hard enough to sell enough wares to make a living here. But most of them don't seem to give a crap... Pfff, got to work again, another annoying (spoiled) customer. Bleh.

For Dutch readers, you will respect and love NS & Pro-Rail once you tried to travel here. We complain if the train is 5 minutes late. But at least it drives every (half) hour, and brings you everywhere pretty fast. Other than the Polish trains who creak and ramble as an 200 year old ladie in a rusty wheelchair getting raped. And don’t forget our railways are one of the most occupied ones in the world. In Poland the smaller train-stations still have houses and a lady to operate the switches (hopefully not in a drunk mood). All in all charming, but not very efficient of course.

Nevertheless, we finally managed to find a route to Oswiecim (nearby Krakow). Oswiecim... yes, that is what the Germans would call Auschwitz. With a car it would take less than two hours. With our logical combination of trains and buses, it only took four or five hours. From which most of the time was spend waiting because the train stood still, or waiting for a bus. But hey! We did it. For Auschwitz I was willing to make an exception, as the 1,3 million people who once were deported to this place, didn't have a comfortable ride either.

Oswiecim is a little city, just like any other Polish city here. But behind the station and trees, it hides one of the most gruesome historical happenings; the extermination of 1,1 million men, women and children. Mainly Jews, but also arrested Poles, Russians, and minorities such as disabled people or gypsies, who didn't fit in Hitler’s picture of a perfect world either. The grandfather of my girlfriend had to leave his house and help building the camp. Others ended up dead there.

What kind of architects does it require to design a place to kill...?

Not far from the train station, just behind the city, lies Birkenau with camp Auschwitz. Camp number II out of III actually. 3 kilometers away lies camp 1, with the well known “Arbeit macht frei” sign (“Work makes freedom”, sure). Auschwitz III, Monowitz, was more of a work camp where factories like Krupp Stahl and IG Farben were installed. But we didn’t visit those camps. No internet, no car, or map. We went by foot and just asked directions to “Auschwitz” and ended up at camp 2, the destruction camp. Following a pretty busy asphalt road with plenty of trees, bush and typical Polish houses on both sides. As said, we weren’t prepared (which is a shame hindsight), so I really had no idea what to expect... Except that it might "disappoint" a little. I'll explain.

We all know Auschwitz from the books, scary black-white pictures and maybe movies such as Schindlers List where trains loaded like cattle wagons drive through the gatehouse, with the horrific smoking chimneys of the incinerators in the background. It's dark, cold, noisy, full of angry SS soldiers, and even more terrified people that have no clue what will come... And that scenario is not spiced with Hollywood movie ingredients. The reality might have been even worse.

And here we are. After passing a little hill and curve in the road, we suddenly see the gatehouse, and the long, long fences with the wooden watchtowers. But what we also see are touring busses going on and off, and singing birds, grass and flowers as it's a beautiful sunny day in June. I can't help it, but the normal houses here that have a view on Auschwitz while barbequing in the backyard make an absurd contrast. The remains of Auschwitz are still there, but life obviously continued.

Could you tell world most famous deathcamp is only half a mile behind these houses?

Compare this picture to this, and you understand why it's difficult to get a good image of what really happened. About the railroad; although it seems unseparatable from the gatehouse, this rail wasn’t there until 1944. Prisoners had to walk in. As a “welcome”, an orchest was playing cheery music, while dead bodies were stapled on the other side as a warning sign.

Once through the gate, we tried to separate from the groups of tourists. Although the guides do a good job giving a background story with all of its (gruesome) details, I didn't want to stand between giggling girls, photographing dad's, annoyed kids and people acting being shocked, then yapping on two seconds later. Not here. Luckily it wasn't that crowded, and Auschwitz is a really large place. So finding some rest wasn't difficult. We started on the East side of the entrance, walking through the few wooden barracks that remained. This is where mainly Jewish men had to 'live'. With up to 500 men in wooden stables that were originally stables to house about 52 horses. Hunger and execution weren't the only concerns here. The barely isolated barracks are ovens in the summer, and freezing cold in the harsh Polish winters. And due the bad hygiene all over the camp, insects and diseases were ever present. And I don’t have to tell you where a visit at the doctor would bring you when feeling ill…

It's quite strange to see the first line of barracks are only 50 meters away from freedom. A patch of grass (mined?), a not too deep ditch, a 4 or 5 meter tall fence, and watchtowers every 100 or 200 meters. You may wonder why there weren't massive break-outs, at the "top" days when Auschwitz kept 90.000 prisoners. Well, some people did escape. Especially at the beginning when the fences weren't electrified yet. Prisoners also managed to blew up one of the gas chambers by the way. But probably most the prisoners were too unsure, too afraid, and too weakened for escaping. In total, about 700 prisoners escaped. Only 300 actually survived.

Some tried to escape here, others used the (eletrified) wires to commit suicide.
"Er ging zu den Drähten" (he went to the wires).

It has to be said that the Nazi's tried to hide evidence of the Holocaust at the end of the war. Yes, the bastards themselves must have realized they were doing something terribly wrong, something not to be proud of... The four gas-chambers are completely burned (camp 1 has an intact one, open for public), and most of the barracks are gone as well. Only the stone fundaments and small chimneys (used as central heating systems in each barrack) are still standing. This makes Auschwitz a large, but also an empty place. So we stand here, trying to depict all the misery, chaos and inhumanity. But honestly, the silence, the emptiness, the shiny weather, the green grass, groups of tourists and cars that drive by the fence now and then in the background make it very hard to get the slightest idea of how bad it really was.

Auschwitz is not an attraction, or horror-museum, trying to shock you. It's just what it is. And the people who work here try to preserve this with the donations they get (entrance is free, but you can make a deposit). Of course. It shouldn't be anything else, we're not in Disney World for a day of fun. But yet, this may feel as some sort of disappointment; I just couldn’t really imagine what happened here. Then again, this is a personal feeling, and I guess each person will experience this place differently.

Gas chambers
We went back to the central path with the rail-roads. When the trains stopped here, people would get divided in groups. Jews, non Jews, women and children, men. Imagine this was probably the last time you would see your family... Groups of new-arrived people would be transported to the so called "Sauna" on the East-North side of the camp. But some were less “lucky”. The weaker ones (elder, pregnant, disabled…) were transported for immediate destruction right away. Not being able to work would death here.

Days of traveling without food or water, packed like cattle, would take its toll on quite a lot prisoners already. But if the prisoners would knew their true end-destination, maybe dying here wasn’t so bad after all…

Krema III entrance... Unbelievable that hundred thousands did their last steps here.

The terror-core of the camp, the four gas chambers plus crematoria. Compared to other deathcamps from that time, the chambers in Auschwitz Birkenau were "superior" with a capacity of gassing up to 2.000 people in one time. Prisoners usually didn't know they would get gassed though, as they were told they get a delousing procedure instead. People would undress first, and then get moved into the chambers where Zyklon-B gas was pumped into the rooms. The dead-bodies would then be incinerated, including their documents. Erased from history.

A dirty detail; valuables like golden teeth were removed from the bodies in room H.
From Wikipedia:

Unterscharführer Hackenholt was making great efforts to get the engine running. But it doesn't go. Captain Wirth comes up. I can see he is afraid, because I am present at a disaster. Yes, I see it all and I wait. My stopwatch showed it all, 50 minutes, 70 minutes, and the diesel [engine] did not start. The people wait inside the gas chambers. In vain. They can be heard weeping, "like in the synagogue", says Professor Pfannenstiel, his eyes glued to a window in the wooden door. Furious, Captain Wirth lashes the Ukrainian [prisoner] assisting Hackenholt twelve, thirteen times, in the face. After 2 hours and 49 minutes — the stopwatch recorded it all — the diesel started. Up to that moment, the people shut up in those four crowded chambers were still alive, four times 750 persons, in four times 45 cubic meters. Another 25 minutes elapsed. Many were already dead, that could be seen through the small window, because an electric lamp inside lit up the chamber for a few moments. After 28 minutes, only a few were still alive. Finally, after 32 minutes, all were dead . . . Dentists [then] hammered out gold teeth, bridges, and crowns. In the midst of them stood Captain Wirth. He was in his element, and, showing me a large can full of teeth, he said: "See, for yourself, the weight of that gold! It's only from yesterday, and the day before. You can't imagine what we find every day — dollars, diamonds, gold. You'll see for yourself!"


No matter how hard I tried, it's almost impossible to realise that you are looking at the ruins and soil that caught the ashes of hundred thousands of people. The only real witnesses are the tall green trees that still stand there. Maybe the large memorial monument between the two chambers distracts too much. Personally, I think this monument was a good idea, but shouldn't be placed inside the camp. But who am I to judge? A path behind the monument leads to some sewage systems, a forest path where even more dead bodies would be burned in the open air, and the Sauna. If one place managed to give me the shivers, it was here.

The Sauna was used to "receive" new arrived prisoners, turning them into numbers. Again, this building is mostly empty and sober. Auschwitz was made to be cheap, quick and efficient. So don't expect any detail in the buildings. But I could imagine the horrible procedures new prisoners would undergo here. First they had to give up all their personal belongings. Unusable stuff was burned in ovens (operated by other prisoners), other belongings were cleaned in some sort of steam kettles. In the meanwhile, the prisoners would get disinfected in shower rooms. And it wouldn’t be Auschwitz if the shower water was either freezing cold or boiling hot on purpose.

Prisoners would then get their infamous striped costumes, and their names were replaced by a number-tattoo. Both men and women were shaved with blunt tools at great speeds, so injuries and screaming were all part of the introduction. Now imagine you are a mother. Humiliated in every possible way. Being naked, shaved and hurt, in front of the eyes of your own children. Not being able to help them, and being worried sick of the fates or other relatives. It all happens between a bunch of Nazi soldiers (men, but also women), who would treat you as a ragdoll, or cattle. After doing it endless times before, you couldn't count on any compassion or any dignity from their sides anymore.

We completed our tour by walking through the west side of the camp, where mainly women and children were kept later on. These (stone) barracks were also close to the infamous infirmaries where "doctors" like Josef Mengele would do experiments. "Clean" baby blood for example was used to cure sick SS soldiers. Because the poor hygiene everywhere, insects and diseases didn't discriminate on Jews and prisoners only. Other experiments included removing limbs from twins (usually without anaesthesia), injecting bacteria to see how long it would take before a patient died, and electrocution.

The stone women barracks were slightly “better” than the wooden barracks for men. But could you sleep here, on these three story-bunks, together with hundreds of other faces that come and go?

I didn't really caught “the horror” in Auschwitz itself. But once I was lying in bed that night, this whole experience started rambling. You start figuring how people can do this. Killing is one thing, but why like this? A beast that murdered ten people who ends up in Death-row, still has a somewhat clean cell, and a shower. He can choose his last-meal, and eventually let a Priest visit before he gets executed in a, relative, painless way. His remains will be returned to his relatives, so the family can finish the story.

Not saying the death-penalty is good or wrong, but compared to the Auschwitz methods, at least it still has some respect to a human being. The train-ride to Auschwitz, the separation process, the induction, showering, shaving, tattooing, housing, beds, food and practically everything else here, was done in the most inhumane ways possible. A pig on his way to a slaughter house may suffer less. And we are not talking about criminals or cattle here... Auschwitz holds a room where they tried to reconstruct the background of some of the murdered families with the help of photo's, belongings and diaries. What you see here are smiling children, new born babies, men and women in love, people playing instruments and having fun, families trying to make a normal living.

How on earth can people do this to each other? I'm afraid the inconvenient truth is that any person can be turned into an emotionless machine, by the influence of group solidarity. Just look at Hooligans, or the "Prison Break" experiment. “Them versus us”. Would a single, random German (SS) soldier hurt women and children, without a good reason? Most probably not. Don't forget these men had families too. The "endlösung"(final solution) was the idea of a few very sick minds, not of the individual soldier. But the group dynamics, fear-for-punishment and discipline that rules especially in military structures make it possible that an average man will follow such instructions. Maybe with questioning himself, but without questioning the system. Let him murder once, and he may feel awful. Let him murder every day, and it becomes a routine, without regret and emotion. Let him make jokes and create bond with his fellow soldiers to find (false) reasons to justify his deeds, and he doesn't have to feel bad about himself anymore.

Like Stalin (not uncommon with deathcamps either) said:

The death of one man is a tragedy, the death of millions is a statistic.

If you are ever nearby Krakow, I can certainly recommend to take a visit. Don't expect to see a lot of spectacular things, but this visit is certainly a life lesson.
And if you go, prepare yourself better than we did, to get a better understanding of what the eye sees. There are only few places on this planet that show the contrast between good and evil in such a pure way. But also the thin line between it. Maybe I didn’t manage to get a good image of what really happened, just because it so inhumane. But it did happen. And it's up to us to prevent it from happening again. Asides from preserving these black pages in human history (which sadly starts to fade away already, as the last Auschwitz survivors will be dead within ten years, kids think Holocaust is a Thai herbal, and some people even start questioning if it really happened), Auschwitz should be considered as a warning to all of us. Respect life. Don't let hate form your decisions.