Diary of a Game
The Daily Llama Part 1
After the success of our last programmer's diary (Andrew Braybrook developing PARADROID) we decided to approach another programmer prepared to risk the same gamble. After his various run-ins with our '12 year-old' reviewing team, JEFF MINTER probably reckoned he had little to lose, and agreed to undertake the mission. Fresh from the llama llab, then, come these words from the great heavy mettallick himself, as he describes the agony and the ecstasy of IRIDIS ALPHA, not to mention the satisfaction to be gained from setting Gary Penn's abode afire by using Gary Liddon as the incendiary device...
29 January 1986
I suppose if I have to pick a day and say, 'I started the game', I guess this is it. I'm still fresh offa the ST, and some idle tinkering with the new assembler I got for the 128 has resulted in a rather neat starfield routine that I'm gonna have in the game. It has 34 stars and they're all generated using just Sprite 0, which leaves plenty of sprites free and room for some scrolling stuff underneath. Uploaded a demo of it onto Cnet.
30 January 1986
Fixed a bug that was making the interrupts desync if you tried to run the stars backward under stick control and overlayed a scrolling grid just to see what it looked like. OK but grid too regular for high speeds. Don't care, only a demo anyway. Uploaded it to CNET. Think this phase is gonna turn out like Sheep in Space a bit, but faster, much. Opposing planet surfaces in centre of screen, warp between? Main character on planet surface will probably be this lovely goat animation that Mo Warden did. It's ace, it even butts. For planet surface you are the goat — accelerate, and you metamorphose into a spaceship for aerial combat. Accelerate again and you can go really fast over the planet, perhaps auto shields flick on at high speeds? Dunno, I'll see. Never approach a game with too much preconceived ideas, I reckon — let it flow, change, metamorphose. Oh yeah, I'm probably gonna call this game Iridis Alpha and it'll blast like crazy.
1 February to 14 February 1986
(Tied up with proceedings to the launch of Colourspace on the ST, which took place on the 10th Feb at the Laserium, so I didn't hack any serious Commodore code during this time. I needed to practise).
15 February 1986
The design is taking more concrete shape in my head. I am altering the scroll routine to fit in with my new plans and splitting the screen in the middle. Got the contraflow routines going over garbage data just to see if they work. It seems that they do although there seems to be a slight glitch at high forward accelerations that I'll look into later.
16 February 1986
Spent the day designing some planet data and graphics, and stuffed it in to see what the routine looks like with some real data. Looked OK but a bit coarse going at 2 pixels/frametime minimum increment, so I rewrote the stars and planet scroll so that the minimum increment is 1 pixel per frame time. It looks a lot better like that. The planet graphics I did are too coarse, though... I don't really like the way they look, so I may well do a new set tomorrow. The current set is based around a block of data 2 chars x 2 chars, and doesn't look that great.
Did write this really neat routine, though. A complete set of planet graphics takes up 512 bytes of character set data, so I just store the definitions for the top planet and let the computer generate the inverted/reflected set for the bottom planet. Works fine after a little hassle — reflecting multicolour data is a little awkward — but saves storing all those inverted definitions.
17 February 1986
Redid the graphics completely, came up with some really nice looking metallic planet structures that I'll probably stick with. Started to write the GenPlan routine that'll generate random planets at will. Good to have a C64 that can generate planets in its spare time. Wrote pulsation routines for the colours; looks well good with some of the planet structures. The metallic look seems to be 'in' at the moment so this first planet will go down well. There will be five planet surface types in all, I reckon, probably do one with grass and sea a bit like 'Sheep in Space', cos I did like that one. It'll be nice to have completely different planet surfaces in top and bottom of the screen. The neat thing is that all the surfaces have the same basic structures, all I do is fit different graphics around each one. Got to sort out the scroll limits tomorrow... at the moment you can shoot right off the end of the planet into garbage data which ain't too cool. Down the clocktower in the evening, cheap beer, 50p a pint, Courage Best promotion. Well good.
18 February 1986
Fixed scroll limits and did a little more work on the planet generator routine. Scroll looks really neat, especially at high speed. Very pleasing. Must think about doing the ship controls now.
19 February 1986
Wrote the code to put Our Hero (tentatively called B-D) (after the little Indian cigarettes I like) on the planet surface, in the right place, and the right colour, and the right size. Wrote the animation routines that'll be used to make him move. Hooked him up to the scroller so that now he walks left and right under joystick command. Started work on Dark Side set for Colourspace.
20 February 1986
Put in gravity routines for the robot — he can now run and jump, too. The grav is nice and low, graceful leaps. Robot will have to jump over features on the planet surface.
21 February 1986
Ship main control mode now complete, with the addition of the 'spaceship' mode: stop the little robot, jump him up and push the stick left and right to make him transform into a spaceship which can really belt over the planet surface. Control feels good, and I'm pleased, cos that's important.
22-23 February 1986
Weekend in Cardiff with some mates and Colourspace. Dark Side set finished and demonstrated. Was in a car crash. Left my scarf in Cardiff. Freaked people out on train on way home.
24 February 1986
Sprite plex routines written today to reproduce sprites 1-7 on both planets. Works OK. Put in the other 'upside-down' ship controls, work fine but need upside-down sprites defining! At the moment it isn't inverted, uses the same Images as the top one.
25 February 1986
Defined the necessary inverted sprites and banged 'em in. They look fine, the mirrored screen and planets scrolling different directions are really bad for the eyes! Tidied up the joystick control to make it less finicky.
26 February 1986
Seminar on MSX-2 at Microsoft in Reading. Bit of a booze-up, too smashed to do anything constructive in the afternoon.
27 February 1986
Put in planet surface firing for the top ship. The ship lobs out large round bullets while it is on the planet surface — I intend to have certain nasties that can only be properly killed with ground-based fire. The routine works but I am losing every other frame due to interrupt overrun, so I reduce the number of stars on screen to get back about an inch of interrupt time. This does the trick, all cool. Some faffing around with interrupt positioning needed too.
28 February 1986
Finished off firing routines of upper ship, added the faster, horizontal fire that the ship produces while flying above the planet surfaces. The whole thing feels nice, good firing response, just the right spacing between the bullets, and a nice transition from ground/airborne firing modes.
1-2 March 1986
3 March 1986
Wrote the extra bullet-handlers to add fire to the lower ship as well as the upper. The lower ship has its own, independent bullets, they can't just be reflections of the upper ship's bullets. The firing is ace. Love it. Especially the gravity on the planet-bound firing, but then I always did go for gravity.
4-5 March 1986
Much messing around with graphics for the other planet surfaces, got four defined so far, Metallic, Brick, Country and Mushroom (although I have only half finished the graphics on Mushroom). The afternoon went learning how to set up the new telly I've just bought for doing Colourspace on.
6 March 1986
In London, setting up for the ATARI show.
7-9 March 1986
Also in London, getting very knackered doing the Atari show. Continuous lightshows, on the hour, every hour, for three days. Went to Laserium Sat nite, crashed on mate's floor, failed TOTALLY to get any sleep. Wrecked by Sunday.
10 March 1986
Drove to Ludlow for the second stage of the ZZAP! Challenge. Played games all day, boozer in the evening, crashed the night on La Penn's floor. Ceremoniously burnt the review of Mama Llama with Penn's own lighter. (Next morning Gary Liddon woke to find himself covered in the ashes —Ed)
11 March 1986
Got up, read The Beano went to ZZAP! offices to hassle them for a cup of tea but they ran out of tea bags so had to go to restaurant down the road. Drove back from Ludlow. Lots of sheep near Ludlow, you know. Pretty Welsh ones. Set up 8 foot Colourspace screen in Llab. Had mega session on it.
12 March 1986
Getting stuff ready for taking to France. Will take 128. Probably won't have much chance to work on Iridis Alpha until I get there, now. Another session on the big Space rig tonight with some Clocktower regulars.
Next month Jeff continues the saga of Iridia Alpha. If anyone has information leading to the recovery of some missing sheep from the Ludlow area, will they please contact the Ludlow young Farmers (who do it in green wellies).
If you have any idea what should go in this box, please let me know! :)