Monthly Archives: January 2013

Deep Space Corruption

January 08, 2013 | Filed under: Uncategorized

Soooo… there I am innocently watching an episode of star trek:deep space nine (I think it was called rapture), and ok, I’d had a single glass of wine…but…

There is this scene where kassidy yates, ex maquis supporter, and recently released from a six month prison sentence as a result, comes back to visit the station commander Captain Sisko, who is the ‘hero’ of the episode. She says she has nowhere to stay and he says ‘you can have your old quarters back, they are just as you left them. I have some pull with the station commander’.

What the hell?

sisko

So much for a wonderful utopian post-scarcity federation future. Why are the bajorans trusting these mobsters? One might reasonably assume that ideally the allocation of sleeping quarters on the most strategically (and quite possibly economically) important star bases in the galaxy would be taken very seriously, and allocated on a basis of need. But oh no. The station commander has reserved a suite for his ex-girlfriend and convicted terrorist.

Now replace ‘sisko’ with ‘berlusconi’ and ask how acceptable this sort of thing is. What next? the captain hosting bunga-bunga parties in the holosuites?

Something is rotten in the state of Bajor.

Saving and Loading

January 03, 2013 | Filed under: programming

How I envy developers working on arcade games, or anything that has a very simple game ‘state’ that can be easily saved and loaded with no grief. For the game I am currently working on (announcement later this month), it’s a bit of a pain, because the actual game ‘state’ is horrendously involved, and every single byte of it has to be loaded and saved perfectly. The problem is mainly due to my tendency to code systems that have a huge number of objects that all have pointers to each other, in complex and arcane ways.

In theory, stitching everything back together after a load is fairly easy, but in practice, it’s a bit of a pain, and the REAL pain is to know that it has all worked perfectly. if 99% of the pointers are right, and 1 isn’t, then I have a horrible dangling bug somewhere…

My current process for preventing this is to have the game completely save out it’s state and load it’s state back in every turn (it’s a turn based game). At the moment, due to arcane debugging issues this is horribly slow, but eventually will be super fast. At least doing it this way means that during development I’ll spot any save/load inconsistencies really quickly.

I’m aching to get on with some GUI stuff to make it look nice, but I’ve learned the hard way that I have to put that off until the foundations work better. Better to have it stable now, rather than fix it later.