Friday, January 20, 2006

Why do I always solve minor problems when I'm not at my computer?

A small mistake I had made earlier had been mounting up - that of a "null" value for fields that are supposed to point to something. For example, a player can have a second nationality, but not everyone does. So I use a field to point to this, and in the database this gets stored as a value between 0 and 254, to represent each of the nations in the game. That leaves 255 for "null"... except that's not very intuitive. 0 - that's what's intuitive. Or -1, but the database won't support negative numbers and I don't want to go through my code making allowances 0 being null, but 1 really pointing to record 0 and so forth.

Sigh.

And then it hits me and it's really simple. I use -1 as the "null" number, but add one to the value when storing it in the database, and subtract one when reading it. Easy to do.

I was in bed when I thought of that. And I was warm and cosy and had little desire to get up and try to implement it at 11:30pm.

Yes, this is eternally boring stuff and I do apologise. There was a more interesting dilemma though - resolution. Do I go for 800*600, or 1024*768? More space on screen also means a lot more overhead in terms of processing, but it would look cleaner and the detail useful.

I might just go for 1024*768 as the default, as I do intend to continue the game's development for many years after release - 800*600 may be on the way out by then. I'll see what can be done about including an 800*600 mode too, but with a 2D game that's not quite so easy.

Going to be knocking up some mockups though in the near future before I get stuck into that interface. That'll be fun.

1 comment:

Anonymous said...

Keep in mind non 4:3 modes are gaining popularity, from widescreen to 5:4 (1280x1024). To get a good image quality in a tft you must use its native resolution, specially if the game is quite static and so the details are clearly visible.