When we had the first Game in a Day competition, LummoxJR tried his hand at it but, like so many others, ended up with nothing to show for his day's dedication. The experience was so distasteful that he hasn't taken part in a GiaD since.
I never completely understood what was so distasteful for him, though. I've failed basically every contest I took part in, but my failed project was something I could later go back and build on, as was the case with Plunder Gnome, Casual Quest, and even my unfinished RPG "Nostalgia", which later went on to form the core of Regressia's menu system.
My basic development process is this:
- Get out a ton of paper, and start brainstorming. Decide on core gameplay, like "RTS", and a theme, like "Sea Creatures". Give it a stupid project name, like "Reefer". (Yes, this is an actual project on my hard drive).
- Lay out the structure of the game, and all commands the player will need access to in order to play. (Join, choose a sea creature type, add self to the waiting list to play, remove self from the waiting list to play, view the waiting list to play, set up a server, and I haven't mentioned anything about the actual game yet!)
- Draw mock-ups of every screen in the game.
- Decide what features can be dropped if low on time, and how the game needs to be changed if the feature is dropped.
- Write up a schedule with mile-stones for each feature.
- Start programming.
If the schedule tells me that I cannot reasonably complete the project in the given time frame, I go back to step one and think of a different project. I devote 2 hours to this in a GiaD contest, and devoted 2 days in my 2 weeks of 8k participation. My schedule was solid, I was good to go.
I worked for a week building the game engine, and at the end of the week I was proud of my creation. Not having done one of these condensed competitions before, I scheduled 2 days for code compression.
Long story short, I don't think 2 months would fit what I had written into 8k of code. So I started scrapping features. Not features yet to be written, mind you, these were features already implemented. Out went procedurally generated items. Out went monsters with varying levels (lvl 100 Kobold, lvl 1 dragon, etc.). Out went my modification of Foomer's great map generator, in went Shadowdarke's map generator which, though usable, generated uninteresting maps. When I deleted the NPC dialogue system, which let you ask one word questions in order to elicit different answers, I knew I had gone too far. What I had left was a bare-bones, uninteresting, Rogue-Like with none of the core features of the original design document, and 5 days left that I had set aside for the creation of content (maps, npc dialogue, graphics).
So I scrapped the project. I still have the original game engine, and I intend to release an RPG with it in the near future, but I needed a new project. Something I could complete in 5 days.
Short story shorter: Didn't happen.
So, I admit defeat. I love publishing a game. I love setting a deadline and then meeting it (despite how often I've failed to do so). I love the catharsis of cutting a feature and saying "maybe in a future update" -- But these weren't pie in the sky features. These were completed, fully working, features! There's nothing cathartic about cutting living, fully funtional, tissue. I may take part in a future code-size-limit type contest, but I won't do so with the same mindset, or devote the same resources. I'm guessing Lummox feels the same way toward the GiaD. I'll give you back your Saturday, Lummox, but I want my two weeks.
So, where does this leave me and my speech about vaporware? I learned some things from the 8k, mostly that I wish I had released my private libraries so that I could use them in the competition without counting toward the size limit. So I'm going to start documenting and releasing the little libraries I've made over the years for use in my games, starting with an update to my Dmm Suite and Key_State library. I don't know how many other such "libraries" that I have are truly libraries versus game engine blanks/stubs, but I'll release what I think is usable.
Second, I'm going to stick to my deadline of having a polished public release ready when LummoxJR releases the 8k results. I admit defeat for compressing the code into 8k, but certainly not for writing it. The game which I'll be releasing is not the RPG promised, but the second project I started three days ago. Trust me, you'll like this one much more.
Lastly, I will write up a new schedule for the RPG once the other project is released. It won't be the same 2 weeks, but it will be before June 30th, the middle of the year.