Codetapper's C64 Site

Diary of a Game

The Making of Lemmings Part 1

The making of LemmingsWell, we couldn't help ourselves. Last month we brought you the first instalment of the Batman Diary. This month we decided to go one better, and bring you the gossip on Lemmings as well, courtesy of its programmers (Alter Developments). So, here's the Work In Progress section - we hope you find it interesting and informative. Oh, and there's a mystery prize for anyone who can suss out Roy Bannon - he's a complete loony.

The Programmer

THOMAS MITTELMEYER is the guy who manipulates all the bits 'n' bytes in the right order to ensure those Lemmings walk across the screen.

Tricky level 1: This should be a doddle

Sprite multiplexing the background means the playfield only covers half of the screen

THOMAS: After long (and tedious) discussions with the rest of Alter Developments, we all agreed that I was the best man to do the job. The first thing I did was try out different ways of scrolling the background. I made six demos and then chose the best one - a sprite multiplexer for the background, with the Lemmings 'bobbed' in characters. This method of scrolling enabled me to have 100 of the furry fellas walking around at a reasonable speed, but on the other hand this meant the actual playfield would only cover half the screen - it's impossible to have more than eight sprites alongside each other. Having chosen this way of scrolling, I started to program the bob routine using Lemmings converted from the original Amiga game. When I got them walking, I finished six demo versions which were sent to Psygnosis. When they saw how brilliant the demos were, they offered us the contract - you could say I was one of the happiest men on the globe.

After this brief moment of joy, I had to return to reality and consider the daunting task of creating Lemmings on the C64. My biggest enemy was the memory. Try and fit in 120 animations, background graphics, music and sound effects into 64k of memory and still have space for your code - somehow, I've managed to do so. All the animations featured in the Amiga version can now be admired on the C64 version as well.

Unfortunately, not everything from the Amiga version could be retained - the level size for example. In the 16-bit version of Lemmings, the levels can be up to five screens wide. You could do the same on the C64, but the five screens would fill up the entire memory - so each level had to be reduced to a maximum of two screens. On a more positive note, I managed to save enough memory to include the 'LET'S GO' and 'OH NO' samples.

Another problem was speed, I needed a routine that would enable 100 lemmings to be on screen and check whether they were climbing, digging, blocking, or any of the eight functions they're able to perform, as well as their basic movement - they had to be walking and falling at a reasonable speed too. This was probably the biggest reason for me to choose the sprite-scrolling method, as this doesn't slow the computer down as much as the usual scrolling method.

Taxing Level 1 intro: This should be a doddle!

Taxing Level 1 intro: This should be a doddle!

The biggest help with programming Lemmings was my computer set-up; instead of using only one C64, I linked two together. In the past, I've connected the C64 with a 0-modem link, programming on one and transferring the data to another, to see the result immediately. Nowadays, I've got rid of the cable and use my only working disk drive (the one Remi gave me doesn't work properly) as source for both computers. It's much faster to save the data from my programming computer to the drive, then switch to the test computer and load the data from the drive.

Another big help was the turbo assembler Jeroen Tel rewrote. Instead of the usual 4000 lines, this assembler enables you to program up to 8000 lines and is still compatible with my computer linkup (coz Jeroen uses the same one). You might wonder why this turbo assembler can handle twice as many lines as any other - well that's the down side of it. Jeroen removed all utilities which can be found in 'normal' assemblers. With the Lemmings code already exceeding 5000 lines, I'm glad that JT made this editor - otherwise, it'd take me even more time to program all those routines.

But hey, I've been having great fun being the one responsible for programming Lemmings (especially when the cheque arrived). It's the best project any C64 programmer could wish for. Everybody said it was impossible, and voila! I'm making it possible!

The Graphicer

The second man employed on the Lemmings project was NIKAJ EIJK - he was to be responsible for all the pixels drawn in the game, the one who shapes the Lemmings and the assorted backgrounds.

NIKJA: When I was asked to do the Lemmings graphics by After Developments, I was delighted to have it as my first BIG project. Until then I'd only drawn graphics for some budget games. All the graphics are converted from the Amiga version by Remi, and we were lucky in that the 120 animations came through very well, only requiring some minor patching up. Due to the different graphical resolutions between the C64 and Amiga, such animations tend to become unusable after they're converted. But everything worked brilliantly - the backgrounds being somewhat bigger, transferred particularly well.

The first thing I did was to create a library with all the recurring objects and animations - such as the entry and exit points. With these completed, it meant I could focus on the backgrounds more - there was a lot to work on. Rocks, columns, bricks and other stuff needed to be created - and created well.

Problems occurred while re-designing several levels. On the Amiga, levels could be up to five screens wide, while the maximum the C64 could cope with was two. Because of this, I had to cut out all the unnecessary parts and if the levels still exceeded the maximum of two, I had to redesign and make sure the solution would be the same as the original Amiga level. I found this a real pain with some levels, but luckily most of them could be compacted onto two screens.

A comparison of a typical Amiga vs C64 level

A comparison of a typical Amiga level (up to 5 screens wide) vs the C64 version (2 screens wide)

Animation presented another dilemma, as the C64 screen is built up with characters. Each character is 4 pixels wide and 8 pixels high, the screen is 40 characters wide and 24 characters high. I needed to draw the animations pixel perfect so they'd fit exactly into a set amount of characters. If not, it would be impossible to include all the animations. This isn't merely necessary for the water and lava, but for every single moving object - such as traps and the entry and exit-point graphics. I can remember drawing several levels and when finished I'd tested them, only to find that several items were placed wrongly and had to be moved several pixels. This sort of thing gets really annoying - especially when you've just finished a difficult level.

Speaking of difficult levels, I found the fire and lava stages the most taxing to work out. I only had three colours at my disposal (I needed at least four or five) but I tried my best and I'm quite proud of the result. Another annoyance would be the amount of times I needed to alter a level. Every time I finished a stage and passed it over to Thomas, he'd call me to make some 'small' adjustments. Sometimes, I'd get handed a level back three or more times. The biggest slip-up was when we actually got to playtest 15 levels put together for the ECTS in April. I used black in the backgrounds as a fourth colour, to give extra 'dimension'. However, Thomas programmed the lemmings to fall down if they walked over a black spot, so the result in some levels was that the lemmings got stuck in the background, due to my usage of colour. Rectifying that little error was the hardest task of all. Thankfully, the demos were accepted very well at the show and the whole of the Psygnosis crew were very impressed.

My favourite stage is the BEAST level. Here, instead of the usual Lemmings screens, I used graphics from other successful Psygnosis games - one of them being Shadow of the Beast. This refreshing graphical style makes for a very special level.

At first, I found Lemmings to be the ultimate project, but now I've worked myself halfway through it, I've realised it's also my most challenging project to date, especially considering the limitations I've got to work with. Still, I think I'm doing a great job, and I'll gladly finish it.

The Musician

As Alter Developments didn't have a musician we enrolled another freelancer to work on the Lemmings project. And who would be suited better than JEROEN TEL? Jeroen accepted our offer, so everything you'll hear while playing Lemmings will be done by the master himself.

Tricky level 1: This should be a doddle

Tricky level 1: This should be a doddle

JEROEN: When Remi asked me to do the music for Lemmings, I was working on a CD featuring Nintendo game music. I've been working on it for months, but took a break especially to do the Lemmings music, and I've been doing it with great relish - I didn't see much of a problem in adapting the original Amiga music and converting it to the C64. I'm trying to make the music as cute as the Amiga tunes, but I trying to make them 'funkier', as I feel the simplistic style of the Amiga wouldn't quite have the same effect on the C64 - although I'll try to keep them as sweet as possible. One thing's for sure - it's going to have that 'MANIACS OF NOISE' touch, like my other soundtracks have.

Another point is that I'm limited to using the SID chip sounds on the C64, as well as having to compensate for other '64 limitations (or possibilities, as I would say) in speed and memory. However, recently I was 'given' some extra memory by Thomas for the sound effects. This enabled me to use digital SFX, such as the famous Lemmings samples - in particular, 'LET'S GO' and 'OH NO!' throughout the game. This means the sound effects are combined SID-sounds as well as digitised sounds.

When I'm making game music, I try to adapt it so it enhances the game as much as possible. In my opinion, the correct music and FX make half of the game. If both are linked perfectly, it makes the end product so much more playable. We all know how irritating bad music can be, or even worse... bad FX. Instead of turning the music off, I'll try to make you turn it up louder.

I've done a lot of music, for a lot of BIG titles but you can only wish for a title such as Lemmings. It must be the most eagerly-awaited game on the C64 at the moment, and I'm so pleased that I'm doing the music for it!

Next Month

Next month the diary continues with another in-depth look at programming pleasures and pains as more stages of Lemmings near completion. Well, that's what's supposed to be happening, anyway. Fingers crossed, eh readers?


Series Links

Part 1

Any suggestions?

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