Birth of a Paradroid Part 2
We continue with our everyday story of programming folk as ANDREW BRAYBROOK, the man who wrote GRIBBLY'S DAY OUT, struggles over the creation of his next game for Hewson Consultants called PARADROID. Here we are given a priviliged insight into what it must be like to cull from the keys of a Commodore 64 the trills and spills that will make a hit game. This month having forgotten his fight with the cat and the lost ruler, Andrew turns to the more interesting aspects of programming like pencil chewing.
Thursday May 16
Redesign consoles today. New ones are much more curved, less detailed in a way, but definitely clearer. THINKS ... Maybe I'll drop multi-colour mode and use 16 colours instead. HMMM... I need some orange anyway. Yes, then I can work on some less gaudy colour schemes including the greys.
Friday May 17
OH MY HEAD! Late start today, due to 'night on the town yesterday. Implement colour changes and design some more graphics. Get some very tasty pastel shades using clever pixel plotting. Looks good to me. there again, maybe it's the effect of the beer. Will it look okay on a poor quality TV Dunno.
Take a tape copy home for some screen shots.
Monday May 20
Rip out character animation routine carried over from Gribbly's Day Out. Implement clever new one. Squeeze three numeric counts into 1 byte and write a hefty routine to maintain all counts independently. Save a byte here, save a byte there. Get lots of lovely room for other stuff. Great!
Still don't know how the robots can be made to behave properly given all the different types that will be running around. This week is not going to get any easier.
Tuesday May 21
An average morning's contemplation until ...ZAP WHIZ POW ! An idea for a game within the main one, fighting for control of a new robot. Instead of just a graphical sequence showing the takeover of a new robot, why not have to play for it, you against the robot's brain? Base it on logic circuits and use some existing routines. A whole new game segment in a small space!
Wednesday May 22
Get stuck into new transfer game. Get screen setup working almost perfectly. Game is beautifully simple but under pressure it has great possibilities. Now I've gotto convince it not to give impossible setup situations, since it is relying on a stream of random numbers, courtesy of Sidney the sound chip.
Thursday May 23
Finalise the screen setup for the transfer sequence. Work out which arrangements of play elements are impossible. Devise rules to ensure that they are never selected. Discover rules are very simple which makes life easier. Feel pleased.
Work out how to run the game itself and begin coding when Andrew Hewson drops in to spy on us. I proudly demonstrate the new creation. "What on earth is it?" he says. Not one of his most helpful, constructive of illuminating comments. I rage inwardly.
Friday May 24
Attempt to implement the mechanism that runs the transfer game. Do the design. Try to get it right. Scrawl some rough diagrams. Looks good
Write the code and try it out. What a mess! Study notes. Twit! Should have read notes more carefully when writing code. Make corrections. Ahaaa! Everything's nearly working except for annoying flicker.
Search for cause of flicker. No luck. Start to grumble. Search some more. Still; no luck. Grumble out loud.
Okay. Decide that annoying flicker is not going to get me annoyed. I can either get game working but with sprites that flicker, or I can get nice steady sprites but it won't work. I try grumbling REALLY LOUD. No effect. This program is clearly deaf.
End of day. It's Friday and I'm tired. I go home. Grumbling and annoyed.
Monday May 27
Bank Holiday. Play a bit of Guardian. Mend joystick with four lumps a aluminium to stop contacts from bending. Study listing of transfer game whilst pretending to do something else SO as not to get annoyed.
Got it! A logical fault. Annoying flicker disappears. Am annoyed for not spotting fault earlier.
Get carried away. Can't see why one routine is called twice so decide to fix it so it doesn't mind being called twice rather than fix error properly. This is called the steam-roller solution. Calm down. Feel guilty about steam-rollering.
Tuesday May 28
Work on getting the transfer game looking vaguely presentable for some more screen photographs. Put in a lot of icing like displaying the number of gizmoes left and a countdown to game start etc. Game now takes up about 2K bytes and is bigger than had hoped. I'II have to squeeze it in somehow.
Wednesday May 29
Study transfer game. Tune up speed and duration. Robot player has no intelligence so give it a couple more shots on average to make up for stupid moves. Change colour of robot player from blue to purple to show details better.
Decide transfer game can now be shelved for later inclusion in main sequence. Sit back and enjoy a warm glow of self-satisfaction. Decide to reward myself by having fun designing logo to appear on side of main spaceship. Fiddle with R.F. for Robot Freight.
End of day. All attempts at logo are garbage. Warm glow fades.
Thursday May 30
Sorted out some bits of documentation about Gribbly's Day Out and tidied them up. Got the new screen shots back, still underexposed, this game is going to cause people problems because of its white background, chuckle!
Back to main game. Do some more graphics - a better looking lift, a block of consoles and some different floor sections. Work out what information is required to get the lifts functioning, not much fortunately.
Friday May 31
Key in lift shaft routine. Reorganise the screen setup routine tidying up all the initialisation activities. Up to now have been working on test data. Now things are getting serious.
Decide I have to key in some real decks. Suck my pencil whilst considering the problems of lift co-ordination between decks. Hmmmm ... definitely going to be complicated. Some hard thinking yields immediate results - I get a mouthful of pencil shavings.
Oh happy day! GDO gets Game of the Month in CCI. Decide this is a good opportunity to ask boss (Steve Turner) for new pencil.
Tuesday June 4
Doom and gloom this morning. Program keeps on crashing. Slog through code finding several errors Serves me right for rushing through it yesterday.
Eventually I can tour around all the decks and use lifts if I'm careful. Worry about excessive pause on leaving lift whilst machine sets up current deck. Decide to do setup whilst in lift. A lot of extra work but result is nice. Very elegant.
Eeerk! Thunder and lightning in the outside world. Take fright at possibility of losing all today's work due to power surge. Scramble to save everything in sight, (Andrew was obviously luckier than we were, the same lightning-induced power surges caused the ZZAP! computers to crash taking several K of unsaved copy and subscribers with them. Much shouting and cursing and retyping! -Ed)
Having a bit of trouble telling the difference between orange and red as an alert status. Since green, yellow, orange and red are traditional, this could be a problem. Commodore orange isn't bright enough.
Wednesday June 5
New pencil arrives. Chew on it whilst considering how to shuffle storage to give more space for deck data. Assign last 4K. More changes will require a goodly amount of pushing and shoving from now on.
Work out mechanics of enemy robots. Many will operate on a network of invisible roads and junctions. Some may be sentries, others just 'on-the-beat'. The whole ship will have its robot crew defined at the start, and each decks-worth will be expanded and used on entry to that deck. Each deck will have a main variety of robot, along with a random selection of others.
Thursday June 6
Continue to scribble robot notes. Steve suggests a neat way of compressing three bytes of information into one. He's a bright lad. Gives me a lot of patrol routes and junctions. Reminds me of my IBM mainframe game Survive.
Hmmmm... a problem. What happens if a robot wants to come onto the screen when all eight sprites are already busy? In GDO I kill the new object and nobody notices. I could lose it temporarily and let it reappear next time you visit the deck. No, better not. Someone's bound to notice and moan about it.
Need something to speed things up when most robots on a deck are gone, such as the baiters in Defender. Have to sleep on that one. Nearly redefine the walk to show a 3D aspect, but don't want to do everything in 3D. Decide it looks a bit too ugly. It's been very much a thinking day.
Friday June 7
Off to the Commodore Show in London to spy on the opposition! Don't see anything particularly devastating. Enjoy listening to the music played by Jeff Minter.
Monday June 10
Steve's out today, so get to work on a pretty title screen. Do some drawings and like them. Try same on screen. No. Not right. Dabble for a while with graphics on screen and come up with a different style of letters. Not bad. I want it to look like the letters are stamped on metal. Use part of Commodore graphics set for first time ever.
Tuesday June 11
Oh, oh oh oh oh! Behold! An idea. Why not use work from title screen for deck walls? Leap around room full of brilliance or insight. Steve tuts and hisses at disturbance.
Calm down, try a small setup. Nag Steve to look at possibilities. Decide to try a whole deck in new scheme. Hack, hack, hack for ages and then fire up new version. What a transformation! Very metal, superb and solid. Stop for a cup of tea to celebrate progress.
Set up some alternative colour sets and, using light colours for background, now have schemes in yellow, green, red and blue. Game now looks totally different, although consoles and lifts work well with the new set. So just by chance and by doodling on the character set editor, the game has undergone a major change in appearance.
Much self-satisfaction with new look. Nobody commented either way on the previous look, except to say that it's different, ie politely saying that they don't exactly go overboard on it.
Burn the heretics, I say. Drown the non-believers!
Wednesday June 12
Old turbo saving routine must make way for tables of data. Five minute job think to myself. Hours later I'm still hacking at them. Curse myself for patching and fixing them in the past without recording the changes.
After much disk and tape loading and saving the new turbo works properly. Fix a couple of small details in the game. It now takes 20 minutes to assemble the game from source, it's just so s-l-o-w and when it finds an error right at the end - aaaarrgh!
How long can Andrew's new pencil possibly last? Will the Commodore character set survive the launch into space? Will the cat ever come back? Will we ever see a Paradroid? These questions and more may be answered next month, who knows?
If you have any idea what should go in this box, please let me know! :)