Diary of a Game
Let's Make a Monster Part 2
The Apex Boyz, Steve and John Rowlands, have decided on the basic plot idea, main characters and game-play-style they want for their next blockbuster, Mayhem in Monsterland. Now in the second month of the game's development, they begin the hard work — programming.
Once we have the initial design of the game completed it's time to start programming. The first routines we tackle in our games are the screen-handling routines, which include video bank, scrolling and decompaction routines. We can't, for example, start with the player/enemy collision because there aren't any on-screen enemies yet, and we can't create the enemies until we get the scrolling worked out (the enemies are directly linked to the scrolling level, you see). The player can't even run around, as the screen's blank. In fact, nearly all of the in-game routines are based on the scrolling level. What we do is create a priority list, programming the routines at the top of the list first, and working our way down.
With the (rather spiffy) player sprites we designed last month and with the scroll routines about to be written we produce temporary test graphics. These will look relatively basic in design, but are used purely to test every condition in the scrolling routines; for example, checking that the colour scrolls correctly on every character. Once these are created the level graphics need to be transferred from the pencil sketches that were drawn last month on to the C64. Mayhem's task will be to spread joy and happiness throughout Monsterland (Urgh! Sounds a bit girlie to me — Roger), literally changing the appearance of the levels from sad and downcast to bright and happy. This means that we're going to have to construct two sets of graphics for each level. This means there is twice the amount of work to be done but, what the hell, it'll be worth it (we hope).
JOHN: At last, I'm programming a game which doesn't include a single Fuzzy-Wuzzy. For the last two-and-a-half years I've been making Fuzzies walk, run, jump, bounce, fly and swim, not to mention die in dozens of gratuitously violent ways. So it comes as a great relief to be developing a game without Clyde and Co in it. We're going to use a similar scrolling technique to the one used in Creatures (just can't seem to get away from it) so most of this week was spent sifting through the Creatures source code, extracting the routines I needed for the Mayhem scroller. This will enable me to scroll the entire screen with colour on every character and at almost any speed (unlike other games that scroll two-thirds of the screen, with few colours and at relatively slow speeds) — so there!
STEVE: To echo what John has been saying — YES!!! No more Fuzzies!!! I'll have to do some basic test graphics instead (but then, John says all my graphics are basic). These consist of some reversed characters in various colours (to test the colour scroll), some hi-res background colours (to test out any parallax that may be needed) and the odd (very odd) background platforms to test out player/background detection — when it's done.
Now with that lot out of the way, I grab my 2B and some recent sketches of level ideas and get on with drawing a good selection of platforms and backgrounds. There will be two character sets for this part of the game — Sad and Happy. I've made up my mind to design the Happy graphics first and then tone them down to Sad. It should be easier to create new levels which are bright and colourful, then tone them down than the other way around.
JOHN: All Mayhem in Monsterland consists of at the moment is a few screen set-up routines and the scroller. I've finally got the scroller to scroll now, even if it is just with the old Creatures graphics. It still only goes one way (from left to right), so I've got to spend days (make that weeks) upgrading it to the specification that we require.
Initially this means making the scroller bi-directional (so that it goes from right to left as well), but I also want to make it a hell of a lot faster while simultaneously cutting down the processing time it takes. Sounds impossible? Well, maybe it is, but I'm going to give it a go anyway!
STEVE: Unlike the Creatures 1 & 2 graphics, Mayhem in Monsterland's will be more abstract with brighter and clearer colours. We thought that an abstract feel to the backgrounds would make this game stand out from other C64 titles, setting new standards (low ones, probably!).
One of the bad things about Creatures was that when you were walking along the scrolling level and came to what looked like a slope you had to stop and jump up it. With Creatures 2 John actually put in code to make you walk up slopes, but this was only used on one torture screen which happened to be the last one in the game. Mayhem is going to feature hundreds of different slopes that Mayhem can run up and down at great speed (or so John tells me). With this in mind I've started drawing some slopes which John can use to test his slope code when he gets around to writing it.
JOHN: It's nearing the end of the week, now, and I've got a long way to go before this damned scroller is complete. It's proving to be a tad harder than I thought. Oh well, it's Friday, so I'll have to drown my sorrows in copious amounts of extra strength cider in a nightclub tonight. (I'm starting to wish I had something go wrong every Friday.)
JOHN: Well what do you know? I'm still working on the scrolling. I love spending weeks on the same piece of code about as much as I love being stuck in a lift with nothing but a rabid rottweiler for company. But at least it's getting there. Honestly it is. It's scrolling left and right under joystick control with some spiffy inertia which takes the initial speed of 1 pixel per 50th and accelerates it up to an amazing 8 pixels per 50th of a second (which is only eight times faster than Creatures 1 & 2, grin).
There are, however, a few bugs which need fixing, with one of the nastier ones only occurring every couple of days. I hate it when these pop up because you can't always tell if you've fixed them as you have no idea when they will happen next. But anyway, at least most of the scrolly code is done now, giving us a rough idea of how the game is going to feel.
STEVE: These graphics are looking better every day, A lot of the stuff added in the last week has been designed around geometric shapes. For example, some of the platforms are based on triangles and pyramids. Some bushes and clouds are based on large circles. These basic shapes are quite effective, and relatively console-esque. This level, so far, also has a fair amount of chequered backgrounds. I still need to add some more colours to these graphics. I'll have to think of something to make it more cheerful, like smiley faces everywhere.
It's a shame it's Friday afternoon already, as this means that tonight we will engage in our weekly ritual of guzzling gallons of alcoholic beverages. (I so look forward to the weekend.)
JOHN: This week is player interface week. Yep. I've been teaching Mayhem to run, jump and fall around the landscape. I've also written the 'charge-mode' routines. Mayhem normally walks around at a maximum of 3 pixels per 50th of a second, but pressing fire activates his charge-mode, causing him to charge at the mega-speed of 8 pixels per 50th of a second. As he charges he leans forward (with some radical animations which blur his feet because of his immense speed) and sticks his horn out (ooer). This will be used to impale his adversaries, but only when he's charging. Normally he must jump on the bad guys to kill them. (Now, where have I seen that before?)
With Mayhem jumping around now we're getting a pretty good idea of how user friendly the game will feel. It shouldn't feel sluggish or unresponsive. Mayhem should do what you want him to do, when you want him to do it. Which luckily, he does. We call this the User or Player interface. I just need to make the minimum distance he walks when he swaps directions smaller, ho hum...
STEVE: I'm taking a break from the level graphics to do some Mayhem music. There were lots of pieces of music written for Creatures 2 that were never used, a few of which could be adjusted slightly to make them good enough to use in Mayhem. Others will be started from all sorts of inspiration. Be it at a club, singing in the bath, on the... whatever. I have started a bit that was loosely based on the music on the Creatures 2 demon screen message print, and it's pretty good, too.
I spent the second half of the week designing a new game font. It's all in upper case, though the idea of having upper and lower case in the same font was in contention. We decided against that, though, because all the letters and numbers will be designed using four characters (arranged in a square), and with around 70 of them to draw (A to Z upper case, a to z lower case, 0-9 and some punctuation), there wouldn't enough characters in the C64 character set to be able to come up with the amount of combinations we would need. The font wasn't finished by the end of the week, but it should be ready so that you can have a sneak preview next month. (Can you stand the suspense?)
Ian Cyclopedia's Guide to Speed and How to Handle it
The Rowland 'Boyz' (although it's against my nature to use such abuses of language, in this case I will bow to their lexigraphical preferences) have been using a lot of expressions like '3 pixels per 50th' this month. What do they mean? Well your TV updates its screen 50 times a second and the Boyz can tell your C64 to do the same thing. This means that if a sprite moves one pixel every 50th, in one second it would move 50 pixels. If a sprite moves 2 pixels per 50th then in a second it will move 100 pixels, and so will appear to be travelling faster.
When the Boyz' say that they're scrolling the entire screen at 1 pixel per 50th, this means that all the platforms will move a distance of 50 pixels in a second (as with Creatures). But when they mention speeds of 8 pixels per 50th the platforms will be moving at a whopping 400 pixels per second. In other words, Mayhem is going to be an outstandingly fast game. You're going to need very fast reflexes to survive.
The Saga Continues
Check out issue 28 for the next excellent installment. Yes siree, we'll be back in 30(ish) days with yet more frivolous details of Monsterland production. Ranging from the creation of the new levels through to getting Mayhem to run up slopes and ending up in our usual Friday night state of inebriation.
If you have any idea what should go in this box, please let me know! :)