Codetapper's C64 Site

Mental Procreation Part 8

Tuesday July 14th

Drew sortie new sprites. including assorted meanies and the dreaded charge supervisor - who turned out to be a weird-looking thing altogether. The sprites that I’m doing will be one of two or maybe - three interchangeable sets. I was going to have one set for the positive phase and one for the negative, but I may have room for a third set after all. The animation and colour information is fixed, so corresponding elements in each set must behave similarly.

The rejuvenators have turned out to be very slow at getting to the orbitals. I have speeded up their final approach but they occasionally get a little lost.

Wednesday July 15th

Re-organised the rejuvenators’s method of getting to their targets, which fortunately simplified things considerably. They now don’t necessarily head straight for their destination to start with, but when they get close they’re usually already above it so their final approach is much quicker.

Drew a bunch of new sprites for some more assorted meanies and bullets and put in some more data to use them during play. I’ve made some adjustments to the ship’s slowing down mechanism that kicks in when it’s moving slowly with the joystick centred to bring it to a halt. Normally the ship will drift freely in frictionless space at high speed for any-directional movement, not just eight. The slowing down system is for accurate lining up on targets which are not moving.

Thursday July 16th

The smallest ship can currently carry two systems. both of which are fixed and indestructible: the energy display and the charge indicator. This leaves no room for expansion. which is partly desirable as the newcomer to the game won’t have to worry about battling with the ship modification system, but partly annoying to anyone who wants to protect their ship a little. A bit of tinkering under the bonnet has seen this altered so you still start with the same two systems, but the charge indicator is now destructible and changeable - it can now be scrapped and replaced by another system.

Thought of a brilliant new system to incorporate, an emergency dematerialise system that kicks in if the energy drops below a certain level - effectively a safety valve. Following this idea through, I wondered what would happen if there was nothing that could be done to replenish the energy before the next visit to the play arena. Well, the system would just fire off again straight away. This would result in an infinite loop. Programmer’s solution? The system must self-destruct when it has been used. The excuse? The system has to supply a large surge of power to activate quickly and burns itself out. Not bad, eh?

Friday July 17th

The rejuvenators are still getting lost sometimes. They always get where they’re going if I follow them, and they also succeed if I wait by the nucleus and watch them come out at regular intervals. They don’t work when they have to visit the opposite side of the Universe from me because the co-ordinate system wraps around, but not very consistently amongst all the various relative distances that are used to calculate the rejuvenator’s current position. Result? Confusion, for me and the rejuvenators’

Monday July 20th

Managed to ‘mend’ the rejuvenators almost totally beyond repair as they couldn’t find a tree in a pine forest this morning. I sneakily followed one and it got nearly to its destination and then hared off in the opposite direction. I’d decided to set fire to the C128 if the bug didn’t come out by lunch-time. It was close too, and anyway, why does the compare instruction set the negative flag? Surely all you want to know is whether ‘A’ is equal to, less than, or greater than ‘B’, not whether the difference is positive or negative. All this means is that you can now say: ‘Well, not only is ‘A’ greater than ‘B’, but actually it’s buckets bigger.’

I also managed to find a well dug-in bug that had been there for ages. It was in the movement routine which is an area where things are difficult to trace as it’s a dynamic thing, you can’t just stop things and examine them as the whole movement over a long time is being controlled. Anyway I found it, and now the meanies are following proper patterns as instructed, which is quite impressive though I say so myself. I’ve come up with some more movement behaviour patterns including the infamous Uridium homing mines, and some pods that shoot out, perform aerobatics and then stop. If you hit them with a weak weapon they go absolutely bananas, firing bullets and lurching around.

Tuesday July 21st

Designed most of the rest of the sprites for the positive phase set leaving only eight to do. At this point I decided to create the negative phase set where there is a one-for-one correspondence between the two. Each sprite has two images, each meanie has two appearances. In some cases it may mean reflection, in others a reversal of animation, and others a total redraw. It took about two hours to get through them all. I’d still like to design a couple of extra roamers before I’m finished.

I hope to show the meanies developing during the game through the graphics and movements and also what they fire. Some early ones may not fire, but learn how to, some may home in very badly but get better at it, one will even try to impersonate a charge orbital towards the end (and maybe even other elements in the game).

All 256 images, which would normally take 16K were slowly and carefully compacted down to under 8K. I could even put in another 256 images if I were that way inclined, but I’ll only do it if I can’t think of a better use for the space, like a 10K bit-map test card, much more useful!

Wednesday July 22nd

Andrew Hewson paid us a visit today, so there wasn’t much progress made on Morpheus - although I did write a brief storyline for background information and I also wrote down some interesting facts about the game, such as it has 2,403 sprites all on screen at the same time, 2,395 moving stars in the background in 452 parallax layers, 72,000 colours on screen at once, a full 68-piece orchestra playing during the game at CD quality, running simultaneously with a digitised after-dinner speech by the Pope.

Thursday July 23rd

Doesn’t tempus fugit? (n.b. Er that's what it said in the original, it's not an OCR error - I.B.) Today saw the inclusion of the roamers into the game. Piece of cake really, it turned out that the standard meanie routines were quite capable of running them with no alterations so I just had to write an initiator. This carefully attempts to place roamers, wandering meanies or maybe rocks, roughly in the ship’s path to give the impression that the place is full of them. Works too!

For an encore I also decided to put in the bonus sequence whereby as the requisite number of orbitals have been dc-activated the nucleus decides to shut down so all the other orbitals collapse and you have to race back to the nucleus as it release spinning ‘Morpheus Symbols’. These can be destroyed by any means, fair or foul, for extra bonus points. It releases one symbol for each orbital personally destroyed, so since on level one you only need to destroy one to unbalance the system then only one symbol will be released. Come level 32 the place will be full of Morpheus symbols around the nucleus, although they are very short-lived and expire in a few seconds.

Friday July 24th

Just tidied up yesterdays’s routines, It sometimes counted the orbitals wrongly, but I soon found out why. It wasn’t counting the ones that the rejuvenators killed by overloading them off-screen.

I drew the last eight sprites for each phase and tidied up some others... so that’s the graphics about finished. It took BASIC six minutes to compact them to just under half size.

I’ve put in most of the meanie wave data just to try out most of the manual movement modes and check that the right meanies are coming out. There are about ten different types which begin fairly stupid in different ways and each develop through the game, learning how to fire, firing better weapons. attacking less clumsily or just becoming plain nasty.

Monday July 27th

Had one or two people look the game over and we decided on a few improvements, so the radar now has a cross-hair sight to make finding the orbitals a little easier, and I’ve shrunk the Universe a little too. This has the knock-on effect of requiring possibly two orbitals near the screen where one was previously the limit, deliberately. I thought this would be a toughie as many other routines assume that only one orbital can be on or near the screen at a time. In the event it didn’t turn out to be too much of a problem. Sometimes I even get the impression that I understand some of these routines.

I’ve tried out many of the levels and it’s currently rather easy early on but it gets a lot more difficult at around level 12. I’ll just have to shuffle the levels around until I get a good balance.

Tuesday July 28th

Couldn’t face the thought of making up and keying in buckets of data for the meanie waves that get released, so I decided to let the routine make them up itself. I still ended up keying in a large table of data but it didn’t require quite as much thought!

Made up all the data for the various systems that can be selected and bolted onto the ship, including their build-times, cost and efficiency. Some will be available early on and get phased out, others will he ‘invented’ later on.

I like to think that these reflect a real situation, As time passes the weapons and systems get better, and usually quicker to build, maybe cheaper, with pricing wars going on between the various manufacturing companies, I’d like to write a proper history of all this.

I’ve been playing the game to try out the difficulty level. It's fairly easy to clear the early levels without too much hassle. I tried out level 38 and didn’t last long! I’ve changed the level completion condition so that a maximum of the orbitals need to be destroyed rather than all 32 of them which should speed up the whole pace of the game.

ST has been developing some sound effects on the C64 and driving himself mad under the headphones. Every now and again he lets me hear one through the TV speaker and the whole office shakes!

Wednesday July 29th

Found a couple of well-embedded bugs that were so crucial that they’ve gone totally unnoticed since about April. The title screen had only been displaying six sprites instead of eight, but since they’re all on top of each other it’s difficult to tell.

The supervisor concept is not required, the meanies are quite nasty enough on their own, so I seconded the graphics for it as another meanie type. I really need to think up some names for all the inhabitants. I want to call some little spinning rings ‘Ubiques’, (pronounced You-Be-Kway). because they get in everywhere - it’s from the Latin you know.

Now the graphics and most of the level, weapon and system data is in. ST has nearly completed the sound effects, so we’re almost done.

Thursday July 30th

Started putting in the sound and fine-tuning the game. This is the bit where we spend more time playing the game than coding anything, but it’s probably the most important bit, getting the playability right.

Doubtless it won’t be right for everybody but as long as some find it a little easy and others a little difficult then we’ve pitched it about right.

Allocating sounds to the part of the program that require them is always fun, sounds go off in the wrong places, for too long, or not at all. It’s just a case of knocking it into shape.

Friday July 31st

ST has completed the sound effects and has now turned to the music. He’s done some really low ‘sub-sonic’ sound effects that’ll certainly shake the dust off you TV set.

I’ve improved the control mode considerably to allow easier switching between weapons and I’ve come up with another possibility, the rapid-fire weapon. Hope I have time to code that one up.

Monday August 3rd

Been playing the game over the week-end and two playability problems loomed. One is that the game failed to kill me off after a lengthy game, which is curable by increasing the slope difficulty to make it meaner in the later levels. The other is that the bullet-firing weapons are basically useless! They’re too slow, with too few bullets requiring too much accuracy to hit anything, even the fastest firing guns aren’t much good.

The limitations of the program are that eight bullets is tops, fairly small ones with consequently fine collision detection. Thus I’ve decided to scrap the lot! I’ve put in a more global systems whereby unseen bullets are fired. A flash of flame is seen coming from the gun that fired and all the collision detection is done behind the scenes. I can make the bullets as big and fast as I need to make the game work. This frees up a little more CPU time too.

Tuesday August 4th

A certain publisher (who shall remain nameless) moaned that the nucleus doesn’t do a lot, it just sits there and throbs. It didn’t take long to modify that. Now it spits out bullets at irregular intervals up to eight at a time. I’ve let it have up to 12 bullets on a C64, and 15 on a C128. It now looks menacing and is not a place to stay for a cup of tea. It reinforces the idea that the nucleus is the villain and must be destroyed but not by wading in there with all guns blazing.

I’ve made selected meanies more aggressive to start with and swapped over the homing mines so that the ones with a bit of random element in come later, as they’re much harder to shoot than ones that home directly.

ST has completed the music, and unless I think of any more sound effects, they’re all done too, all 53 of them.

Wednesday August 5th

Mostly a day of tuning up, and not playing pianos either. Found a few things that didn’t, and never could, work. Again fairly subtle things that had gone un-noticed. It’s fairly easy to spot a mistake once you know that something is definitely not working.

Made the meanies more trigger happy and I can’t get past level 12 out of 50. so I’ll probably hack that down a little. I’ve removed part of the concept of extracting charge and ferrying it to the opposite phase to plaster the negative orbitals. This was making it necessary to transport back a little too often. Now charge extraction and consequent meanie release is not dependent on the shop having some room for charge, except that no points are awarded for extracting charge that cannot be carried so the wily player will till transport back to switch phase, but no-one is forced to do so.

Thursday August 6th

Went up to Hewson’s with the new version of Morpheus to show them how to play it. It is virtually impossible to play without instructions, and I haven’t written them yet because I may change my mind about anything. I’ve deliberately made it difficult to understand without instructions because the game has subtleties and complications that need a while to observe and explain. After all, if you’d never seen cricket before and were given a hat, ball and stumps would you get the rules right? I doubt it very much.

John Cumming and Dominic (designers and programmers of Zynaps) sit in on a think tank, and having understood a bit more of what was going on, started getting into the game. We then had a lengthy discussion about what the game is, and what it isn’t. Ideas were put forward to improve it and the need for a detailed instructions manual was expressed, with screen shots to back up the text.

We also saw the advertising artwork for the first time in all its glory, it’s very pretty with a gorgeous starfield.

Friday August 7th

I’ve made the larger ships a little cheaper and given all the systems and weapons a two-letter code to give them more indemnity. The control mode is still causing some arguments. At the moment it feels a little like Gribbly to control. The thing is that is has inertia and acceleration to make it feel like space. which requires more skill to control than simple inertia-less system. It’s like comparing Asteroids to Space Invaders. Still, I’ve altered it slightly to give more accurate control. I’ve completely re-done the systems list to include a new ECM unit and to make the more useful systems available earlier.

Monday August 10th

Began work on a pre-game ‘meet the meanies’ sequence which means I now have to think of names for them all. I expect people will think of some of their own as well!

I think I need to award more points for later meanies to compensate for having to replace all the systems that they keep blowing up!

Just got the September ZZAP! and came across Andrew Johnson’s Rrap. He mentioned the Atari ST once too often for him not to own one. I was merely pointing out the technical differences between the Amiga and the ST for the benefit of those who are not sure, and to set the record straight in contradiction to another publication at the time saying that they are very similar. There’s always one computer owner ready to rise to the bait though. All this, and Johnson (for we are apparently on surname terms) accuses me of telling porkies. Well, anyone with a colour TV can count the colours being scrolled on Goldrunner, one, two, three, four out of 16 which is what I’d call limited in colour. The other colours are sparsely added later for the ships and bullets. The main playing area on Metrocross has how many colours? Black, white, green and blue, I make that four again. You don’t have to ask me, go and ask any honest ST programmers, I know I have.

Tuesday August 11th

Finished off the title sequence to show off the meanies, some with blank names because I haven’t come up with many names yet. The limited area on the title screen coupled with the sprite multiplexor running means that the sprite positioning had to be pixel perfect to actually work properly, there’s no room for any play in the vertical positioning at all, the sprites are just re-cycled in time.

Prepared a version to take to ZZAP! for a preview and headed for Ludlow as lunchtime.

Wednesday August 12th

The big day, I’ve still got some names to think of and a high score update routine to write which I think I can cope with along with some more minor tuning. It’s hard to think that I started this project before Christmas. Since then we have installed the PCs for doing the editing and assembling on, downloading the code for testing on the C128. We thought it would speed things up. which it did, but it just allowed me to write a much larger and more complex program, about 30K of code compared to Uridium’s 18K or Alleykat’s 20K. All these games have used all the C64’s memory, the rest of the space being taken up by graphics, data. variable areas and buffers. The ratio has just switched to more code meaning that I’ve had to compress the graphics more. There are still nearly 350 sprite images in Morpheus, more than Alleykat and Uridium put together.

Personally I’m pleased with the result, it does many of the things I had dreamed of at the beginning, some ideas as always fell by the wayside, to be replaced by new ideas along the way.

Although Morpheus has a definite arcade quality look which is a logical progression of everything I’ve done before, it’s not a ‘five minute quick-blast’ game. It contains a large planning ahead element which is at least as important to master as the control mode. I think you’ll find this a game that will be played over many months. This will be the final diary entry and the game can be seen publicly at the PCW show and should be on sale in October. Who will be the first to build and maintain a ship capable of reaching and destroying level 50?

Post your comment

Comments

No one has commented on this page yet.

RSS feed for comments on this page | RSS feed for all comments

Any suggestions?

If you have any idea what should go in this box, please let me know! :)