Tuesday, January 18, 2011

ZDoomed

Every once and a while, I find myself fiddling with Zdoom (well actually Gzdoom, but they are basically the same. Gzdoom just has some extra fancy 3d stuff). Now I have a history with Zdoom. Years before I started being to lazy to do romhacking, I was being to lazy to do Zdoom editing. See what makes Zdoom is a updated and heavily updated version of what has retroactively become known as the id Tech 1 engine which was made famous by Doom. The great thing about Doom and the other games that share it's engine is how they are the first games to focus on being easy to edit by every one. Zdoom also adds all of the features of Hexen and a ton of it's own features to make it almost like a full game creation tool.

After I started getting into romhacking I stopped using zdoom or visiting the zdoom fourms (actually between zdoom and romhacking, I was involved with something called verge, which I also was involved with before getting into zdoom too). But lately, maybe because my hack isn't really going anywhere at the moment, I have every once and a while found myself fiddling with zdoom again.

I guess a recurring problem for me is I always seem to want to do ridiculously ambitious projects, which cause me to reach a point where I am basically stuck because I have neither the talent nor the patience to do any more. I think my hack may be the project I have stuck to the longest, but it isn't the only one I deeply wanted to do. In verge I was making a platformer of my own, but ran into problems after a while. I did abuse verge's scripting language to hell and back, but they are not even using that language anymore, so eh. For zdoom, I admit I never had a good idea of what I wanted to do really. But I did have a basic outline.

In my last blog post I briefly mentioned Ultima Underworld, which is one of the best first person games ever. A long long time ago, before I even knew zdoom existed, I attempted to make a Ultima Underworld clone I called Underrealm using the half-life engine. I actually managed to get a ton of stuff done, including a inventory system, but my progress was hindered when the SDK was almost completely rewritten and my code suddenly became almost useless. By the time I managed to fix it, it happened again, and I just gave up because I didn't understand the new code at all. And that was the last time I really fiddled around with much C++.

In any case I found map editing in half-life somewhat cumbersome and hard to do. I always preferred doom-style 2d maps for there ease of use. I had messed around with editing doom 2, heretic and hexen, but found them inflexible due to the fact that you could only really edit the maps and graphics, and not the behavior of the things in it. There was a tool called dehacked that allowed some editing of things and weapons by changing the exe, but I still found it too limited in the long run.

Zdoom changed all that. It had built-in dehacked, and ton of other interesting features. As I started to work with it, more and more features were added, and now dehacked became obsolete in favor of a new feature called decorate, which quickly expanded past anything someone using dehacked even dreamed possible. New ideas and possibility opened up, and I worked long into the night on this or that. It seemed anything was possible, or would soon be possible. But it still wasn't enough if I wanted to restart my Underrealm project. Custom inventory was a huge step forward (most of it's features in zdoom are actually a lot like what I was doing for half-life, probably because I had a lot of the same design goals in mind back then).

But even today there are still things I want to do which I can't without changing the source code. Honestly I probably could change the source code and make my own version, as all the code is free. I didn't want to make my own version just for one or two changes, but unlike half-life's code I do understand a fair bit of it from what I have seen. Either way, if I were to make a game that way I would still need levels and such, and I would still need to do a lot of work. It would honestly be better if I found a free 3D engine or API and did it all my self, or maybe even hack half-life 2's source engine which has a lot of awesome features, but I haven't touched either half-life 2, or steam in years.

In any case, after a while, my interest shifted away from first person 3D games, into platformers and such, and then into romhacking and ASM. Maybe I am still making all the same mistakes I did back then. I was never very good at level design, and always focused on other things first. I never had the fortitude to continue working after I hit a roadblock of some kind, but at least I am determined not to give up quite yet. What can I really do?

I guess it really comes down to effort, talent, and community support. Back in my zdoom days I never really had that much community support because everyone was focused more on other things. Not that I didn't have some fun with people there, just that no one was really rooting for me, and I doubt anyone remembers me now. Same with verge really. With half-life I never even joined a community. With my hack though, while I wouldn't say the whole community is behind me, I think I have a good number of people who at least notice me and my work.

Talent I really couldn't say. I think I have gotten way way better at almost everything, but I am not sure if I really have a knack for making games, even if I really want to. It just doesn't flow out like I would like it to, and I end up wasting time on silly things. About half my work on my hack has been silly graphics and asm experiments.

Effort is the killer though. I just can't make myself do anything I don't like, and there are tons and tons of tedious annoying things I always find myself needing to do. Like with my hack and levels. If I could sit down and focus on it for a few hours each day, I think I would have my hack mostly done by now. But I simply can't. It's tedious annoying busy work. It might not be if I had a talent for it but I don't. Oh well.

Really this has been more of a introspective look at my loserdom then talking about zdoom, but oh well.

Saturday, January 8, 2011

Zettai Zero Project

One of my gifts for Christmas this year was a quirky little game from the masters of quirkyness themselves, Nippon Ichi Software. It is called Z.H.P. (Zettai Hero Project): Unlosing Ranger vs. Darkdeath Evilman. I actually found out about it from it's TVTropes article (you know, every once and a while, TVTropes will actually be useful). And it's another roguelike. At this point I think roguelikes deserve thier own label already.

Z.H.P. is a rather mixed bag to be honest. The story is rather standard for Nippon Ichi, with quirky characters doing silly funny things, and ultimately not really that well written. My biggest complaints about the gameplay are that there is only 4 directional movement while most roguelikes have 8 directional movement (which really adds a lot more stratagy then you may think), and there is no item identification gimmick at all. Also while the game has special spells or techniques and exotic gameplay functions like barriers, they are more or less completely pointless or hard to use effectively.

Like the Disgaea series, the gameplay involves tons and tons of grinding (so much so the trailer proudly calls it a "Grindfest RPG"). The method of grinding is sort of interesting in that you start at level one whenever you enter a dungeon but the levels you gain when you leave one or die are added to a "total level" score that increases your base stats. I find that in my game almost none of the enemies can even lay a finger on me now after a level or two.

Some nice features are the fact that you can see every item you equip on your character (Elona did this too to an extent, but the equips in Z.H.P. are more interesting to see), and costumes that let you change your base body sprite. Even though most of these costumes are of anime characters I never heard of. But Dokuro-chan is one of them, and that alone is worth the blatant cameos. Everyone loves Dokuro-chan.

As far as the dungeons themselves, it is similar to the Mystery Dungeon series in it's basic dungeon layouts that are randomized each floor with a few traps items and monsters. In this game most rooms are pre-set and only the placement and paths are randomized, though there are rather good variety of rooms with basic 3D terrain and/or gimmicks that add some variety at least. Some dungeons have features like paths or rooms that vanish after a while or have no paths but feature other ways to get between rooms, which is interesting but a bit under used.

I have to say playing this game made me think about some features in Mystery Dungeon-like roguelikes. I have to restate I really like Elona alot for giving a Nethack-style interface that can be mapped to a gamepad. The Mystery Dungeon-style interface isn't to bad, but automatically picking items up sort of bugs me because my inventory fills up faster then I would like. Also I really must say I don't like having all the dungeons change every floor, as it doesn't allow for as much exploration. Also Mystery Dungeon-like games have way to tight food requirements. It should take AT LEAST few days before you starve, not a few minutes. This might be true of all roguelikes. In fact one of the only games I know of that I think got this right was Ultima Underworld, where food and sleep were very very subtle needs that didn't usually need to be dealt with unless you sleept a lot (BTW, I really would like to see a Ultima Underworld random level generator, because it's practically a 3D realtime roguelike in every other aspect).

Also I really have to say that Nippon Ichi games in general, while generally fun, are sort of annoying. Their stories are way to predictable and cliché, their gameplay relies way to much on repetitive grinding, and there gimmicks are just that: gimmicks. I also personally hate the restricted and gimmicky character customization. In Z.H.P. for example, you can fuse items but all this ever does is let you choose some skills to be attached to them and raise their max condition. You can put stuff on a silly little grid to upgrade your stats and abilities but a simple point system would make much more sense, be easier to do, and would offer more freedom in the long run. I could also say similar stuff for Disgaea's class, reincarnation, pupil, and item world systems. They are just gimmicks that limit character growth and make no sense. I kinda like Phantom Brave's fusion system though, even if it was way to easy to break the game with it thanks to the silly title system.

I should actually make a roguelike someday. I have a few ideas I really want to try, such as completely level-less gameplay (using only a system like in nethack/Elona where you can train stats and skills directly) and a reincarnation mechanic (you have to make a new character when you die, but you unlock new starting roles/races/starting feats as you play, and the world layout will remain more or less the same giving a chance of getting items back).