I haven't in a while here and I'm guilty as hell cause Dark Souls took my full attention. However, I did not forget my planned ITK update. But, uhm... well - let's just say since I can't work on it fulltime anymore, I see why I didn't get along when it became bigger. It's simply too big, has too much different functionality to work perfectly well. My idea is to split the whole stuff and do a set of sub libraries/headers. I never really liked frameworks or monoliths - I like small and clever solutions. The also brings the comfort or not needing to prefix everything with ITK, a really annoying thing to do... Something slightly different that brought up this idea is this sort of universal parser I'm finishing right now. I just started something without all the ITK macros and it worked so well, developed so fast that I decided this to be my preferred way of creating stuff. Of course I'll be using ITK for the multithreading part, but written as a different library. Soooo, now that I sorted this out, I can finally express how awesome I'm finding my parser. I designed several sorts in the future but I never thought about just writing a parser like I always did in the past just to realize how easy a generalization of my systematic thoughts would be. So this is what I did - building a system that works on modes that share a list of checks. If a check is successful (that means: the character is alphanumeric, a whitespace or special character or so) the check loop will break and a series of actions for this check will be executed. These actions include mode changes, buffering of the current character, mode stack operations for complex nested syntax and a bunch of other things. The algorithm generates an output string containing the buffered string chunks, mode and check - so whatever you want to parse, you get a list consisting of the stuff you allowed to be in it. There are a few things missing but there's enough time to add them, too. So finally there's something I can parse stuff with! I'm testing it with ini files right now and will continue to do some XML processing. Sorta uncomftable to define every mode and every char that's allowed, but thankfully C provide some cool character check functions to take care of this. That's also what I'm using to check plus two other custom checks for fixed strings and a list of possible characters. Works surprisingly well - a few will of course need some lexer work to be right. So that's it right now. Nothing fancy, I just didn't have the time or interest to post stuff at all. But I'll eventually need to so I guess...


Ramblings about Dark Souls

I'm currently recorded a lot of videos for my Lets Play channel on Youtube and the majority of this stuff is Dark Souls: Prepare to Die Edition. It's one the few games in existance that were exactly what I've seen before. I had a hard time waiting for the PC version and eventually considered buying an XBox. Glad I didn't do it cause I wouldn't be able to simply record it using Fraps then. Anyway, I'm playing it for a week now and it became my new favourite. What's making this game so special then? It's unique. It's damn unique in everything, though I read that some haters said it copied a lot from it's predecessor (which's totally normal as they share a lot in common). This game feels like in difficulty. Normally, you don't even notice when you get attacked except when getting hit. This game brings your perception of combat and awareness to a degree, where you feel the damage right in the moment where you notice that it's too late, where the next 3 seconds won't prevent you from getting hit - whatever you do. Paranoia and Observation suddenly becomes a key to winning the battle. Event if this wouldn't be the case, the game has a degree of polish you'll rarely ever encounter in the world of video gaming. Mindblowing is the way the developers squeezed the game world's size. Sitting at Firelink Shrine, you can see a shitload of things and from almost every other place in the world, it's possible to see which way you came. Even in ugly and deep-down Blighttown you'll notice that you're at the ever-persisting fortress' feet. You can even look up and you'll see the giant tree from Firelink Shrine, though far enough away to drain any hope for a quick return. I haven't played Demon's Souls, but I also don't want to as I see Dark Souls more varied atmosphere and world as an improvement that made me like it. From what I've seen, I've found Demon's Souls way to focussed on blood and wretched flesh to be appealing. And that's what Dark Souls does better in my opinion: it's an open world with facets beyond story-bound locations, not a plain level hub leading to even uglier depths. Like somebody turning the lights on in the next room. Anyway, I'm not sure whether I would've bought the game without watching Let's Plays of it before. What's a game if the only thing you know is that it's called extremely hard? Well, I could also grab some stone-old video games and try de-riddle them completely. So, why did I buy it anyway? Well, this game is made of stuff you can't express in advertisements, reviews or trailers. It took me a full Let's Play to appreciate what it offers and what it demands. A fair game non-the-less. You just need to be aware of the fact that it doesn't repeat itself. If it does, you've probably paid enough to hear it again. Sure, this post doesn't anything but it's what I can state on my own. It's a game for your mind, made to challenge and reward. There's no prince or princess to rescue, not touching story to follow. It's just there, waiting for you to master it's world with rewards most equal to deep satisfaction.