11.14.2010

From Dark Messiah to idialism psychology

Dark Messiah is a game I wanted from the very beginning I saw even one screenshot of it. And it's no coincidence that it is the most inspiring game for what should've been my very own ASCII game. And as I do now have the power to play the game in it's fullest beauty, I start to forget all the trouble I had with it in the past. I still think the game is half a fail, as it only gives you the freedom it appeared to be designed for in a few levels. I think this has to do with the fact that the developers needed the financial support from Ubisoft to make the game become buyable reality. It is easier for a developer to get money for ruther development if they do what a publisher wants - not so healty for the full vision of the game if the the publisher doesn't understand which potential the game has to offer. Or maybe I am wrong and the developers were the bad designers, correct with a little help of the publisher to make the game worthwhile. But I doubt that since they also made Arx Fatalis, a game praised by many people for it's quality. Hey, I should try to get this game somehow... I'd like to see what they did before Dark Messiah. There are some very inspiring videos on Youtube giving me a better intention how to play this game. As with Oblivion, I didn't quite understand how the game is played. Along with Stalker, Psychonauts and Fable, Dark Messiah was one the first games that made me think about think about a hardware upgrade - and that's something only a few games managed to archieve. But as I didn't have to right hardware, it took ages to load and disappointed me because I rather thought newbie-friendly terms than in situational improvisation. Also, nobody told me how useless it is to mix skills. And from the hardcore difficulty playthroughs I already watched, it seems that there is no way you can play this game interestingly without exactly knowing happens in level/scene. I'm an analyst if comes to grasping stuff and systems. So an overview from the distance and stressless testing is required for me to get a better understanding of the game mechanics behind. And as I was playing Dark Messiah for the first time, it didn't quite know that I work this way and did have several problems with effective knowledge aquirement in compley systems like Dark Messiah's interaction system. And what did it offer me? From my current viewpoint, rather something wasn't quite able to understand. So I was playing the game like a fool, simply assuming I could button smash my way through it and freeze an orc once in a while. I was sooo wrong. This isn't a button smasher and hardly a game giving you time to test stuff from a distance, necessary for me to get in close. In the end I died so often cause I was too weak for fighting orcs and too slow in thinking to profit from the spells' unique functionalities. And yes, I simply mixed all skill classes. Bit of a warrior here, a spell there and some sneaking if nothin else works. I mean you can't just hack enemies without any points spent into melee damage. Second, spells drain your non-mage mana too quick and sneaking seems like the only viable method without knowing how the other class trees are used to better effect. And I always fortgot which creatures are vulnerable to which attack. And THAT's the point where Ubisoft's hilarious Might and Magic brand comes in. Orcs resistant to fire? WTF? And well, I guess all these moments of despair made me feel the necessity of taking what Dark Messiah could be within a better game progression style. It almost screams for open worlds, non-linear, manifold quests and a better explanation of what which skills does. I never used the adrenaline bar and finishing moves, though they affect the spells you cast. These possiblities are simply too much for my taste. Why don't just drop the bar? nobody needs it and it confuses me. I always think I'm missing a feature or two. However, I think I still don't get the game at all. Maybe I'm just too Hack'n Slash-oriented, too simple and slow thinking to get fun out of levels you can't repeat. I don't like this style. But it's good to see the game's interaction model having to play it. I did a search on my own blog and found out that the very first descriptions of my ASCII game explained that will play like a lofi version of Dark Messiah. And fuck yes, that's what my game needs to be.

So many ideas crossed my head since development start (and after the freeze, too, of course), I need to limit it to my initial vision. How awesome a more open version of Dark Messiag would be compared to all these silly gun ideas I became later. What I need, is to concentrate on the very idea I had. Then, identify the technology required and implement them step by step. And don't be afraid of using other's code. Use what you learned is useful and concider to ease your work with proven ceoncepts. I was a fool to believe that all I don't understand is not better than the code I create by myself. I didn't knew of any generelization, I didn't benefit from OOP cause I never really used it before. Later, I got into it a bit more, but locked myself in an never-ending feature war with generalization and struggle between "correct" class interface design, ease-of-use and unintuitive design decisions. My problem is that I strife to generalize everything - not only data structures, classes and alghorithms, but also interfaces and naming conventions in general. My own fail was lead by elementary precepts I praised and still praise. I begin to doubt the usefulness of my own toolkit and the way I planned it to work. Of course, some things are great, like the only big set of generalized classes for array operations I will need to use a lot. But it's really the only class so far on which's design I'm proud of, and which's design makes sense. There is no point in making more than one class for multimendional vectors, as long as your language can provide it. But since it's C++ and not a macro language like Lisp, I won't find any better solution. I need to stop that micro-generalization. It's the reason I always loose interest, the reason why everything is so stupid about optimizing generalization without programmable macros. Isn'f the term itself ridiculous? Optimizing generalization. A generalization is more complex than optimization. Optimization is relatively easy, generalization requires analysation, multiple occurrences of systematically similar code and a language allowing your code generic language elements. Fully features generalization implementations allows you to now allow replace types and classes by an alias. n-dimensional points with static size during compiler time is one of the best examples for something you can't simply solve be inserting aliased types. Thus, I need to end generalization for data types or find the best approximation of programmable macros. I don't like to say it so often, but there no way I can generalize as required if I continue in conventional programming languages.

So ok, why do my thinkings about personal video game ideas always end in toolkit programming and need for generalization? It seems like a massive trauma to me - I don't like how it all turns out. And one can't even do anything about except using all freetime work on it. But I'm sick of that. I wan't projects where I'm not forced to in limiting languages. There's so much time required for other projects, where to take it? I'm also no person who work can code all day long and than during freetime, too. My strength is thinking, analysation. I'm a research and development guy, not a code money. I even begin to hate rewriting alghorithm I once implemented. I conside myself beeing someone who doesn't like to code, except when it's something interesting. It's so weird. Once I learn enough about a language to see that I can't get a specific feature, I loose interest and try to get a new one. Argh, I can remember explaining this exact problem. Software development with C++ is so boring. With proper generalization, everything would be so easy compared to typical walls of implementation with just too many things to be written again in later projects. I already begin to hate my lecturer when she talks about reusing core. Oh god, how I hate this stupid bitch. Her way to reuse code is also called copy pasta. I think she didn't even code one line of a template class. And no, no more euphemism about app-specific OOP. There is no reason for that.

No comments: