Session end : 11h59m57s | Hide picture Sexe : OFF | Donations 2024 : 950.48 € |
I was a great fan of the movie Ghostbusters and I also liked the Amstrad CPC/C64 conversion of this movie a lot. After Mastertronics "Nonterraques" it was the second game I ever bought for the Amstrad CPC and the first full priced game I've bought. ("Nonterraques" was 9,99 DM and Ghostbusters was 39,95 DM - a lot of money for me at that time!)
Actually I liked the C64 conversion of this movie somewhat better than the CPC version. The digital speech, the "Ghostbusters" call, the mean laughing and the "He slimed me" speech sounded really cool on the C64. On the CPC was just a bad 1 bit "Ghostbusters" and a equally bad "Hahaha" digital sound.
Also the C64 version had a real title screen with the Ghostbusters "O"-Logo, the Ghosts in the driving sequence were really sucked into that vacuum machine, the Marsh Mallow Man and the Temple Zuul was really big and when you've entered the Temple there was a final sequence where you had to cross the beams. All these features were missing (i.e. title screen, beam crossing) or just badly converted (small ghosts and Marsh Mallow Man) on the CPC.
So I became determined to create a better CPC conversion of this game worthy to be called Ghostbusters. Since I was aware that I might get into trouble by using the original name I called my game "Ghosthunters" instead. (And then I used the original Marsh Mallow Man graphics that I copied from the game in Pause mode! So much for copyright awareness...)
This game was my first big CPC production that used a lot of machine code routines. But since I was such a big fan of the game I was highly motivated and finally managed to re-create most of the original CPC game and add some of my own elements, like a HUGE Marsh Mallow Man (four times the size of the original CPC man), a real Zuul temple and high score table that was saved to disc!
Things I wasn't able to convert were the ghosts in the driving sequence. The car was flickering more than enough already. So I thought when I add even more movable objects to this sequence the whole thing will flicker even more.
I also didn't find a solution for the wobbling beams in the ghost catching sequence, so I used straight beams without animation. The opening of the ghost trap posed another problem. But I solved this by creating extremely bright, flickering colors with some sort of funnel coming out of the trap catching the ghost (or not). The intention behind that was sort of borrowed from the movie: Don't look into the trap! (or on the screen in general).
Another error can be spotted in the city sequence. Since I was (and still am) a very bad graphics designer I've decided to paint the small car once and then turn it into the horizontal position with a small program that copied the pixels from the vertically painted car into a horizontal position. Unfortunately the CPC has an unequal horizontal to vertical pixel dimension so that the by 90 degrees rotated car looked rather slim and deformed. But since I've already set up the street map I've left the deformed car unchanged.
At the end of the game when you've managed to get at least two Ghostbusters beneath the Marsh Mallow Man into the Zuul temple I didn't know what these two guys had to do in the temple itself. I've never seen any C64 player win the game so I never saw what one has to do inside the temple (or rather on top of the temple). I've copied the image of the Zuul temple from a tiny picture on the backside of my original Ghostbusters tape box and so the only thing that the player in my game has to do is to move both players together so that they can cross their beams. There isn't anything the player can do wrong! But at least I have a Zuul temple in my version of the game, even though there's nothing much to do!
The program itself is another interesting thing. It's yet again a mixture of BASIC and machine code. All the sprite routines are in Assembler whereas most of the rest is pure BASIC and can be modified by almost anyone! The painting of the house and the temple Zuul is an machine code program. At first I wanted to use a short BASIC routine to paint these two buildings. After all these buildings mainly consist of different ASCII characters that are painted in different colors or sometimes even in an OR-merge mode over one another.
It turned out that filling the screen with characters in BASIC took way to long so I converted the whole house painting sequence into Assembler and added some lines afterwards in BASIC so that the windows got small horizontal and vertical bars and the shadow of the house was completed with two black filled triangles.
The game consists of two separate programs. The game program was too long to permit a big menu. The memory of the CPC was already used up by the game so I decided to split the game and the menu into two separate programs and have one load the other and pass some data to it.
Another funny thing is the title screen. I didn't want to use regular ASCII characters as font for the title and my "copyright 1998 by odie" message. But since I didn't know how to create multicolored ASCII characters (which is not possible anyway) I created a small plot and draw routine that scanned the regular title and my copyright notice and either added a small white dot to the left sides of any character in the title and some colored dots to the ASCII characters in my copyright notice. Once this adding of pixels was done (after about 2 Minutes. Hey, it was done with BASIC, that takes time such a thing) the colors in the copyright notice started to cycle. (Also the colors in the high score table were cycling).
As you can see the program was rather crude. But after all this was the first big game I've written and I still think it was quite an achievement despite all the drawbacks this game has!
Before I wrote that game I actually painted a "Ghostbusters" screen in Mode 1 which I fixed before the original game (after I've transferred it to disk), so that at least there was a screen in the first Karaoke screen at the start of the game. I had to manipulate the program a litte so that it didn't clear the screen at the start of the game, so that my picture stayed on the screen when the "Ghostbusters, hahaha" digisound was played. The original CPC version of this game didn't have any loading or starting screen!
620 IF JOY(0)=4 THEN mautox=mautox-1:zeit%=zeit%+1:cmautox=1:GOTO 700
620 CLEAR INPUT:IF JOY(0)=4 THEN mautox=mautox-1:zeit%=zeit%+1:cmautox=1:GOTO 700
960 IF nomen<>1 THEN |SETMINISPR,6,gatex,gatey,2,4:|SETMINISPR,6,keyx,keyy,3,3:IF pk>=opk+263 THEN keyx=keyx-1:gatex=gatex+1:opk=opk+263:SOUND 2,1500,15,5,2:SOUND 4,1500,15,5,2
960 CLEAR INPUT:IF nomen<>1 THEN |SETMINISPR,6,gatex,gatey,2,4:|SETMINISPR,6,keyx,keyy,3,3:IF pk>=opk+263 THEN keyx=keyx-1:gatex=gatex+1:opk=opk+263:SOUND 2,1500,15,5,2:SOUND 4,1500,15,5,2
1610 stift=stift(6):FOR i=6 TO 1 STEP -1:INK i,stift(i):stift(i)=stift(i-1):NEXT:LOCATE #0,3,22:PRINT zeit%
1610 CLEAR INPUT:stift=stift(6):FOR i=6 TO 1 STEP -1:INK i,stift(i):stift(i)=stift(i-1):NEXT:LOCATE #0,3,22:PRINT zeit%
1820 GOTO 1760
1820 CLEAR INPUT:GOTO 1760
570 IF pk>=9999 AND zuul<>1 THEN RESTORE 1180:GOSUB 1090:zuul=1:GOTO 2450
570 IF pk>=4999 AND zuul<>1 THEN RESTORE 1180:GOSUB 1090:zuul=1:GOTO 2450