Wednesday, November 22, 2006

Invitaton for abuse

Ooh, look at that. No, not Celtic's bizarre lead over everyone else in the Scottish Premier League. Look closer.

It's a screenshot.

It's a screenshot of what the GUI engine is capable of. It's green, which is always nice and relaxing, and it's got some football related info on it, organised in a nice way that people can instantly recognise, and that's not just because the top two are the Old Firm.

That league table is a custom gadget in the GUI. The release on Sunday night went fairly well as module releases to a programming language community go, and so on Monday I went to work on more gadgets that I needed. The first was a simple generic table which could take any number of columns and produce output not dissimilar to that screen there. It's a rather good gadget for working with lists of things, but for a league table I needed something more specific, and more powerful.

Hence the customisation. At the minute, it's largely the same except the column headers are predefined, and it's a lot easier to add the data because of it. Underneath the hood, as I might say if I was American and cared about cars, each team has a name, a position in the league, a home record, and an away record. Those last two get combined to show you what's shown here, while the league position is used in case you throw things out by sorting it.

Which you can't do yet because I haven't coded in the column sorting. Or the viewing of home/away records. In good time, I'm sure.

So, work is going quite well at the moment. From now on I'm going to resolve to post a screenshot with every blog post, so if I forget one, use the comments feature to send me abuse. I crave it.

Sunday, November 19, 2006

My First Release

The GUI is finished.

Well, that's not strictly true. It exists, it works, and it has all the basic features I need but basic isn't good enough for the game. Nonetheless, I'll be releasing it tomorrow if I can get off my arse and write some example code, build a few executables and find somewhere decent to host it. None of that should be a problem but I'd like to find a web host now and migrate this blog over, rather than rely on a third party host.

It'll feel great to finally have something out there, even if it isn't a game, is entirely free, and won't keep me in Yazoo. It'll just be nice to have something to offer, get some feedback and hopefully see people using it and liking it.

Following the release, I'll be implementing some things that are specific to my own game. Which is always a lot more fun. It brings me closer to finishing (although "close" really isn't a great adjective to be using at this point) and I get to try things out. First up, a standard list - we all need those and that'll get slapped into the release version of the interface. Then a league table gadget, which I guess people don't need much, and some fixture lists.

Essentially, everything you see on the screen is a gadget. As it should be.

Thursday, November 09, 2006

A nice, relaxing, excruciatingly painful break

The fun met an abrupt pause last week. I had to go to the dentist to fulfill the latest part of my bi-decennial checkup. Unlike the more mundane fillings, this one was a root canal. My first. I was entirely oblivious to the horror stories that surround this process, and as such the entire thing passed without me even noticing the dentist had done it. I was just about to utter a mild "excuse me, is it done" when the very answer came forth.

Off I went about my business. As the anaesthetic wore off, I felt a tinge of pain but nothing to get in the way of the work I had planned - implementing a simple panel as one of the basic building blocks for my new GUI system, and the others to go along with it.

That night, I worked. I had some successes, but was tired and unusually cold. The next day was not so lovely. The pain had built up, and I sat through work, swirling freezing water around my gums in an attempt to numb things. That never worked, and I came home that night with no plans other than to curl up under a blanket and watch some football. I never slept, the pain was too much. I resolved to burst into the dentists office the following morning, which I did, and thankfully got myself some antibiotics. Antibiotics which wouldn't work for three days.

I couldn't stay in work, so I went home, going through a repetitive pattern of sleep, toilet, pain, sleep, toilet, pain. First in the bed (not the toilet part, mind you) and then on the sofa after I resolved to finally play Bully. That never happened. The house was biting cold, but there was no way that heating was going on after last winter's bill. More jumpers.

Finally, my girlfriend arrived with stacks of pills and all manner of drugs which I'm pretty sure I would have injected straight into the offending gum if I only had a needle. Miraculously, they worked anyway. I could sit up, watch TV, talk! Thank fuck for all that.

Still though I wasn't fit to work. It wasn't until Sunday that I finally loaded up BlitzMax to see if I could knock something more out, managing to do half that button I had wanted to get done during the week. Instead of having most of the GUI work done by Sunday, I had barely started.

Which means that's what I've been doing this week. That button has been completed and I've added some labels, images and a nice combo box that surprisingly works exactly as I wanted it to. This is a breakthrough for me, as I hate coding those fucking things. It's even pretty extensible and the same code can be used for those lovely right-click shortcut menu jobs.

I also learned some more about BlitzMax's 2D system, which isn't the best, but rather than mope as I would have done in the not-too-distant past, I've taken it on board as a challenge. If I have to get stuck into the guts of OpenGL, I'll do it.

There's a solution in there somewhere...