Shrinker Title
Path: root/news/
(*2008-09-25 / gen 2010-03-07)
\
Inflatable Dragon
\\
[Image]









\
Microbrush 2.1.4 Released!
\
2010-03-07
\
New font, alternative camera controls that don't require the fly mode!
You can find it here.
YouTube - Microbrush 2 (2.1.4) New Stuff
\
Exploring My Limits
\
2010-02-26
\
My mother cut contact with me because I stayed in the house when my father and his girlfriend moved in. My brother cut contact with me over a non-issue because he thinks I'm responsible for the lack of contact with my mother. All efforts to re-establish contact with my mother have failed, she doesn't care at all anymore. Maybe all her promises from the past were just tactics. My study thesis is progressing bad. I am a good programmer, but a bad writer. My father is pushing me to move out around the time I will be in the middle of my diploma thesis, and the date is strangely moving further backward in time every time he talks about it. That will be a problem I don't know yet how to cope with. There are two important exams to pass soon. I can only start earning enough money once I have graduated. I can not afford free time anymore. The perceived work pressure is constantly increasing. Seems I am not getting enough sleep anymore.
\
Welcome To The Calculor, Felon
\
2010-01-19
\
I just recently finished reading Souls In The Great Machine by Sean McCullen.
Next to read in The Greatwinter Series: The Miocene Arrow
\
Microbrush 2.1.3 Released!
\
2010-01-04
\
Here we go again. There is so little time since the last release because in that release I added a bug, a bug which I now fixed.
On top of that, the conversion stuff is now much simpler.
Again, you can find it here!
\
Microbrush 2.1.2 Released!
\
2010-01-01
\
This version brings a bugfix for an inaccuracy problem and a few changes that have to do with my study thesis :)
You can find it here!
\
Microbrush 2.1.1 Released!
\
2009-12-21
\
Version 2.1.1 of Microbrush brings a lot of changes and additions, among them: A hierarchy system, almost complete VMF conversion and manipulation (Yes! Entities, displacements, all that stuff!), more visual aids, properties associated with primitives, and a lot more.

With this release also comes a new source code release of the API to manipulate Microbrush 2 scenes and VMF worlds. Try it and manipulate or generate scenes or VMFs! The API is written in C# and it's really easy to use! Don't you want to be the first one to make an awesome maze generator for Half-Life 2? :D

For a complete changelog, more images, and downloads, head to the project page.
[Image]
[Image]
[Image]
[Image]












\
New Microbrush 2 Videos!
\
2009-12-17
\
Video Tutorials by Scott 'Sythen' Baker!
Microbrush 2 (2.1.0) Modelling 1 (1/2) - Building
Microbrush 2 (2.1.0) Modelling 1 (2/2) - Road
Enjoy!
\
Microbrush 2 Steam User Group
\
2009-12-01
\
It's here!
Join it to get updates directly and stuff :)
\
This is just in!
\
2009-11-29
\
Replying to private messages which are many years old, especially those full of flames :-D
\
Source Engine Entities
\
2009-11-28
\
I want to represent and preserve point and brush entities from VMF files in MB2 scenes. Apparently, surface-based properties don't cut it, so I'm working on properties that are associated with brushes AND also a brush hierarchy. When things work according to plan, I can map point entities to simple cubes placed in 3D space (in accordance with their origins) and just dump all their properties as key-value pairs in a string property. Brush-based entities will consist of a dedicated brush with the original entity attributes, and a few normal brushes attached to it in the hierarchy, which should be enough to allow for brush entities made of multiple brushes. Displacements, map settings, etc.? For now, I'll probably just store them all in plaintext format in brush faces and special entities. If this works out, MB2 could retain ALL information from a VMF during conversion. But here I have to keep some things in mind, like not losing the faces associated with a cubemap entity... hrm.
\
Patriots
\
2009-11-26
\
When I drove to the university this morning, there was a big Bundeswehr vehicle/tank thing driving in front of me. From the back it looked like some kind of generator, made of four modules which had the same camouflage... When the vehicle took a curve to the right, leaving my lane, in the direction of the military airport Rostock Laage, I got to see the side of it, and it looked very familiar from CnC: Generals... After a confirmation of reference pictures online, I can say: OMG, it was a mobile anti-air Patriot missile launch system :-D
\
Microbrush 2.0.1
\
2009-11-19
\
Here's a new version of Microbrush 2.
Various users reported that their config file was busted after drag and dropping a scene file onto the exe file, which is, btw, not the intended way to do it. MB2 tried loading its resources, like the font, from the directory it was started in, but erroneously loaded the config from where its exe was placed, not the target directory. When you drag a file onto any executable in Windows, then that executable is executed in your user's documents directory. Normally, you need some kind of batch file which passes the first argument as ("%~dp1") after changing the current directory to its own directory via (cd /d %~dp0).
You can exploit this resource-finding behavior of MB2 to use the same executable with different configs: Just create multiple links and set different starting directories for them.

Anyway, in reaction to popular demand, this new version also contains a cylinder tool now. And for the sake of completeness, I added an arbitrary scaling tool too. To the people with feature requests I reacted positively to: No, I have not forgotten them, they are just resting on my todo list for now :P
\
Welcome to the new mirror!
\
2009-11-14
\
Thanks for hosting me, Scott!
\
Thank you, InterComm!
\
2009-11-13
\
Thank you for the many years of hosting my website and those of a few friends, it was greatly appreciated.
R.I.P.
\
Study Thesis
\
2009-11-07
\
At the beginning of this week, I finally got my study thesis topic. It's all about persisting, manipulating, and rendering multi-layered terrains in realtime. I was given this whitepaper as an entry to the topic, it's an interesting read: Arches: a Framework for Modeling Complex Terrains
\
Microbrush 2 Customized Package
\
2009-11-03
\
My fellow Sythen is now maintaining a customized release of MB2. It comes with an installer (the original is portable) and maybe soon with custom scenes and color schemes and graphics.
Check it out here.
\
Releases
\
2009-11-01
\
After more than half a year of work, I can finally present you the first public release of Microbrush 2.
Imperator has undergone an update too.
\
Left 4 Dead 2
\
2009-10-29
\
So, when the game is released and I buy it, I only get a censored version which has reduced blood levels and the removed ability to blow the heads off zombies, right? DO NOT WANT.
\
How to get Valve Hammer working with Half-Life 1: Source
\
2009-10-28
\
Okay, here I tell you now step by step what I did to get Hammer to work with HLS and also get shot by a big turret.
1. Download the official Half-Life: Source fgd here: http://developer.valvesoftware.com/wiki/Half-Life_Source.fgd
2. Edit that fgd, search for monster_miniturret, copy that part and make a monster_turret (by simply removing mini in the entity class, model, and so on) -- I don't know why Valve left that out...
3. Start Hammer with any game... maybe it's best to do that with "EP1/Half-Life 2" in your SDK target platform selection.
4. In Hammer, go to Tools/Options/Configuration, Edit the configurations and add a new one, name it HLS or something along those lines.
5. Make sure the paths in that configuration match those where your HLS is installed, and add the modified .fgd-File you have.
6. Close Hammer and Steam altogether and find the GameInfo.txt in your HLS\hl1 directory.
7. In that text file, set the application ID at the top to 360 (HL1SDM) or 280 (HL1S), I can confirm that 360 works well. If you omit this step, all Hammer viewports will be all black.
8. Start Hammer with your new config selected in the SDK platform selection dropdown, make a room and add a monster_turret, set its autostart flag to true. Note that you can use the HL1 textures by entering "halflife" in the texture window.
9. Compile the map from the Hammer dialog, but do not run the game from there. Instead, load the map from the game's console.
\
Stargate Universe
\
2009-10-26
\
SGU is the best Sci-Fi series I have seen since Battlestar Galactica: The Re-Imagined Series. I can only recommend it.
\
The Construct
\
2009-10-25
\
void test1(int x)
{
}

(function<void(int)> func, int context) test2(int context)
return (test1<int>, context);

(function<void(int)> func, int context) test3()
return test2(5);

void main()
test3().func(test3().context);

test1 is called with x = 5.

Favorite scripting language feature checklist:
\
The Construct
\
2009-10-22
\
(int x, int y) z;
z.x = 5;
It looks so simple...
\
Thank you for paternalism.
\
2009-10-18
\
I just installed Half-Life 1: Source and... it is censored. Fuck. This stupid censoring is already going as far as the weight put on gamers by too heavy DRM. When will games become playable again after install?
\
New Microbrush 2 Video
\
2009-10-18
\
YouTube - Microbrush 2 2009/Q4 - Newbie Menu
Microbrush 2 Project Page
\
Stay Connected With Telekom!
\
2009-10-04
\
The Telekom is doing a really good job messing with my internet connection. When we extended the contract, internet broke. When we do nothing, internet breaks. When they send a technician, the line is broken. When they send another technician to check where the fault might be, the line is not broken, but it is a problem in their office. I got a call a few days ago from an employee that the internet has been fixed again. Thank god, ISDN works again!!! But what about DSL now? Nowadays I am spending more time offline than online because they are messing up so often, and in every single instance so far it has been their fault, theirs alone... bah.
\
Arson
\
2009-09-27
\
I finished our first run of Resident Evil 5 this evening with my brother. While playing, we already heard the fire siren going and emergency vehicles driving around. When I headed home, there were fire trucks obstructing my normal route, as there had been a small fire where they dispose of the flowers at our graveyard, at our church. I asked around to get some info on the case, and it turns out that the locals noticed the smoke and called the firefighters. There was also a man standing by who turned out to be one of our direct neighbors. A part of his hedge had been set on fire too, in very close proximity to our property. I saw a hole of approx. 4x4 ft. in his hedge. Then I went home and woke my mother, who was sleeping in the winter garden, and showed her the hole outside. There, our neighbor was already coming with a few policemen, and I gave them a heads up on a metal fence segment that was knocked down and bent over at a building standing next to our property. My mother went for the owner of that building and brought him to the scene, the police recorded everything and took some photos, and they noted down details from my ID card too, because I gave them the heads up on the fence. Exciting, or rather, that was pretty fucking close. I just hope the arsonist will stay away from our property. Update: Later we found another hole in his hedge, which was a bit smaller. There was a car parking behind the main hole, so it was close for them to not get their car set on fire too. I also heard today that they also set a part of the new bell tower of our church on fire. Everyone seems to know who is responsible for all the mess, it's the 2-3 kids who burned down an old abandoned restaurant here too.
\
The Days After
\
2009-09-22
\
It is amazing how much my father changed to the better, on the surface at least. My mother is confusing me more and more every day. Now to make Sythen produce a few MB2 tutorials...
\
Evening Modeling
\
2009-09-13
\
[Image]























\
1984
\
2009-09-12
\
Now I am one of the few who read that novel too. I can only recommend it, it is doubleplusgood, disagreement is crimethink. Last oral exam for now on friday.
\
Spin
\
2009-09-11
\
I just finished reading it, and I liked it very much from beginning to end. It has a very consistent story, with a very good sci-fi foundation. And, omg, I just found out that it is just the first part of a trilogy! :D
\
A, yeah
\
2009-09-09
\
"Well, there is not much to discuss. We're giving you an A."
Okay, I wasn't so good with the proofs, since it already took me a long time to understand them in the first place, but it still was enough.

Yesterday we had quite a severe power outage at work (actually, the whole town had no power). I walked around the different sections and floors, to see how the outage impacted them. The magnetic door locks failed so those doors shut, the security alert rang, the battery back-ups were beeping from every other office, the fountain outside stopped working, and even the toilets were too dark to use! The main server room was the busiest place, of course! There was a stream of warm air coming from it, and technicians ran around and fiddled with those monstrous, beeping machines.

After the exam today, I went to have lunch at our diner (tasty!) and then went to the customs office to pick up a package. It's been quite a long time since my last time there. At home, I decided to relax outside with a book ("Spin" by Robert Charles Wilson) until I ended up falling asleep in my chair. Then, and that was sooo cute, my dog woke me up, by simply resting her head on my side. A few minutes later, the sound of two Bundeswehr jets broke the silence. They caught my attention, and I saw them maneuvering in circles in opposite directions. Once it almost looked as if they were about to crash frontally... they were very close. That must have been some kind of air combat training.
\
Exam
\
2009-09-08
\
Oh my, oral exam tomorrow. Artificial intelligence, 2 semesters, 30 mins. Cross fingers.
\
Windows 7 Sins
\
2009-08-26
\
Dear FSF, why are you coming up with such a ridiculous campaign now? Do school children really need to be able to browse all the OS boilerplate code that runs their computers? I think not. There is neither enough time nor enough knowledge at that level of education. Free software is nice, yeah, but... but this is so ridiculous I can only ridiculously repeat myself! Maybe your Windows bashing would have worked better when Vista and all the new technology was just being introduced... :P
Dear Microsoft, thank you for your continued effort in making my work easier, thank you even more for Visual Studio, and for C#, and for making everyone who doesn't have the patience for installing a free operating system capable of computing and programming quickly, and I say that without irony. :D
\
Microbrush 2 Features
\
2009-08-15
\
Here, another YouTube video! :-D
\
Scott Baker
\
2009-08-10
\
Ladies and gentleman,

...

I now have a stalker! :-D

Our last conversation began like this: "Hey!" "Heya Shrinker, how is Microbrush 2 today?" When I claimed that that program doesn't exist, he immediately sent me photographic evidence, and it was clear from the pictures that instead of having a porn collection like any normal person, he hoarded footage of that imaginary program! Unbelieveable! Anyway, such a an obtrusive stalker really deserves to be linked to from my links section.
\
Microbrush 2 Video
\
2009-08-07
\
Here, I posted something on YouTube again :D
It's a little shorter this time, ... and it's very depressing how little of the actual programming effort is visible in new features :P Damn work under the hood...
\
Hate
\
2009-07-30
\
My mother is just ruining my grandpa. He is now spending sleepless nights over the whole situation, and visited us this evening to talk with her, even though we told him that that's a stupid idea. Expectedly, she was drunk, and now that she found out that my father played a part in the new car I buy too, she is totally exploding on me. Duh, it's not my fault that I have two parents, and that he has proven sane, and she ... blah. I just wish she'd move out and give way for him moving in with his girlfriend, even if he kept all of his odd behavior before the splitting (of which many things were due to the stress in their relationship), it'd still be much better than with her now. ... walking a difficult path here. Moving out is too expensive.
\
Hate
\
2009-07-27
\
The hate is in my mother. It knows no boundaries. My father approached us with the willingness to make clear decisions about the future of the family, decisions such as 'who gets what' and what kind of support to expect in the future. He even came up with concessions he'd be ready for in case my mother manages to talk normally with him. But she just couldn't concentrate on the now, started yelling at each of us, about things of the past, and is now making short-sighted plans again. Our support for her is fading. I am at a point now where none of that shocks me anymore. All these announcements of moving out and stuff, it is boring now. She acts like there is an audience clapping their hands every time she makes a remark about her former husband, but there is none but me, and I rarely pay attention anymore. She said my father envies how well we managed to live here without him so far, said that he certainly hoped for something else. I couldn't resist laughing about her, as "managing it" doesn't quite describe the shit that's been going on for the past months. Once again she says she'll move out... well? It doesn't make a difference for me anymore. Maybe my father moves in with his girlfriend... so be it. Next year I want to have my diploma thesis at hand, the key to standing on my own feet!
\
The Exam
\
2009-07-23
\
Well, it sucked. There was a sketch and there were measurements. When I was done constructing the rough things, suddenly there was a change request by the people looking over, telling us to swap two measurements and reconstruct that thing. Then I spent too much time deriving the construction of a simple ellipse again, and in the end it didn't look like one. I added a lot of annotations on my sheet, and I forgot noting down the scale I drew with. All in all, I probably passed that exam with a bad mark, which I don't want, so I'll have to see whether I can repeat it soon. And I forgot a pencil there, fuck.

A Windows SDK note: Always remember! Use CreateDialog for creating a modeless dialog, and DialogBox for creating a modal one!
\
A Stop
\
2009-07-20
\
All my hobby work stopped for a week... birthday this week, and my last written exam at the university ever a day later :D It's about geometrical construction. *practises*
I have posted some random Microbrush 2 info here: Interlopers
\
Kriegtek Unveiled
\
2009-07-08
\
Dear readers, I have good news for you. Last week, the SVOC network was compromised by a group of now well-known to us Kriegtek hackers. They left their traces in our big virtual honey pot, so we used a feedback loop to counter-spy on them. Among incredible loads of porn on KT workstations, we discovered one thing that might indicate what they are planning next. It turns out they made a model of a voxelized pool with swastikas all over its side walls. We have several theories on its future use: We'll let you know as soon as our intensive analysis of the case provides a definite answer to this mystery.
\
New Laptop
\
2009-07-05
\
I bought a new laptop yesterday, it's a Packard Bell EasyNote LJ65, with an ATi Mobility Radeon HD 4570, 4 gigs for am, 500 gigs of HDD, LED backlight, 17.3 inch screen, fancy touch-sensitive icons, Intel Core 2 Duo T6400 (45nm), very good webcam and microphone... And man, this thing rocks! I can run Saints Row 2 at playable framerates with this one, it's very silent, remains very cold, eats much less energy than the Acer laptop, the colors are much better to see, the viewing angle is much better, the screen is much brigther *slobs* Oooh, and the backup maintenance DVDs really did a job this time: From one of them, I installed all necessary drivers and OEM programs that shipped with it, after putting a proper version of Vista on it and repartitioning the HDD :D Also, a battery life of 4 hours (under no heavy load) is quite awesome to me :D
^^
\
Break It Down
\
2009-07-03
\
Two days ago, my laptop broke down. All symptoms indicate a mainboard failure, the HDD was alright and all data could be retrieved. That damn laptop didn't even last for 3 years... bah. It was an Acer Aspire 5112 WLMi 2GB. So, time for a new laptop!
\
Microbrush 2 Video
\
2009-06-25
\
Here, I posted something on YouTube :D
\
I am NOT a child abuser.
\
2009-06-19
\
Our government has recently introduced a law on DSN-banning websites with child pornography. People browsing to such a link will now see a stop site which claims that this is the way child abuse is stopped. The first draft, which would have been accepted unchanged if our one big Europe election losing party didn't oppose it in the last second in order to get some young voters, said that the IPs of people browsing to that stop page were to be recorded, their identities determined, and then those people prosecuted (as child pornography consumers). Of course, that'd mean if you wanted to get rid of your neighbor, you'd just hide a link to that stop page in random chatter.

Just today, a conservative (read: idiotic) politician of the CDU (a Christian party) started making an effort on expanding those DNS bands to all pages about violent games. So... now they not only brand all German gamers as natural predetermined spree killers (by coining all violent games as "Killer Games"), they also lump us together with child abusers.

Dear fucking politicians, I am not a fucking child abuser. Neither can you stop child porn on the internet that way, nor is this exaggerated paternalism helping reduce violence in any way. Violent games are already VERBOTEN for youngsters, we already have the strictest laws regarding violence in media in the whole world, so strict that in fact this can be considered mass censoring, so strict that all major movies on TV are suddenly suitable for youngsters (at noticeable loss of consistency in story), there IS NO MORE ACTION REQUIRED. I am sick of being branded as a criminal for playing games where, omg, where there is shooting!
In our society, the image of all gamers is slowly being cemented by populist politicians and the rainbow press. How come that when there are not enough catastrophes at hand, politicians tend to gradually take away more and more rights from adults and criminalize more and more things nobody cares about in any other country? Seems that heading into a totalitarian style of leadership is the default movement in politics. What are we supposed to do in our free time once everything is forbidden, huh? Fuck them.
\
Voxelstein 3D Continued
\
2009-06-14
\
A squad of fellow SVOC employees has broken into the Kriegtek headquarters last night. Not only did they set the development office on fire, they also secured evidence of continued Voxelstein 3D development. According to insider news (read: a captured and interrogated Kriegtek employee), the new engine will, just like that which Ken Silverman wrote, not harness GPU acceleration in any way. Interrogation revealed that the new engine has been written from scratch, maybe that's the reason why Voxelstein 3D development is taking so long. The evidence contained a technology demo in an engine version named "Kriegcast 010", a few screenshots follow:
[Image]
[Image]
[Image]















































That scene is 1024 voxels in width, length and height, which seems like much. Shortly before death, the interrogated employee also revealed that advanced realtime shading technologies will make it into the final game. Regarding that, see what the head of Kriegtek posted some time ago. Confidential Kriegtek documents have revealed the following feature list for the new engine: I personally think that this sounds like crap - once again, Kriegtek is screwing up. If you scroll down this news site a little, you might also notice that Kriegtek actually STOLE our latest building! We are still investigating how that was even possible, with ceiling-mounted sentry guns in each of our corridors. To give you an impression of our tight security measures, I should mention that our active security measures, such as the sentry guns, are all configured to activate when "in doubt", meaning that from time to time we lose valuable workers, but they gave their lives only for the improved security of everyone else. We will continue our efforts to beat this competitor out of existence.
\
The Last Straw
\
2009-06-09
\
Today I ingested my last Isotretinoin capsule. At the end of this acne treatment, I feel like almost dead in some aspects. I haven't eaten properly (= without pain) for more than five months now, just to give an example. Also, can you imagine how sad it is when you feel pain, and making a sad face actually makes the pain even worse (not mentally, but physically)? Gah, health-wise, these have been the worst six months of my entire life.
\
Saints Row 2 Attack Chopper
\
2009-06-03
\
So, how do you obtain the attack helicopter, the Tornado? It's been discussed in so many forums... people have learned to jump on SWAT helicopters from above in order to capture them in the air, others are trying to exploit bugs in the missions... but there is actually a fairly easy way to do it... Go to the Stilwater Police Department, where there's also the wiretapping mission and stuff, and just go into the wiretapping room, and stay there for a few seconds. Then, go to the helipad, and back to that room, wait for a few secs, and back to the helipad, until finally a Tornado appears. It took me only 2-3 visits to the Helipad, so the chance for that proximity vehicle spawn point to trigger seems to be relatively high, and the wiretapping room seems to have just the right distance from it. You don't even need to have any police stars for that to work. I have also noticed with my brother, in Coop, that if one player picked up the Tornado (and is awarded 5 police stars for it), that one player can flee upwards while the other one gets himself killed a couple times -- this way the stars vanish, and the helicopter can safely be landed on a player-owned helipad without any fighting.
\
Microbrush 2
\
2009-05-27
\
... let's add something to the previous list:
\
Microbrush 2
\
2009-05-16
\
... will have these features at least:
\
ATI Display Driver
\
2009-05-15
\
Sooo, after discovering memory leak behavior I decided that it's time to update the driver for my ATI Mobility Radeon card in my Acer laptop. The most recent Catalyst installer, carrying the driver version 8.600, told me that my 8.362 driver is alright and up to date. Of course it was lying. After uninstalling the old driver, it didn't present me with a new driver to install, but luckily that could be fixed with the Mobility Modder!

Update 1: Well, installing a new driver didn't work nevertheless. Setup worked, driver wasn't used by Windows. On the Acer support pages, I am presented with an even older driver than I have gotten from there ealier, it all just makes no sense. Seemingly I am left helpless with this X1600 mobility card now, as I can't update it with a generic driver even.

Update 2: With nothing to lose, I installed what Windows Update had to offer, and poof, here comes a version 8.531 of the driver, specially for my card! Omg, Microsoft did a better job than AMD and Acer together! :-D The ATI support hub on AMD.com seems to be broken, it takes ages to load, regardless of the browser. And OH MY GOD, 3D stuff now runs notably more smooth on my laptop, smoother than ever before, only thanks to this driver :D:D Actually, seemingly the driver I now have is not from ATI alone, but also from Microsoft (WDDM stuff) o_O. It does feel a little bad that the best driver existing for my notebook is only available through Windows Update, and I don't have an offline backup version, but well, maybe things get better in future (maybe I get a new laptop sometime).

Update 3: All OpenGL-related (glFinish, glDeleteBuffers) memory leaks are gone since the install of this driver through Windows Update. Mission accomplished.
\
LSL
\
2009-05-12
\
Hmmm, so how do we set or get an item from an array (list) in LSL?
C-like languages:
v = arr[i];
arr[i] = v;

LSL:
arr = llListReplaceList(arr, [v], i, i);
officially better: arr = llListReplaceList((arr = []) + arr, [v], i, i);
v = llList2Integer(arr, i);

I really wonder...
\
A Forward Move
\
2009-05-10
\
After ongoing troubles at home with my mother because of the mutual inability of my parents to talk to each other, I have re-established contact with my father, and was happy to see that he has changed to the better in the time we had no contact. If all goes as planned, I'll move to an own apartment this year. This will be a difficult situation for me, considering the constantly high university workload, and for my mother, who maybe has no other option but to move out too, but on the long term this will be much better than the current situation continued.
\
Tricks And Traps
\
2009-05-06
\
Sooo, I observed the odd effect that in a for loop with crystal clear semantics, the second argument of a min function was evaluated one time too often. ... Long story short: windows.h defines two macros, min and max, with the ?: operator (and redundant evaluation), that supersede the template min and max functions from the C++ standard library if you use it, but that behavior can be turned off via "#define NOMINMAX". That was very annoying, unnecessary, unconventional, not expected, and can cause unintended side-effects and slowdowns.

Have you ever faced the problem that you have classes with a lot of get methods, some of them lightweight, some of them with a lot of computation backing them, and then losing overview which values you need to buffer? A friend got a nice idea to solve that problem today: instead of naming a function getStuff() and hiding all the complex things it does, name it computeStuff(), so the end-user programmer knows that calling this is more expensive than calling a lightweight getter :D
\
Brutal!
\
2009-05-03
\
Last night they showed Demolition Man and Wind Talkers on public TV, all uncut.
Life is good.
\
A Little Modeling
\
2009-04-30
\
The office building took me one full evening to make, phew.
[Image]
[Image]
[Image]
[Image]
[Image]
[Image]
[Image]
[Image]
[Image]
[Image]






























\
Our Arch Enemy
\
2009-04-28
\
Oh man, this is already the third news article today!

I just wanted to announce that the S.V.O. Committee (which I am the key representative of) has observed a group of terrorists forming a new group against us, the Krieg Technological Research And Development Advancement Group (KTRADAG).
We'll be keeping you up to date about their efforts to undermine our organization and the society as a whole.
By all means necessary, we hereby already declare war on them.
\
A Complex Joke?
\
2009-04-28
\
In the morning, I had a Python question. Because I was too lazy to log in, I asked my friend Paul to poke Thomas online. Thomas wasn't online and only read the message later. In the evening, I sat waiting for the next lecture with Paul, and Thomas was still at home. He came online and asked me what Paul wanted.

I pretended that Paul had a problem with his dual-boot system, which he countered by telling Thomas that I had a problem with my freshly installed Ubuntu. Well, I never used Ubuntu, so I googled for error messages and started a console window with a custom title. (see start /?, color /? and prompt /?). He asked for some cat system diagnostic output, so I googled for some and we figured that there was a problem with my (not really existing) floppy drive, and that my hard drive stopped existing. Then he said good bye, signed off and headed for us, to join us in the lecture shortly after.

He told me he'd take a look at it personally, and I told him before that I downloaded an odd addon that might have caused the problem. So we had to come up with a website, and we had to do it fast.
http://www.frakrate.com/
\
JavaCC Pitfalls
\
2009-04-28
\
\
What The Frak?
\
2009-04-24
\
Editing shipment addresses for PayPal transactions is a pain in the ass. Why? Who designed that shit?
\
Axon
\
2009-04-23
\
Did you know that an Axon, the electronic signal-emitting part of a nerve cell (like those found in your brain), can be up to three feet in length? OMG I say :D University really is keeping me busy now: I stopped playing games and started studying and doing homework during lectures.

Oh hey, yesterday, an abandoned two-story hotel/restaurant in our town burned down and collapsed. Since it was the only abandoned building left to see for people passing through the town, it just looks like a necessary and dirty deconstruction to me. Let's see what they'll build there next.

Have you ever sat there with a text editor, search/replace dialog open, regular expressions active, trying to prove hypotheses about a set of textual data that is 100MB in size? You know, sometimes it really pays off to write a small C# or Java program to do the job for you. I mean time-wise, and since time is money, you should really think twice before hitting that "replace all" button.

Seemingly there is a Left 4 Dead expansion that was patched into everyone's retail version. If only I had the time to play it at the moment. The lighthouse in the new intro video looked nice though!
\
Imperator Update
\
2009-04-15
\
There was quite some stuff on my TODO list for this project, and soon I might need a fresh parser implemented in C++ again... so I have cleaned up a bit!
You can find the newest version of my parser generator, Imperator, here.
This is the list of changes in the 2009-04-14 release:
\
The Clusters
\
2009-04-13
\
Here is a view on the aforementioned cluster structure in action. All boxes are brushes, making them special. The black frames denote inner clusters, the dark red outlines represent the boundaries of leaf clusters. Each leaf cluster has a displayed model associated, where the child brushes are rendered into.
[Image]
[Image]
[Image]
[Image]






















\
Saints Row 2
\
2009-04-13
\
My brother borrowed some games to try out in cooperative mode, and Saints Row 2 has proven to be a big positive surprise to both of us. It's like GTA, but it's much less hassle to get around in the world, the shooting simply is better (hey, you can aim properly :D), and the story is quite nice too! In one side-mission, we were to protect a VIP from fans that turn crazy, and we did so by grabbing them and throwing them into predefined areas... ... where, depending on the stage, they were shot by military vehicles, squashed by bulldozers, or soaked into a helicopter rotor. Those pesky fans! This is definitely the best GTA-style game I have seen so far. It's really worth a look, so go check it out! :D

Oh yeah, seems like the version of JavaCC I have been using didn't quite count line ends in comments, causing bad offsets in syntax error messages, nor did JJTree guarantee that line numbes from the .jjt file remained consistent... Tsk tsk, this was one of the most obvious problems I tackled properly in Imperator. In fact, Imperator's parsers are so accurate in error position reporting that I was first irritated... because I was so used to bad error report positioning from JavaCC.

Right now I'm investing some time in hierarchial clustering of the 3D space... to put a lot of brushes into it. Adding and picking work with practically no computation time, which is especially useful for editing. But now that the system is so specialized on adding stuff, removing stuff has proven to be a hard riddle to solve, but I'm on it! Oh yeah, regarding "paint-select" in brush-based editors: It works fine with this structure I have now, but I figured paint-selecting brush faces poses a problem on its own... If you just stroke along different brushes, you are in danger of selecting faces that are not visible, but participate in an edge you stroke along. What's the solution? Simply sample with more than just one point of selection around the mouse cursor, e.g. have 4 points representing a little square around the cursor. When you now stroke along your brushes, only those faces get selected that are hit by all points at once, so there are no more accidental selections. I hope this will prove useful in rough texturing of Microbrush 2 architecture.
\
Final Destination 3
\
2009-04-12
\
Or Crank. Or Die Hard. It is absolutely pointless to watch any such movie on German TV, for they censor out as much violence as they can.
\
The Next Generation
\
2009-04-01
\
Accuracy 2 was nice while it lasted, but development is already stagnating, I just lost interest in it with potentially better technology at hand.
Microbrush started as a small dirty experiment to writing a brush manipulator, and it was successful beyond all my expectations.
It even inspired a friend to start working on a game again, but many reviewers complained about the total lack of a GUI. Seemingly this isn't a tool for the masses as it is, and needs to be redone completely. For instance, there is absolutely no optimization in regards to hiding brushes out of the view, or only redrawing a part of them, and hence selecting brushes slows down quickly (after 1k brushes).

Bork3D, the 3D engine that powered my projects for years, grew old and rusty just like an old Battlestar. I have learned since the inception that scene graphs are better, and that many other details I did could have been done better too. The time for refactoring by redesign has begun, the lifespan of that old engine is over, and so there shall be a whole new generation of projects, and an awesome-ized version of Microbrush, Microbrush 2.

And happy first of April, whoever reads this.
\
Vacation
\
2009-03-16
\
I will be away from 2009-03-20 to 2009-03-31. See you.
\
Microbrush update
\
2009-02-21
\
An updated version of Microbrush is available.
This one brings you better (and less tiring) visuals and a crash fix for an issue related to degenerated brushes that disappeared from facedrag, making it an overall safer experience.
Here is some architecture in the making:
[Image]
[Image]













\
Multiline comments
\
2009-02-21
\
I've recently had the problem of Imperator not interpreting multiline comments with forward shlashes in them right. I tried various regular expressions to describe how they are built, but that naive approach failed. So I took a pen and paper (!) and drew a deterministic automaton, and with some trial and error and actually an hour of sleep too, I've derived this regular expression from it:
"/*" (~['*'])* ('*')+ (~['*', '/'] (~['*'])* ('*')+)* '/'
I wrote that into the grammar of Imperator itself, and it performed good enough (as in: I couldn't find any problem cases anymore). That expression can be described as "the multiline comment starts with '/*', ends with '*/', and there may be no '*/' anywhere between the start end the end".
\
Careful!
\
2009-02-17
\
I encountered a rather interesting problem today with a foreign project. JavaCC is a parser generator for Java which can take a JJT grammar as input which is annotated with some hints that have influence on how the parse tree is generated from it. From the JJT file, JavaCC generates a JJ file, which contains the matching logic and the logic to construct the tree. One can supply only a JJ file too, at the expense of losing the tree output functionality. Anyway, there was a project with a JavaCC grammar which I needed to update, and regenerate a parser for with JavaCC. I prepared everything according to standard ways of the environment the project is part of and then stumbled over a weird error: JavaCC refused to compile the JJ file!

Why oh why, I wondered. JavaCC reported an invalid Unicode character inside. I checked the JJT source, but there was nothing that could cause problems. When I looked into the JJ file, however, I was shocked. JavaCC (invoked from Maven, at least) adds the path of the generated file in the very first line of the generated code, as a platform-dependent string. Just take a little bit of Windows here, and have a package name containing ".utils" there which you must not change, and you have a nice recipe for problems! \uXXXX is the Java way of escaping Unicode characters, and such an escape sequence must be correct both in normal source code and in comments (you could write a whole file like that, it's some kind of pre-processing step).

\util was of course not a correct Unicode character. When I fixed the bug by hand and compiled the thing with JavaCC, to get my Java classes, it appeared that in some of them, their own path is also dumped into a comment! I couldn't automate those replacements by hand very well, so I had to document them instead, for now. That's 1. JJT -> JJ, 2. editing JJ by hand, 3. JJ -> .java files, 4. editing two of those output files by hand. And a problem is that even if I renamed the parser's package to something without a U, then the whole Eclipse workspace could be located in a directory that starts with a U... The JavaCC team should really fix this seemingly unimportant issue, by replacing the platform-dependent path with a URI. Or maybe they have already? - I couldn't find information on such a bug reported in their ticket system. The project I edited uses JavaCC 4.0. Or is it that the majority of JavaCC users works on a Linux platform? :-D

In other news, it is now mandatory in my local version of Imperator that an inline rule (one which doesn't generate an output node on its own) must be preceded with a hash symbol (#) wherever it is used. Previously, the # would only be found at the definition of the rule, but it figures that when working with the output of a grammar, with the actual output node structure, it is much better if you see this definite warning sign within a rule, and wouldn't have to look up every used rule for whether it is inlined.
\
Updated Maps And New Maps
\
2009-02-15
\
Check out our all-new Half-Life 2 Deathmatch maps page here! :-D
"Meet a Zombie", "Miqrobrush" and "Snow Mountain" we released just today.
Big thanks to Mevious/SG2/seriousgamer200/Ben for putting so much efforts into mapping this!

Have fun playing!

[Image]
[Image]
[Image]
[Image]
[Image]
[Image]
[Image]
[Image]
[Image]
[Image]
[Image]
[Image]
[Image]
[Image]
[Image]
[Image]





































\
Microbrush
\
2009-02-13
\
An updated version of Microbrush is available.
This one contains a few more models, like the school displayed, and other chunks which we want to use in a Left 4 Dead campaign. The only notable change to the program itself is the following: Sometimes, when accidently changing grid size, the cursor behaved in an unexpected way, and was annoying when dragging faces. Now the grid size can only be changed when you are not just in the middle of an operation, and when it changes, the cursor is positioned under or near your mouse cursor properly, as if you moved the mouse (previously it was set back to the grid origin).
\
Modeling
\
2009-02-11
\
This time it's a school.
[Image]


























\
Stuff
\
2009-02-09
\
A little modeling:
[Image]
[Image]














My physical condition got worse because of the medicine, 110 days left. I should really upload new HL2DM map versions. Sorry Mevious/SG2/seriousgamer200/Ben, I am so lazy.
\
Imperator Bugfix
\
2009-01-29
\
A fixed version of Imperator is available.
There was a mistake in generated C# code where a sequence in a regular expression wouldn't preserve the index in the source string as intended, corrupting the following matches. So, well, nothing spectacular.
\
Nothing Good
\
2009-01-26
\
When I walked to my car in the morning, my father stood nearby in our front yard, greeting me good morning. I didn't respond because he only does this if (a) he wants something or (b) he wants to be victimized in a way. I got into my car, he came there quickly and opened my door, and held it open. I repeated "leave me alone" and he started putting words in my mouth again. And I resisted. Leave me alone, leave me alone. When I returned home today, he parked the rolling trashcan in my carport again, blocking it from proper use again. Apparently I was right to tell him to leave me alone, again! :-)
This person apparently doesn't want anything good for the family anymore, we must concentrate on not playing anything into his hands.
\
Imperator Parser Generator - First Release
\
2009-01-26
\
Here it is.
The first release of Imperator Parser Generator offers a very straightforward way for generating LL(*) context free grammar parsers for C#. You just write your grammar, start the program with it, and voila, your parser is done. There is not much checking on the rule topology yet, so you better know what you are doing. Grammars for Imperator itself (which defines its own grammar), for VMF files and for the face descriptions in VMF files are included.
More to follow.
\
Language Constructs Of The Future
\
2009-01-25
\
I think that modern computer languages should allow for working with tuples much better. The following constructs should be quite doable (addable) in modern languages of the C family already:
(int, int) myPair = (x, y);
int (a, b) = myPair;
myPair = (y, x); //alters contents of mypair
(x, y) = (y, x); //alters contents of variables
(int, int) add_mul(int x, int y) {return (x+y, x*y);}
And for something more complicated, how about function concatenation based on input and output?
(int, int) foo(int x) {...}
float blah(int x, int y) {...}
void test() {float f = foo(2).blah;} //the output of foo is the input of blah
\
Microbrush Update
\
2009-01-21
\
There is a new version of Microbrush available.
Since a friend at the university kept using it with keyboard only, I had to remove the dependency for computer mice: the grid can now be pulled and pushed with the keyboard too. Sometime later, I plan to make the whole configuration ... well, configurable, and not hard-coded anymore. It now saves faster in its native format because that process is now buffered. The most notable change is that if you like using the cut tool to shape your brushes, it is now much less probable that you end up with faces which are only displayed half. Microbrush now recognizes such faces and removes them. When I imported geometry from Hammer I noticed that Hammer probably doesn't do the same, so occasionally a few imported brushes disappear. I exported from MB to Hammer and back, and that seems to work well.
\
VMF: Converted.
\
2009-01-21
\
VMFToMicrobrush is ready for use. It converts Valve's VMF files (Source Engine map source files) to the Microbrush binary format, so already existing architecture can finally be used with Microbrush.
You can find it here.
\
VMF: Parsed.
\
2009-01-20
\
I managed to regenerate the parser of the parser generator, the parser which parses the input grammars, with the parser generator itself, finally. And a VMF grammar is complete too already, and very soon I should have a VMF to Microbrush converter done. And lips are bleeding much again :/
\
I Should Be Sleeping
\
2009-01-20
\
My nose is bleeding less frequent now, and I can actually feel the original shape of my lips again -- my body is getting used to the Isotretinoin! :-D

Also, I figured today when working with JavaCC that it does not support syntactic lookahead within a lookahead, but my parser generator does :-D
Yes, development on it is progressing well :-)
If you wonder about the smileys, I am not drunk or something :-S -- just very tired :-E
z_z
\
Mysterious Night
\
2009-01-18
\
While watching TV, the visible outside suddenly got my attention. Behind the silhouette of an old gymansium which I can see through my window, there was bright blue light flashing, like in a thunderstorm, but without the lightning lines. And there was no sound from that either. That came a few minutes later, and I clearly heard it: A distand explosion. That was when I called the police for the first time in my life, and apparently I wasn't the first one to report that phenomenon: They said that they were still trying to figure out what happened. It seems like firefighters were dispatched for a village just at the other side of Rostock, but there was nothing there. Our coal power plant is in the very direction I saw the light flashes coming from, but after hearing reports from people in a distant village, and even people from Hamburg seeing it too, this news report from a Swedish site makes more sense: It was a small meteor impact!!
\
Farewell, POV-Ray
\
2009-01-16
\
For our Computer Graphics base lecture at the university, we are given two optional tasks: programming an OpenGL animation and making a POV-Ray scene. I decided for the POV-Ray scene because I wanted to check out how that language looks like and feels like when working with it. For each ot those two optional tasks done, the student may talk about those specifically in the exam for five minutes. In the last lecture, I checked with my professor (Ms. Schumann) whether my scene is already full enough of CSG modeling for being taken into account, and it was.

I just finished the last few things (adding a reflective thing, removing commented out sections, etc.) and will shortly submit my scene. After working so much with POV-Ray, I must say now that this language is dirty beyond imagination. It lacks a proper structure, is too forgiving when making mistakes (like omitting a comma here and there) and very inconsistent when it comes to "here you need this, there you can't use it". Also, I'd have specified a few things differently, e.g. the default coordinate system, or the way planes are specified (why the heck don't they input n and d from p0*n = d, but instead n and d*norm(n)?!). Or how about name scopes and such stuff? There seems to be only a global namespace which you can easily pollute. :(

Anyway, here's my crappy scene, assembled with lots of macros (think of them as POV-Ray geometry functions) and a lot of swearing. All measurements are parametrized, so are all textures. (At the beginning I thought I'd find the motivation to texturize and light it all properly! Lol!)
[Image]
[Image]

















Regarding the second picture... we had another OpenSceneGraph exercise today in another CG-related lecture. Because OSG turned out to be a bitch to work with in our environment (for instance, it'd always eat 100% of one CPU core, and the documentation is full of errors and things forgotten), I decided to mess around with shaders (our task) in my own program (not our task, but it was approved). A funny thing I tried was using a black and white checkerboard pattern on everything. And when a brush was selected, the checkerboard would invert. What is the opposite of eye candy? Well, that was it! The pic there shows a little combination of trigonomety on the texture coordinate information (which is just based on vertex positions), and those separating lines you see everywhere are there because at every xth distance from the camera, I inverted the pattern.

Parser generator work is progressing slowly, but that is only becaue of university tasks. My confidence in it is still high.
\
Torture
\
2009-01-13
\
I've always had acne, always visible and occasionally very bad. Especially my back was full of dark blue and black spots that'd cause pain and not go away. I've grown up with the jokes about it as a child, and ran around in circles as an adult pinpointing the reason. Coult it be allergies, or habits, or the milieu? No matter what I tried, the disease progressed completely at random.

A few weeks ago, though, it suddenly got a little worse than ever before, with a new painful and unremovable spot appearing every day, bad enough for me to consider seeing a doctor about it. And I did, and she was all "OMG, worst kind, here, take the strongest medicine!"

So for a few weeks already, I am on Isotretinoin. It basically works by drying your skin out so the acne bacteria in the pores lose their fuel and vanish. Unfortunately, there are some side effects that come with it which currently make my life a lot less enjoyable. Right after the first time I took my pills, I lost the ability to distinguish the silhouettes of the trees against the nightly sky -- night blindess. That was all for like two weeks, after which the medicine started taking the intended effect. Not only did my skin dry out, my lips also broke and remain broken despite all countermeasures. I admit, it was interesting at first to see skin peeling off from the lips, but apparently a limit was reached soon. They tore open in the middle and started bleeding.

Right now, I can't even blow a dust flake off my glasses without causing great pain to myself. I'm also having a hard time eating, since everything that requires these dry lips to deform simply hurts. When I dry my face with a towel, the lips always leave a blood stain now. At some point, I started having what I call "surprise nosebleed". Surprise nosebleed means that you sneeze and figure a few minutes later that your shirt is full of little blood spots. And last, but not least, maybe because of my completely dried out mucosa in the nose, I am having a hard time sleeping through the night. I wake up and am confronted with the feeling of suffocation, after a long period of coughing. For some reason, getting out of bed and doing things (like writing this) stops it. I hope I have soon passed the point where no new side effects begin and the old side effects don't get worse. A few days ago, the backs of my hands became dry and skin started to peel off from those too, and my left hand got some interesting red spots on it, but I can do something about it with a cream.
\
The Process
\
2009-01-10
\
Work on the parser generator is going on well.
I finally received an updated batch of levels from Mevious (formerly known as SG), am going to put them up soon.
My local version of Microbrush already got slight improvements, most notably detection and removal of undisplayed faces which used to cause rendering flaws.
For an OpenGL assignment of a friend at the university, I built this (in one long university lecture):
[Image]


























\
Match!
\
2009-01-06
\
Soo... my parser generator's parser just matched its own grammar's grammar!
Now there are no more obstacles in the way for me for really implementing a parser generator :-D

I must say, the most interesting problems so far arose around looking ahead when matching rules. For regular expressions for the tokens, I'm using back tracking, because it's merely saving and restoring an index into the source string. Each token is only matched once, fetched tokens for looking ahead are kept on a stack for later retrieval. After I realized that within a custom lookahead, I still have to look ahead at choice points, I managed to stackifize that stuff too. I pursuited a few dead ends on the go, but finally reached a clean set of transformation rules which I can put to use in the generation process soon. Let's see how this turns out!
\
JavaCC
\
2008-12-30
\
At work I have been using JavaCC for a long time. Due to update restrictions, it wasn't the newest version, but it did its job, and I doubt that it has changed very fundamentally since then. It always bothered me that the generated code was full of Java warnings. I'm just experimenting with this parser generator topic a little myself and realized that: I can tell you, it is really weird to specify a transformation from regular expressions to C# code... and then actually matching those regular expressions with code manually copied together from the transformations. I also have a grammar on hand which defines the grammar of itself... I like this!
\
Voxelstein 3D
\
2008-12-26
\
I think that Voxelstein 3D looks pretty and pretty interesting and promising.
Keep up the good work! - to whoever is working on it.
\
Merry X-Mas
\
2008-12-24
\
I always thought that one thing my language was missing were typedefs. I have some complex unreleased things written in it that deal with emitting VMF files (to be used for Half-Life 2), complete with brush, texture and entity data. With typedefs, I could now give proper names to the objects managed by that API, so one doesn't have to type array<int> for everything, and so that types can be changed without problems. Initially, before I decided for typedefs, I implemented the "auto" keyword, which makes it unecessary to type out long parametrized data types. The rest of changes are just fixes for consistency and require no more comments. There is a new version of Accuracy2 available.
\
Smooth movements
\
2008-12-19
\
In my engine there are so-called Object3Ds. These inherit from TransformedObjects, which can be conducted affine transformations on. My engine ticks every 50 msecs (by default), executing user code from a project. There is the possibility to interrupt the Engine and execute event handler code (e.g. on key press). In the frames displayed between ticks, smooth animations are interpolated, and at the end of such a smooth animation, a transforming TransformedObject is removed from a list indicating which objects are scheduled for halt, and the internal coordinates are updated, and so on.

Now, when deallocating TransformedObjects, I forgot updating this list indicating which objects are to be stopped, causing memory to become corrupt when invalid objects were stopped. That caused a crash in Animator when I had a sequence with smooth animations running and interrupted it by reloading the thing (on key press). Therefore, a new version is now available. Hmh, I should really document the concepts of my 3D engine someday.
\
Microbrush Accuracy 2 export
\
2008-12-18
\
There are new versions of Accuracy 2 and Microbrush online.
Accuracy 2 now has a language construct for inputting big amounts of data in reasonable time in the compile process, and Microbrush can export to that format. A sample script for the Microbrush-specific Accuracy 2 import is included in the Microbrush distribution.
\
Progress
\
2008-12-17
\
Now there is a contact section, and the homepage manager finally behaves in a usable way. There are two new HL2DM maps we're going to release soon, Miqrobrush and MeetAZombie.

Changes in the projects section: Microbrush, my experimental brush editor for Valve's Hammer/Half-Life 2/Source Engine, is now available too. Ever thought how life would be if you could create architecture for HL2 much faster? Now you can find out! :-D

Remaining TODO:
\
Totally fucked addendum
\
2008-12-12
\
I am now going to work again, parallel to university. That money I earn they can't take. When I arrived home in the evening, my mother was waiting for me and apologized. Good.
\
Totally fucked
\
2008-12-11
\
My brush creator experiment went so well that in the past three days I created the architecture for two full HL2DM levels. SG is now texturing them.

After my mother used a lawyer to demand money from my father, for me, my father used a lawyer too to demand money for the house. There was of course a little lying involved from his side, and stuff. I finally got rid of the rolling trashcan I had to drive around with (hey, it was cheap for him to maintain, insurance for trash is minimal), and unfortunately my motorcycle too. Now I have a real car though, a VW Polo. Well... we calculated, and if both sides got what they wanted, my father would still have to pay like 200€ per month, and without the vehicles, a little more too. My mother, though, was emotional about this and gave up. She made some short-sighted decisions again, such as dropping lawyer support and moving out tonight. A few minutes ago she came to my door telling me that the main gate is unlocked and bye, she is seeking an apartment (yes, it is about 10 PM here). Now I am left with a house, two dogs, two cats, university, a "mini job" (job with only so little money that there is no tax deduced).

I tried everything I could to convince her to make sane steps, but she has proven immune to it. I encountered my father too, today, and he blamed us for everything. I told him what I think of his overall behavior, of his lies and accusing style, and managed to get him to leave the scene, shutting the door loudly. I hate him for lying so much to me. He was always talking about support and is now trying to take away as much as he can. And my mother seems incapable of dealing with the situation. None of them is going to pay anything in the house, and I technically don't have the resources. Heck, I don't even have time for the animals as a student taking so many courses. I hear sounds from the other side of the house, maybe she still is there and will move out in the coming days? I get bad news from them daily now. What would a normal person do? I can only try to be more and more emotionless. Screw them.
\
Experiments going well
\
2008-12-08
\
So I am still working on that fast brush creator. It already supports 90 degree rotations, translation, cloning, facedrag, clipping, brush merge (and brush intersection), paint select... Next to come: VMF export, select inside tall, and maybe XML configuration for the command layout. Even in simple debug testing I can create stairs with sloped undersides within seconds. That must mean something, something good! Soon it will be put to productive use for mapping. :-D
\
News
\
2008-12-05
\
I have created an experimental program to increase my Half-Life 2 mapping speed a lot. Creating brushes in Valve's Hammer is intuitive and stuff, but really, why do we need to aim for those anchor points all the time instead of simply dragging a face by holding down the mouse near it? Radiant wasn't as pretty as Hammer, but it could do things like that much better! Also, how about 3D clip planes, instead of just 2D? It's all too slow, too slow I tell you! So far I decided for an all-3D user interface, I have a grid which can quickly be aligned everywhere, and which takes the position of the camera into account too. Even though I can only create brushes yet, and not modify or delete them afterwards, the fact that I could already create a house and rooms seems very promising. In the end I hope to be able to create brushwork in my program and simply paste it to hammer. Even if I have to texture everything in hammer, it will still be a much faster mapping experience. SG will surely like me throwing more architecture at him :P

TODO:
\
News
\
2008-12-01
\
There is a new version of Accuracy 2, fixing the command line and making it more flexible in regards to include file paths.
Seems my parents are now starting a legal fight over their property and the duties for me.
University is going on well.
\
New Homepage
\
2008-11-04
\
I declare my new homepage finished, it is now hosted at InterComm too, replacing the old version.
\
Father And The New Lock
\
2008-11-03
\
A few days ago we exchanged the lock for our main door, which was already half broken (and couldn't be opened from the inside anymore), with a new lock. We had been warned that my father's new girlfriend is rather curious to see the inside of the house she doesn't belong into. Shortly before that, I prepared to go to the university in the morning, and suddenly there was my father standing in the corridor. He seemed like he didn't expect me, and quickly left the house again. Must be interesting to lurk here. Anyway, he and his girlfriend are now locked out. Apparently, in the past few days once when we were not at home, he paid us a visit and recognized the new lock. He called my brother about it. At first he asked why he was so stupid to insert a new lock (well, we all worked on that, hand in hand), and later he managed to convince my brother's boss to get to call my brother again because he had an "important matter" to talk about. It turned out he only wanted to ask when we're gonna change the locks for his garage. What the hell? He didn't seem to understand the meaning of him moving out when he, well, moved out.

He kept saying that he would repair this and that, or that it is impossible to change this or that. Since he moved out, we managed to refurbish/repair the following things: Apparently, we're fine without him.

Now he paid us an evening visit. He is installing new locks on his garage. Okay :D
\
Projects
\
2008-11-03
\
I am still fixing little quirks in the website design, but my main project, Accuracy 2, is now available here. Initially, I had the gallery consist only of PNG images, but they were slightly too big in size on the server. I wanted to batch convert them with GIMP and its Script-Fu-System, but that failed miserably. Whenever you make a mistake there, it just tells you that there is an error, but not what error exactly. After a lot of trial and error, we at least learned this useful fact: If you want to start a script with GIMP, you might have to cat it into its command line (cygwin-bash on Windows): ./gimp-x.y.exe -b "$(cat script.scm)" (thanks to thp-Thomas for this!)

Morale of the story? After quite some time, we still couldn't get Script-Fu to do what we needed. I simply wrote a converter in C# now, available from the projects page now, with source! :D
\
Red Alert 3
\
2008-11-01
\
Two days ago, my brother and a friend of him bought Red Alert 3 in a retail store. We intended to play through it in cooperative play, since we like cooperative play. ... about three days ago, the game was released, and since then there have been three patches. A patch per day, great! And in the change logs for the patches 1.02 and 1.03, there is NOTHING! They wrote nothing! What do they patch, I wonder? We figured quickly that they didn't write anything in there because it is nothing but ridiculous what they did. We had two legally authorized copies installed on two computers. No matter what we tried in 1.02, they just wouldn't connect to the internet! After a lot of search online, we got to know about patch 1.03, released today, and that made one of the games capable of going online. ... at the point where it actually established a connection to the EA/GameSpy servers, it complained about the CD KEY NOT BEING CORRECT, What The Hell?! That was the very point where we decided to return the game back to the store. And later this day, we did so. This was the first game that we returned to the store.

Before doing so, we played a little in LAN (yes, that worked), and figured that the game is not worth its money (oh hey, did I mention that we paid 50 Euros for it?). From my standpoint, what I found most annoying were consistencies like this: I can press F1 to build the first unit, I can hold down shift and press the unit button to build 5. But I can not press F1 while holding down shift to build 5 too? Also, what is up with the zoom level? How come we play CNC games with a magnifying glass all the time? Hello game creators, you should have arrived in the future by now. We like zooming out a little! The Japanese faction was funny, but I personally found them way too exaggerated in terms of comical style and such. Lack of realism is part of the concept, but mechs/transformers everywhere, and the Japanese special infantry unit was... a flying girl? WTF? Please, someone tell me, how can a company which made so many great games fail so hard with their new and most anticipated title? This was one of the few first games with a widely known beta. What is a beta there for? For recognizing and fixing bugs. I can only explain the total failure of quality assurance on this title with terrorists teleporting a bomb into their offices. This is not funny at all, but a completely ruined release. I can't say it often enough: Three patches in three days, and no changelog on the last two patches! They were probably ashamed of their flagship being unable to connect to the internet. They were probably ashamed of their biggest selling feature, the cooperative mode, not working. I do hope that gaming sites will pay them back in their tests and reviews.

My recommendation: Do not buy, unless a nicely designed menu and good music are reason enough for you to throw out 50 bucks. On quality assurance, I also have to complain about Spore. When I installed it, it complained about my video drivers not being the latest drivers, and asked me to disable SLI mode rendering. I did that and it still complained. After some search I found out that there is a config file, written in some scripting language, where there is a check for the driver number. NVidia seemingly introduced a new numbering scheme for their drivers (starting at a lower number than checked), so the test failed each time, preventing the game from starting. How the hell can such SHIT go through QUALTIY ASSURANCE? I had to comment out the test to make it run... but what would a normal customer do? But no worrying about that game anymore. Shortly after I installed Bioshock, yet another game with strong Securom support, my computer had enough of Securom and hanged up. I can not be entirely sure, but Securom was the only really new thing introduced to my system at that time. It wiped out my full registry, preventing Windows from rebooting. And somehow, after system restore, all programs kept behaved like they had never been installed. Fuck you, Securom, and new games. With quality assurance failing so hard recently on so many titles, I really hope that more people will return their games, hitting this stinking gaming industry hard because right now it deserves it.
\
Eviction Notice
\
2008-10-28
\
Hello.
I am sorry, and proud, to announce, that this is probably my last post to my homepage in this form. I am working on a system to supersede this web presence completely. All existing data will be made accessible better, every single page of this web presence will conform to the W3C XHTML 1.0 specification. As a result of the migration, the Accuracy 2 page is not being updated at the moment. I have already fixed a few more things in the current development version, but will not be publishing that revision as quickly as the other ones. If you are an Accuracy 2 user and have a problem of any sort, consult the readme on how to contact me, and I'll gladly help you in any way I can. That includes giving you the latest pre-release version.

This website is not dead, and in future it will not look dead.
\
Hammerproblem: Orange Box
\
2008-08-13
\
Do you have very blurry low resolution textures in your Half-Life 2 Hammer: The Orange Box version? That comes from a severe default misconfiguration and is by default not your fault. Luckily, there is a solution.
  1. Use GCFScape to open "Steam\SteamApps\base source engine 2.gcf" and locate bin\dxsupport.cfg
  2. Extract that file to SourceSDK\bin\orangebox\bin\
  3. edit the file and change the line
    "ConVar.mat_picmip" "2"
    to
    "ConVar.mat_picmip" "-1"
done.
\
A new Windows Vista trick
\
2008-08-01
\
Go to your desktop and do ctrl+mwheelup while not hovering over an icon. Everything gets much more readable! This is best for photos and allows icons bigger than the biggest setting usable from the context menu. Note that you might have to click your desktop once before, so it gets the focus.
\
DVD: Copy-Protect Fail
\
2008-06-20
\
Mediaplayer Classic refused to play genuine, 100% legit DVDs for me with that error message. I am using Vista Business and it seems that since a certain patch, with Windows Media Player 11, it forgot how to playback DVDs. I was afraid that this might be a new weird DRM scheme, but after some Googling I figured that this is an MPEG-2 issue. MPEG-2 is a proprietary codec and you'd normally purchase a compatible codec from a third party. WMP told me: "Windows Media Player cannot play this DVD because there is a problem with digital copy protection between your DVD drive, decoder, and video card. Try installing an updated driver for your video card." Unfortunately I have an Acer Laptop with a mobility Radeon and can't update the video driver any further. After an hour of testing around, this turned out to be the solution:
  1. install the Cyberlink MPEG-2 codec from the K-Lite codec pack
  2. from Microsoft, obtain the free of charge tool "Windows XP Video Decoder Checkup Utility"
  3. use that tool, running it as administrator, to set the Cyberlink codec as your preferred MPEG-2 codec, and done
\
Immediate Payment Required "Page Not Found"
\
2008-06-14
\
I was just unable to pay via PayPal for an eBay auction that required immediate payment. I tried it in Firefox and Internet Explorer. Internet explorer asked whether eBay could start Skype. Why would ebay want to start Skype? It seems to me like a fatal programming flaw to connect eBay and Skype, but eBay bought Skype some time ago so they are at liberty to make such mistakes. When I reached the PayPal page to confirm my payment after the address selection, I always got a "Page Not Found" page, no matter what I did. I only later figured that Skype might be the cause for this, uninstalled and rebooted. You wouldn't believe my amazement when PayPal suddenly worked!
\
Weird Windows shortcuts
\
2008-04-20
\
I just found: Shift+Mwheelup on an icon = doubleclick it. Shift+Mwheeldown+Mwheelup = Ctrl+Shift+Mwheelup = start whatever is under the cursor in the background. The desktop or an explorer window needs to have focus for that first. F2, F6 in an explorer window, ctrl+esc and so on are useful too, but not new ;)
\
Haskell
\
2008-02-17
\
Check out this basic arithmetic parser I made in Haskell. [link removed in transfer]
\
Paint.Net
\
2008-02-04
\
Don't criticize it, that hurts the Lead Programmer!
\
YouTube video grab
\
2007-10-14
\
How to save/grab/download a video from youtube, google video, collegehumor, etc.
  1. Open video in Firefox.
  2. Go to the local Application Data\Mozilla\Firefox\Profiles\XXXXXXXX.default\Cache and locate the newest and biggest file
  3. Add .flv extension, done
\
Accuracy 2
\
2007-10-14
\
So this is the 3D modeling language nobody waited for! You might want to play around with this, it feels like C++. Sample sources and the grammar definition are included. Check it out here!
\
Random News
\
2007-08-07
\
[Note from 2008: That modding project was "Serious Sam Forever".]
\
Computer hotkey for Vista!
\
2007-04-09
\
Q: How to make the content of "Computer" show up when hitting Ctrl+Alt+# on Vista, e.g. for quick access on a notebook? A: 1. Ctrl+Alt+LMB-drag it from the start menu to the desktop 2. open command prompt and go to there, cd inside "Computer - Shortcut" (yeah, it's a directory actually) and rename target.lnk to Computer.lnk 3. browse into the folder through your desktop, delete desktop.ini there, and move Computer.lnk to "C:\ProgramData\Microsoft\Windows\Start Menu\Programs" 4. locate it in your start menu (all programs), rightclick and set the global hotkey
\
Old ATI Drivers :(
\
2006-12-19
\
If you happen to have OpenGL applications crashing with an ATI card, make sure to upgrade your drivers! There is a well-known problem about atioglxx.dll causing a stack overflow and crashing, since 2004. The ATI verification program didn't let me update my drivers (laptop, bound to use the customized driver versions that Acer releases), but there's a nice workaround: in the install dir of that program, locate atioglxx.dll, and use the console command "expand" (expand /?) to make a dll out of it. Then copy that to your sys32 dir (backup the original one first!), and tada! Preditor works again without crashes!
\
Prey!
\
2006-08-19
\
Prey is such an awesome game! Check out my prey page!
\
An image!
\
2006-01-13
\
Yep yep, a year passed. This shall be the first image I post in the forums this year.
[that old image is gone now]
Yey.
\
Serious Sam 2 Release
\
2005-10-11
\
Yep, it's finally there. My copy should arrive within the next 2-3 weeks, bundled with FEAR. I am in the credits! :D If only I had had the option to test the game, too :/
[Note from the bright future, 2008: Serious Sam 2 was an unprecedented disappointment. I despise CroTeam for making such an unpolished children's game, not fixing bugs we reported, and misusing us alpha testers for viral marketing. SS2 was definitely the last CT game I will have acquired.]
\
Vacation!
\
2005-06-30
\
Something to bore you: [that old image is gone now]
82944 triangles, model generated completely in code, layer operation based model format. I now go on vacation :D
[Note from the future, 2008: IIRC, it was done in Accuracy 1, the never-released predecessor to Accuracy 2]
\
I dunno wtf (as asko used to say)
\
2005-05-14
\
Past events: I'm sorry for those who came here in the past and never saw anything new... this site serves mostly as a file base for me. If you ever played BTBA, make sure to check my BTBA page.
\
News? Yes? Well maybe
\
2005-03-02
\
Hey, no news for 3-4 months? Oh well, I'm mainly using this web space for file storage. Checking this site for news is futile, just drop me a message if you are interested in anything topical. (this page is even 1 scripting language behind my development)
[contact details: see appropriate node]
\
News! (for dead eye)
\
2004-10-25
\
Well... nothing new. Hey, did you skip the 11th grade, too?
\
Boredom
\
2004-10-05
\
I dunno what normal people do when they are bored, but I am doing stuff like this:
[that old image is gone now]
\
NewsNEWSNEWS!!!!
\
2004-05-02
\
Weee, I didn't write news for a long time so here we go. In 3 weeks I will have my exams... buh. asko was so kind to include me in the BTBA testing stage, BTBA is the ubermod for Serious Sam and will pwn everyone when it gets released. Be sure to check out cad-creations, the team behind BTBA.

If you were looking forward to a release of Script++, there will be none since I dropped the project as it is and started working on another one using MSVC this time for better compatibility and professionalism. I is still named Script++ and will feature much more native C++ features... and will have a new kewl text editor around (Blackpad 2). And to everyone who says MFC sucks: I can't decide whether to hate it (for not letting me replace the app icon) or love it (for providing cool stuffs to make windows).
[A note from 2008: MFC sucked big time.]
\
News again!
\
2004-02-15
\
I was able to implement some 2D stuff in S++ and it is just 1337!
Don't forget to check out my new forums!
\
News!
\
2004-02-12
\
S++ development is currently headed to support both a 2D Windows and 3D OpenGL interface. I was able to create a sub-form and react on basic mouse events with scripts.
Yesterday I decided to leave the Seriously!-Forums behind for a while since most of the active users are completely dumb. Dumbness sucks!
\
Weeee!
\
2004-01-17
\
I worked 2 days now on completing the basic S++ command set, this is a fun sine thing:
[that old image is gone now]
\
Update
\
2004-01-04
\
After AJ kicked my design from CsF, I decided to use it for this hp - it looks better without the auto-adverts from 50megs.com.