The voodoo of writing software

I’ve been working on the game engine for Kung Fu Legends for a while now and I’m slowly building it up. It could initialize a bunch of subsystems and print a message on the graphics plane. Real cutting-edge stuff. Anyway, there were a couple of minor things in the implementation that bugged me – my Manager class was written in a weird way with respect to the game loop, and my git repository started some ways into my development and I would have much preferred a complete history. Stupid minor things, but I wanted to rewrite what I had.

Moreover, I had some idea in my head of The Proper Thing To Do which was to separate the development of the game engine (graphics/sound/UI engine) from the game itself, and the best way to do that was to encapsulate it in a separate static and/or dynamic library. This way I had a Proper Division of the code responsibilities and could have parallel development on game and engine. I’d also have hand-made Makefiles because that was more portable and I had a better control over what I was compiling (previously I had used Eclipse’s generated makefiles).

So I tried this new approach. A few days later, I had to concede defeat. The way I was organizing my source code made the Makefiles annoying. And the Ogre3d libraries wouldn’t link against my source. And then my own source wouldn’t link against itself. And then when I updated Eclipse to achieve some daft goal with Makefiles, Eclipse would crash silently to the desktop as soon as I ran it. I’m not a bad programmer or organizer of software, so I don’t think it’s totally my fault. The only other thing I could think was that the Computing Gods had decided that I shouldn’t be messing with things and should just get on with development. To teach me a lesson they sent me plagues of linker errors and bizarre IDE faults.

I’ve since fixed the Eclipse issue and I’ve given up on hand-crafted Makefiles. Oh well. The whole little ordeal reminds me somehow of old MIT hack stories where clearly there is something supernatural going on in the world of computing and it’s not all bits and bytes. The Computing Gods are fickle, but they have good intentions.

Have you made a sacrifice to your compiler today?

Small radar blip

I’m been on holidays for the last while, so sorry for the lack of posts. I didn’t want to announce that I’d be overseas for many weeks, because that’d just get me on Please Rob Me (or similar site). I’m back now and unpacked (mostly… *shifty eyes*) I’ve also joined a tabletop RPG group and had my first game with them. I haven’t played non-computer RPG for over ten years, so it’s interesting to come back with new ideas and old habits. I’m also taking mental notes on the strengths and weaknesses of this style of gaming to inform my design decisions in Kung Fu Master.

On the writing side of things, I’m trying a new plan of attack. I want to finish the first draft of Breathe by the end of the year and my current method of “writing when I get to go on my rare retreats” is not working at all.

On the maths side of things (yep, my world is triangular 😉 ), I’ve figured out the details on the next bit of my PhD exposition, so keep your eyes peeled for that.