And the beat goes on... Except not into this years competition. Unfortunately I have decided not to enter this year, there just isn't going to be enough time to get everything done cleanly. I've decided it is more important to get a good framework going than to hack a game together (again).
But it looked like the framework was basically done! What gives? ... Well the graphics engine is done and bar a bit of polish I'm very happy with how it turned out. The physics engine is not important this time round (and is still just a bunch of collision routines anyway). The problem is with the gameplay engine ... there isn't one. I'm not even sure if the term exists but it does fit what I need and don't have.
I could cobble something together in c++, it would only take a couple of days but would be horribly ugly. I know that if I did that I would lose interest in it after the competition and it would become just another pile of unmaintainable code - which is not what I want at all.
So instead I've started working on a window manager. Quite possibly I've lost the plot and I'm bobbing around in the land of pink fluffy clouds - but I don't think so. Space Crusade had a fair number of buttons, clickables and textables; all of which I want to make self contained, elegant and re-usable. The key being re-usable, see I have a bit of an ulterior motive in that I still want to write a decent game editor and without a good set of components I can't do this.
So here is a first peak at my window manager. What you're seeing is a container with a border and a text component in it. Actually the container is translucent so maybe you can't see it. Anyway here it is:
The component entire is a text field similar to Java's JLabel. There's a rudimentry layout to size the components inside the container to fit it but it isn't finished (ie: doesn't work) so I've cheated and set the texts position manually.
That brings me to close on the window manager front. I'm going to divert briefly back to gameplay world. I still fully intend to write the game in Ruby - by which I mean I don't want a single C++ specific piece of gameplay code. This will make life vastly simpler as Ruby is a high level language which should remove all the tedium of expressing complex ideas in C++. It's also interpreted which means no long compile time turn around and it's possible to tweak whilst it's running. Yay!
Finally on a completely unrelated note. Here's a screen shot of both skinning and animation in action. The two cylinders are the end points of the animation and quite obviously skinning works because the cylinder's bent(?). Which makes me happy because I'm starting to really hate that cylinder.
And thats the end of this post.
Later!