2012/08/05

The miniDooM Project

Time to Log some Devs!

If I were aiming for an epic feeling, I'd start with something like each journey has a fist step, each story has a first chapter, each first chapter has a crummy prequel... But I won't, I'd rather spend my creativity budget cracking silly jokes.

So without further ado, allow me to introduce my first serious Video Game Development Project (drum roll):


The DooM 4k miniDooM Project!


I reserve the right to rename it, though. Also, I've written the words "this is my first game project" so many times already it feels hollow. Here's to this time being different!

Motivation:


So, what is this project about? It is mostly a learning experience. I've loved videogames since that first time I pushed a button while some older kids played an arcade game. They got angry, but I got thrilled. Not because of the gameplay (when I tried it myself, I got mercilessly slaughtered), but because of the possibilities.

Sad truth is that even at that tender age (I was like 6 or 7 years old) I was a bit of an introvert of the kind that live in their own imaginary worlds... And as such, the possibility of actually creating worlds was tantalizing.

But enough of the recap no one asked for! The point here is to finally get to the finish line and do something that can be played (even if poorly).

Turns out I have a tendency to lose focus on my personal projects, and that means I have lots of things I began but never finished. I do keep working on these different projects when my interest in them returns, but this is slooooooooow.

Also, the intention is to build a workable code base from which to build future projects, thus ensuring that more stuff gets done, as much of the boring stuff will be dealt with.

Why DooM?


Why not? Ok, stupid retort. Thing is, I love building worlds, coming up with ideas, characters and backgrounds... And that is a problem, as I tend to get lost in the world building and end up losing focus or interest, sometimes ending with a final project so different from the starting idea that I just throw my arms up in frustration and go back to staring at the wall.

So at a point I stumbles upon the well known phrase: Good Artists Borrow, Great Artists Steal. And since I have delusions of grandeur, decided I wanted to be one of the greats and set my sights on stealing!

Actually, not quite. Turns out that DooM (The original 1997 version) has a few characteristics that help me:

First and foremost, it is simple. The story is barely there, the mechanics have no frills, it is a very simple concept with a fairly simple execution, which is what I need, no advanced technological feats for me. As they say, you've got to learn to frag before you can learn to create deeply interwoven dialogue trees... Or something like that.

Secondly, I love it. Both as games and as a franchise, I love DooM, it's my favouritest game of all time. It was the first game to ever introduce me to the possibilities of immersion, of actually losing yourself in a game world, and that's something I'll ever be grateful for. Also, Ultimate DooM was the first game I actually bought myself (I still got the box lying around). So it is a good motivator for me to do a shameless ripoff homage to a classic.

Also, I had a nifty idea for a Doctor Who fangame, but then the TARDIS materialized in my living room and the Tenth Doctor spent a whole afternoon moping about how complex it would be to implement.

And yes, I will obnoxiously keep spelling it as DooM. Deal with it.

What about Copyright?


Yeah, that's an issue. Well, I of course have no intention to sell the game. It is a learning project, and I wouldn't be as stupid and selfish as to try to make a profit on someone else's creations. So, technically, this is a fan-game, whose legal status is nebulous.

The idea is that, if the game shapes up into something interesting gameplay-wise, I'll just swap the DooM-inspired content with new stuff and make my own material.

Now, it is probably a bit presumptuous on my part to just take the DooM IP and run... And it would be if I hadn't actually written to Id Software informing them of my intentions. Well, not Id directly, but Zenimax, through their contact form.

Thing is, this is a learning experience so, if I really want to learn, I want to do things properly and try to contact the IP owners. Still, I'm not naive, it is doubtful that they'll even reply to my request, and even if they do, it's probable they'll just tell me to not do it.

The legal status of fan games is iffy at best. IP owners are generally tolerant unless the project is somewhat threatening, but they rarely, if ever, give their blessing to these things. I might have shot myself in the foot by drawing attention to my little project before it has even taken off the ground, but again, learning experience.

Why 4k?


In case you don't know it, the java4k contest is a little (pun intended) game development competition where the submitted games cannot be larger than 4 kilobytes, you know, less than the size of this very post. And contestants turn out pretty impressive gems.

Well, a guy called Notch, who you might have heard of, submitted years ago a game called Left4kDead, which is a top-down version of the Left4Dead game. He also published the source code... And dirty programmer that I am, I had my way with it, to the point that I began redoing it from scratch and coming up with ideas based on its potential.

These ideas are the basis for this project, a top-down shooter....

Wait, why are the references to Doom4k changed to miniDooM?


For several reasons I decided to change the project name, chiefly among them that this is not a 4k project, and I don't want it to be thought as trying to sound similar to DooM 4.

This update was done as of 2014-01-30

Wait, it isn't a FPS?


No, it is not. It's actually closer to a classic Zelda game with guns and flashlights. And with a cutesy art style, and a sense of humour (my sense of humour, so your mileage may vary).

So, is it a 4k game?


Nononono. That's beyond my skill at the moment. I'm keeping the 4k moniker just because the starting point was Left4kDead, but that's it (Hence why I might rename the whole thing). Update: And so it was updated.

Why Java?


Because it is an easy language to handle. Because it is quick to prototype. Because I use it at my day job and thus have it on my mind constantly. Because Left4kDead is in Java. Because I like coffee.

Take your pick.

Actually, I intend to eventually port the project to C++ (because I can), but having a prototyping infrastructure in Java will be great for me.

Also, I can always contribute to the community with ideas I come across.

Wait, C++?


Yeah, I could give various reasons about memory management, stability, optimization... But the real reason is that I really like the C++ language. So no arguing there.

Anything Else?


Well, yes, thanks for asking. All these motivational tidbits haven't been enough in the past, so I added a couple more:
  1. This DevLog
  2. The TIGSource Forums
  3. The Java-Gaming.org Forums.
The idea is that by making my progress public, and having people actually follow my progress, I'll be compelled to not let other people down and push through. Also, the feedback is priceless.

And thus TIGSource and Java-Gaming have got their shameless plug!




So here it is! The starting point! I almost feel tempted to make the last post in the series, with a big FINISHED sign, and then fill the stuff in the middle. Almost.

So, without further ado... Onwards!

No comments:

Post a Comment