My little project…

… is very much a personal project at this moment. It’s game related, but not an official game project. Under the hood its going to be a tool for me to build ways of analysing various live game data, or recording that data for later analysis, and allowing me to visualize that data in-line.

The graphical part of it is really just a head on the beast, which is why I have such short patience for learning the minutiae of a graphical toolkit and why I want to avoid writing a traditional UI-based app. I need a few UI controls tho, for moving around and zooming etc.

What is it for? Observing trends of various types of data in-game, with an eye to looking at possible mechanics for various automatic systems that are more dynamic than our usual stuff.

Does being a UI designer have to make you a bastard?

Rant mode on …

Serenity in 2000 words

Spoilers alert but other than that, enjoy ;)

GTK+, Qt, WxWidgets

It's not so much the GUI stuff that defeats me as it is the jargon, figuring out the build environment (since every darn GUI environment seems to require its own complex and fragile build setup). I tried out a bunch of different setups, editors, IDEs etc… And I actually got a couple of mini apps running.

My next little project

Just done installing Fedora Core 5 64-bit onto my Linux partition at home. I've had a long-standing mental block against working with "graphics", even simple stuff. I'm amazed when I can produce a 2D chart in Excel. I was fine back on the Amiga, but then I went a long time without doing so much as a CPU Usage chart, and when I next tried doing anything visual it was under Windows and an early version of MFC, and I've been scared and confused ever since.

So my project for the weekend is going to be creating a simple visualisation tool with GTK+ (edit) or Qt. I'm tempted to break out Eclipse and try doing it under Java, but my longer term reasons for doing this mean it probably needs to be in C/C++. Then again, I'm also curious about getting C++ and Java code linked together. That would be a kick ass project because if I could bring the benefits of swg.opengl into a C/C++ based application, I know one particular application that might really appreciate having a fully realized UI system at its disposal. *Cough*.

Open Beta: Strike 1

So just as I'm about to log into DND:Online, the pager goes off. OpenBeta cluster is down. A few scrabbling moments later I'm looking at a core dump in my shiny new grid system, and it looks like a bad one. For it to crash here, something has to be seriously wrong. How could I have failed to catch this? Hey, wait a second…  I validated this pointer at the top of the function.

Turns out that an olde worlde function I was calling allocates a static 512 byte buffer, and when you add the word "Open" infront of "Beta" it pushes the content just over the 512 byte boundary and just coincidentally writes a nice 0 into the top of my pointer.

Why didn't I catch this when I audited sprintfs? Because it's using

char buf[512];
int offset = 0; 

while ( … )
{
   …
   offset += snprintf(buf+offset, 512, "%s", string);
}

Coders amongst you, enjoy… Edit: I was a little too lazy while typing this in the first time.

Kdevelop templates

Background: We used to use CodeWarrior for Linux which died of death as we migrated up Redhat->Fedora etc. I just haven't had the stomache to reorganize all of our dependencies or things like our "syscfg.h" in every main application source folder to make our project compatible with any particular IDE (KDevelop, Eclipse, Anjuta, all impose their own organizational hierachies on you).

I've been trying KDevelop, which despite being version 3.0 seems to be a really undeveloped IDE. Hell, 75%+ of the documentation consists of "To be written".

I kinda like the IDE and some of its features, but I'm stuck on something so dumb and trivial I'm thinking "this may not be the one".

I cannot for the life of me find anywhere the describes the list of variable substitutions available in KDevelop's template files (e.g. header file templates). The only one I've found so far is $AUTHOR$. Anyon point me to a list of them someplace?

Note: This isn't a critical feature, what concerns me is that I can't find them. KDevelop is packed with cool features, but it all comes together in a somewhat un-kde way: the usual ease of navigation just isn't there, it just feels like a "bloated kate distro".

I'd almost use Eclipse but … my box seems to be lacking just enough steampower that the IDE gets in the way too often.

I'm quite happy with VI, but then I'll spend a while working in VS2005 and I start thinking "this really is so much easier". Can't put my finger on it. Working with vi is "bloat free" and easy, but it's also lacking so many conveniences (and no, having to type a sequence of 17 obscure keypresses to achieve the same effect 'without having to touch the mouse' really isn't 'just as good')

Take back the [mmos]

I heard mention of the Firefox Kill Bill's Browser campaign this morning, and found myself pontificating on the whole "Take back the web" campaign during my walk to work. The train of thought seemed oddly familiar, strangely reminiscent of the situation in the MMO gaming industry…

Ahh, to be a bard

So I decided to play some EQ2 tonight. I broke out the Paladin at first, and had great fun playing that along with a guildie, I finally cleared out some old quests which was a great way to get to grips again with my character. We ran through Tower of the Draffling which neither of us had really seen before, a neat little zone with a twist that becomes apparent part way thru and makes it the neater.

And then I went back to what I love… My bard :) Oh, shush, Patrick. The EQ2 Paladin is a tad more like my idea of a bard. I miss the EQ1 style twisting, although my fingers thank Sony…

So that’s Lara Croft out of the way

After reading Jeff Freeman‘s mention of the most recent Prince of Persia, I accidentally bought Tomb Raider: Legend. Over the weekend I accidentally finished it. No, I didn’t play it in easy mode. It seems that their budget went into high-end graphics and visual effects, and a number of mechanisms to try and increase replay value. I’m not a replayer.

I’m not going to rail on TRL, I enjoyed it enough to play it through, although I did so thinking after the 6-8 hours it took me I would have several weeks of nightly revists left. Maybe paying more attention to the storyline I’d have noticed the end looming. But then I’d have stopped playing sooner. Because I wasn’t particularly enjoying it.