Sunday, July 27, 2008

1-2-08 / 4143 Lines

5 Months since the beginning of development. Odd, it seems longer. Oh wait, it’s been 5 months since I began the diary. It doesn’t include the development of the collision system, the control system or the AI. So, it’s been longer, but I can finally see the ending for the engine. I think that’s the main reason I update less now. There’s nothing new to figure out, no puzzle to complete so the system works. Now all that is left is tuning and the final combat engine parts – which I already know what to do for. It seems the experimentation is all done. It’s a shame really, now is the part to move on, build ThiefEd, and actually start working. I feel odd trepidation since the work is the work. It’s not the, “Let’s play with the code and see what we can discover.” The discovery it seems, along with the magic, is gone.

But I’ve heard of this before. It’s the middle part of development that separates the BioShocks from the Duke Nukem Forevers of the world. Past the newness of it all and not to the point where the game plays, it’s the odd part in the middle. Engine tweaking, bulletproofing, none of it is new gameplay and it’s not the part at the end where you can see the product and understand that really, it is almost done. It’s the stupid bit where the project itself is an amorphous glob that can coalesce into something really great, or completely turn to vapor.

Further, I find this Diary weird, in that I know that I am the only person that will probably ever read this. Maybe Jessica will, curious what it is I do for several quiet hours, but the only person that will read this and have a great want to know the how of it is probably just me, yet I feel like if I don’t update this frequently (or dare I say – daily) I’m letting down Legions of non-existent fans. People somehow find this on my laptop and are somehow let down when there is no new content, banter or running demo. Everyday someone out there is doing this very same thing and it takes the wind out of their sails to know that good ol’ Eric, is losing the fight.

Maybe, it’s just me that feels let down. Like I have some great opportunity to create something that, if nothing else, is distinctly me. Flaws and all. Maybe the idea of wanting to be something so badly is better than actually being it. Or that I was doomed to fail from the start and I was just playing developer the whole time. The project just a minor diversion, a puzzle to be figured out and discarded when I was finished.

Instead, I continue to come back and write new code. A new part that needs installation or a new trick for graphics. So the one fan out there that really wants this to work out doesn’t feel like they invested time in nothing. Because I am that one fan and I read this to know that someone out there is trying to find a better life the way that they know how – 1 line of code at a time. Because every so often, I get to write poetic sounding statements and be that person. Because periodically (or, *gasp* daily), I get to be the developer Superstar, capital letters and all, and I’m building something that will be great. It is something that I made from nothing, something that I summoned forth from the aether through sheer force of will. Why? For the one person that reads this, who wants to be a Superstar.

- In non-rant news. I worked out a way to include scripting. I can use an Include file (like the levels). The scripts themselves will be cute things that are unique to the screen itself, like air vents or traps. These wouldn’t have to be built into the engine and would still work. I think including them as individual Functions (lots of them – grouped by level) I can call them up when I need them instead of always running the Ifs on them. I would be able to do some very cute things using that.

- So what’s on the menu for today? I’m going to start the final bit of combat code – the timing system. I’m not sure how it will work yet, since the enemy attack and the player animation run on different systems. Hmmm…..

-Here’s the idea. A function that controls the animations so they line up. Right now, the combat collision occurs when the animations overlap a collision rectangle. This is for Zero and for Akuma. It’s a consistent system which makes me happy. That system works, so I am not going to screw with it. All I want are lined up animations. So the new function will keep distance in mind (so Zero doesn’t parry when he is too far) and then somehow check for current state and enemy attack. It should work, but I need to figure out more.

No comments: