Alien Experiment Laboratories

September 27, 2006

Now Listening To

I’ve always liked old-school chip music, even before it was “old-school”; I grew up with it, after all. At home I have lots of AY and SID modules, and a bunch of Amiga stuff too, but at work, I don’t (and farting around with playlists takes time).

What I do have is broadband access. So, I have the option of listening to internet radio.

Where can a self-respecting chip-tune lovin’, old-school developer go to hear the soundtrack to a day’s hard work, and maybe even get to hear music from retro systems they never owned or had access to back in the day?

Well, there’s Kohina, which has a pretty large, multi-platform playlist (tilted toward the C64, but that’s OK, the SID-chip is still pretty amazing today). If the Spectrum is your thing, AYLand is all Speccy, all the time, with a good helping of newer tracks from the demo scene thrown in with all the game music. SID-heads who want a twist on the old silicon soundmeister can’t go far wrong with SLAY Radio with it’s remixes of old C64 stuff.

There’s also the Blibb Blobb podcast, which isn’t live, but is pretty good listening too.

Now, back to work…

September 18, 2006

Specifying The Problem

All programming tasks are essentially the same: you have a problem, and a solution is required.

In this case, the problem is “I want a neat game to play and all the new ones suck” and the solution is “Well, then, write one, you big lazy gimboid”.

OK, maybe not that simple. The basic game idea needs to be specified, then fleshed out. Otherwise, I might start trying to write Space Invaders and end up with Zork III. Or something.

UserFriendly: AJ tries to produce a game

Writing documentation is sucky, but it matters. The general spec. is important as a base on which to build. It reminds me what it was I was trying to do in the first place, and is the foundation of a successful project.

Sure, it might evolve somewhat, but it’s the foundation nonetheless.

Those foundations have now been built, and I’m ready to put together a rather more detailed low-level spec, where I decide just how to convert my bright (hah!) ideas into code.

Clearly those years of working for “large telecomms switch manufacturer” and dealing with their quality compliance has paid off. When I was a kid I could write the entire thing in BASIC in the time it took to do the general spec. But I’d more than likely have written a menu screen then moved onto my Next Big Idea without ever finishing the first. (I wrote some really neat menu screens back in the day.)

My increasingly aged brain, on the wrong end of two decades worth of close-quarters CRT radiation, can’t recall the fine details for long enough, and I can’t sit down for 10 straight hours and write a game from nothing more than an idea any more even if it could.

So I document the process instead, like a good little programmer.

September 13, 2006

Or Maybe Not

It’s fair to say that, while moving house, all other considerations fade into the distance.

As it turned out, the DirecTV guy arrived just after 9am, and took all of 20 minutes to do his thing. I dug out my (still packed) laptop to make a change to the programmable remote control for the hi-fi, then got on with the real business at hand: getting things moved around in the house.

So much for the plan, then. Normal service will be resumed. Eventually.

September 8, 2006

(Maybe) A Great Opportunity To Get Some Work Done

Progress has been somewhat lacking this week. But then, packing all your belongings and moving home does take time.

As part of the Big Move, DirecTV will be transfering our satellite service over to the new house. We take the set-top boxes with us, there’s a dish and wiring installed at the new house already. Gravy.

Except…they have to send an engineer out. Why, I’m not sure, when it should be a simple matter of plugging in our boxes and having satellite TV. After all, our authorization to use their services comes from the smart cards in the boxes, which are tied to our account. Wiring the boxes to the wall outlets is no problem, CatV cables are Wal-Mart items, we don’t need no steenkin’ engineer to do that. But I guess they have their reasons. Whatever.

Unneccessary or not, I’ll be spending Tuesday waiting for them to arrive “sometime between 8am and noon”. Which might just give me an opportunity to get some work done on the project. Or maybe not.

September 1, 2006

Serendipity

Serendipity is a wonderful thing.

Today I start the Journal and get things moving on my little hobbyist game project, and what do I find online while munching on my 6-inch sub at lunch?

Other people who feel the same way as I do about the sorry state of the games industry today, that’s what. (by means of this post at Coding Horror).

It describes exactly what I feel about gaming today. I’m a married 30-something, I don’t have 25+ hours a week to play the huge monster 3D games the industry pushes out like giant, Mount Everest-sized turds, each one larger yet almost identical to the last.

I want something fun, quick and easy, that I can pick up and play without having to commit the rest of the month to. But the mainstream games industry doesn’t make games like that any more. They’ve forgotten us, the people who were there in the mid-80’s, who helped make their industry. Instead, we have to rely on emulating the Good Old Days, literally.

So here I am, wishing to be a creator of games in a world where game budgets and timescales are measured using units like “millions of dollars” and “man years“, and on the day I officially start, I read something which confirms why I want to do this, even why I should do it.

Nice to know I’m not crazy after all. :)

In the beginning…

…was an Idea. The idea to revisit my mis-spent youth and write a computer game.

Not just for any boring old computer either, nuh-uh. This one would be written for the Sinclair ZX Spectrum, the computer which occupied that mis-spent youth from Christmas 1984 right through until the end of 1991, and which I spent many happy hours bending to my will as a programmer.

ZX Spectrum - picture by Bill Bertram

This time around, I’ll be using C as the main programming language, possibly with a little Z80 assembler thrown in, and of course a tiny amount of Basic to glue stuff together. The Z88DK cross-compiler is the tool of choice here, with sprite support and all sorts of cool programmer-y stuff to help things along.

When I’m done (which falls under the category of “eventually”) I’ll maybe even try to publish it through somewhere like Cronosoft. Failing that I’ll just open-source it!

So, where does the Journal figure in all of this? Well, I plan to journal, on a somewhat regular (hah!) basis, any progress, decisions and all that. I’ll probably be a bit vague on actual details (after all, I might release this commercially, and while I’m not going to retire on the proceeds of a game written for a 24-year old computer, I don’t want some bugger stealing my ideas either!) but if I do this right, I may end up with something akin to an amateur version of Cecco’s Log. Someone might even read it, if I’m lucky…

And no, don’t expect rapid progress. I may be writing a game for a small computer in a not-too-low-level language, but it’s very much a hobby thing. I could have done it in a week “back in the day”, but I didn’t have to work full time and maintain a normal household and not annoy my wife too much! Plus, I’ll kind of be learning the (poorly documented) Z88DK libraries as I go along (experimental code snippets, anyone?)

Sinclair Spectrum photo by Bill Bertram