Let's Make a Monster Part 5
It's a testing time in the development of Mayhem In Monsterland as the graphics are pieced together into level maps. John and Steve Rowlands, AKA Apex, AKA The Boyz, tell it like it is...
Steve is at the slage where he needs to produce some test levels, so the time has come to create a map editor. It will enable us to produce the level maps far more quickly and easily than normal with the editor being written around the actual game routines - in effect Steve can design a level then quickly switch to the game to test out his latest creations. It also includes a graphics editor (of sorts) to allow any part of the level's appearance to be tweaked as necessary.
John: I've just finished preparing a version of the game to be incorporated into the map editor. I've ripped out anything Steve won't need to test his levels, leaving the essential routines which can be incorporated into the editor. These are basically the scrolling and player movement routines and will allow Steve to test that his level designs are workable. Now I've got to implement this shell of the game into the pre-written editor: this shouldn't be too much hassle as I've got the map editor from Creatures that I can use. In other words, I'll be keeping the map editor but substituting all the Creatures scroll code for the Mayhem scroll code.
Working late one night this week, I decided that the levels could do with some parallax scrolling so I spent an hour adding a piece ot code that rolls the definition of a few characters in the opposite direction of the scroll (which gives the illusion of parallax). Now we can put a pattern in the background that moves at half the speed of the foreground, giving a greater feel of depth.
Steve: As John will be starting work on the Get Ready screen soon he'll need all the music and graphics for it. So now it's time to mosey on down to musicland where I can get on with a bit of Get Ready Music, which should be so happy and cute it'll make you want to chuck.
John: I've spent a day or two tweaking the map editor taking into account hints from Steve on how it can be improved. This usually means adding little luxuries to make certain tasks easier for him (the lazy great wazzock!)
Andy Roberts has come down to stay for a week or three again, and has talked me into coding the first bit of presentation for the game - the Get Ready screen. I started coding it with the stage names and numbers at the top ot the screen, the level status below and loads of happy faces flying around behind the status message. Our opinion? Pretty lame, so I ripped out the whole shebang and started again.
After a few days coding the mark II version of the Get Ready screen, it's looking as nice as a very nice thing indeed. It still has the stage number and name at the top but also has a "Mayhem Go!" message beneath. At the bottom of the screen is the level status, and above this a rather spiffy map window. This displays a cut-down version of the current level (complete with scaled-down graphics) which scrolls along in six levels of parallax. We put it in there to indicate what the level status is - if the graphics are dark and gloomy then the level is in Sad mode, but if they're bright and colourful then the level has been changed to Happy mode.
Steve: I've not had much success down in groove-town. John will have to put up with a temporary bit of music until I sort out some decent sounds. Now I've knocked that on the head I'll start the graphics for the Sad and Happy versions of the Get Ready screen. They'll use characters and sprites to build up the mini-parallax version of the levels. Thankfully these graphics don't take long to design because I just copy what I've drawn from the level. Me, a work-shy fop? Never!
This morning I had an idea for an explosion to put in the game, so I stopped what I was doing and loaded up the sprite editor. It starts off as a small star and gets larger until it fills the whole sprite - when it does it shatters into smaller stars that fall to the ground - and jolly nice it looks too.
John: The first day or two of this week I spent touching up the Get Ready screen. I've typed up all the colour cycling tables which are used to colour the on-screen text. I've also written the small collection of routines that set up the current level with the appropriate attributes so that when the player (that's you, that is) presses the Fire button to enter the level, the correct bank of graphics, colour table and so on are used.
I've made it possible to jump back to the Get Ready screen from the game, also selecting whether it should appear in Sad or Happy mode, thus enabling me to jump from Sad and Happy versions of my test level whenever I want. As the saying goes, convenience is the mother of... erm... baby convenience.
The rest of the week was spent transferring our music player into the game and uploading the temporary pieces of Get Ready music Steve has written. There will be two for Get Ready, one for Sad and one for Happy. We want the Sad one to be more spooky than sad, to create a frightening, blood-curdling atmosphere as you enter the stage. The Happy one should be a sort of 'go forth and maim' tune getting you in the mood to battle against the denizens of Monsterland.
Steve: The Get Ready screens looked okay but I thought that the sad mountains - which scroll along at the back of the parallax - could use some shadows, cast by the light of the moon. I've also touched up the rest ot the characters and sprites.
It's now time to go back to the drawing board (literally). A mental block over new level designs is soon solved by sketching out loads of ideas, some of which are uncoolness itself, but others have potential. So the latest platforms are based on isosceles triangles along the top with lots of rectangular shapes hanging down behind. This looked good on paper; John and Andy thought it looked nifty on-screen; I wasn't so sure.
Some of the other ideas on paper still appeal to me with some spotty platforms and spotty backgrounds being the best. I'll leave these until next week to put into pixels, cos John keeps nagging me to touch up the Happy Get Ready graphics.
John: Typical. Just typical. Mayhem In Monsterland has a fabbo Get Ready screen, but this fabbo Get Ready screen is corrupting the game. Every time I press Fire the game locks up. Damn. Now I've got to sift through hundreds, no, thousands of lines of code to find this 'king of the bugs'.
Got it! After a considerable amount of tracing through my code, I've finally found the problem. It's to do with the full-screen scroll that I put in late last week. This is used to bounce the Get Ready section up on to the screen (and looks dead cool). When you press Fire, the screen drops back off the bottom, and it was this bit of code that was ruining the game. I'm still not sure why, but when I make the Get Ready screen jump straight to the game, it works every time. Ho, hum, no-one will miss it, I suppose.
As I was already sorting through lists of print-outs I thought it would be a good time to check out my source listing for the scroller (the largest routine in the game). I went through cutting out memory here and there, and ended up saving not just a bit, but a massive amount of processing time. Now I have a scroll routine which takes up about a third of the processing horse-power it previously took as well as a neat Get Ready screen and a decent excuse for getting a tad tipsy tonight.
Steve: Now's the time for spots! Big ones, little ones, all sorts of shapes and sizes. I even based one on a huge spot I once saw on John's nose. It's time to start converting my sketches of this level into on-screen graphics. Once the basic design of the platforms was done, I realised that I could easily put a colour split across the middle (see CF29 for a full explanation of colour splits, but basically they give Steve more colours to play about with - Ed). The editor I'm using at the moment won't handle splits, though, so I have to put the platforms into blocks, then load the blocks, the character set and the character colours into our (brand new and rather excellent) custom-made map editor. Next I design a quick map to try out the platforms then type in the raster tables to split the platform colours. The result is good enough for me to carry on with the level, which is handy as I've just had a jolly spiffy idea for a type of Happy tree.
This tree uses our special technique for adding depth to the level; using the C64's priority flag we can make Mayhem go behind the trees but still in front of the two layers of mountains. I've done a test version with the colours and priorities but have yet to put the graphics into blocks and load them into the map editor. This means that, for the moment, I can't see how the graphics look when incorporated into a level - Mayhem will have to stay in Pipeland for another couple of weeks.
Are you getting ready for this?
We include Get Ready screens in our games not only to tell the player to Get Ready for another go, but also to act as a pause/rest period between lives, which can be handy if you're playing a rather hectic part of the game. The Get Ready screen can also be the perfect place to display in-game info. When we designed Creatures we thought it would be a good idea to show the player where they were going to start on the level. With Mayhem we've decided to show the player the current status of the level (either sad or happy).
PICCY: John's having traumas with the Get Ready screen and tweaking his editor.
PICCY: The map for Pipeland has been worked out! And it's so big we've had to split it into bits to get it all in. This bit here is the last section.
PICCY: Steve's got three levels on the go now.
PICCY: The middly bit of Pipeland. This is, of course, the happy version of the level, the way it should look when you've done your Job properly. Otherwise things will look a bit dull and overcast.
PICCY: The level that you'll never see. Steve wasn't overly keen on this design so it was out.
PICCY: The first section of Pipeland complete with the bonus stars. The levels in Mayhem will even feature a form of parallax scrolling where the background appears to move at a different speed to the foreground to give an extra feeling of depth. It's a trick the Boyz use a lot.
Why not join us next month? Why? Well, for starters we'll be introducing you to some of Monsterland's inhabitants who will be only too happy to decrease your lives. And now that Steve has a few levels underway, you can sit back and watch Pipeland, Cherryland and Spottyland begin to take shape. Oh alright then, enough of waffle... Please read next month's diary.
If you have any idea what should go in this box, please let me know! :)