Jump to content
IGNORED

Ghostbusters - Development Diary


TheMole

Recommended Posts

Over the weekend, I finally decided to start working on a new project (I will still finish Alex Kidd someday... I hope...)! And it's one that I've been thinking about for a long time... a port of the original Ghostbusters game by Activision. It's a bit of a marmite-style game, in the sense that you either hate it or love it, but I have super fond memories of playing this on my uncle's C64 when I was around 8 years old and always wished I had something similar on my TI.

 

(apologies for the crappy cellphone footage, Apple decided in its infite wisdom to remove audio recording from Quicktime's screen recorder functionality...)

Here's a better screenshot instead!

1981961722_Screenshot2023-06-12at23_43_40.thumb.png.364d2bfb57caa504c863069ff8a8819b.png

 

I'll be working on it a few hours here and there over the next couple of weeks and should hopefully be able to make some nice progress.

  • Like 28
  • Thanks 1
Link to comment
Share on other sites

If I am correct, the music is from Sega Master System version of the game.  I recommend using something closer to the C64 rendition, especially the slower tempo.  I have been giving this piece a lot of thought over the past few years.

  • Like 2
Link to comment
Share on other sites

8 hours ago, OLD CS1 said:

If I am correct, the music is from Sega Master System version of the game.  I recommend using something closer to the C64 rendition, especially the slower tempo.  I have been giving this piece a lot of thought over the past few years.

You are indeed correct, on both counts. The Master System music is too fast, and it even has the wrong notes in the intro. I'm using it as a placeholder for now, while I work on making my own version in Deflemask:

 

 

 

But that part is slow going, I've never used the program before and the work is kinda tedious, so I plopped the SMS version in there for now.

 

  • Like 4
Link to comment
Share on other sites

So, here are some mock-ups showing some of the game's screens. These are all made in Gimp and haven't been put into the game yet, but should all work within the restrictions of the tms9918a.

house.png.18bd044cfda4020d4f913bc95e90c655.png    map.png.73fd02753ba59b9123df17176b5796f8.png

 

A lot of the inspiration for the graphics comes from the Master System version, but I'm also looking at the MSX and C64 versions closely for each part of the game. Any feedback is welcome!

  • Like 10
Link to comment
Share on other sites

1 hour ago, Asmusr said:

Are you going to draw the rays using sprites?

That's indeed the plan, given that these are supposed to be light effects, I think I can get away with cycling the sprites for a semi-transparant effect and avoid the four sprites per line limit...

  • Like 6
Link to comment
Share on other sites

13 hours ago, TheMole said:

I'm using it as a placeholder for now, while I work on making my own version in Deflemask:

 

But that part is slow going, I've never used the program before and the work is kinda tedious, so I plopped the SMS version in there for now.

Nice work!  Yes, anything but the SMS version :)

Link to comment
Share on other sites

On 6/12/2023 at 10:53 AM, TheMole said:

but I have super fond memories of playing this on my uncle's C64 when I was around 8 years old and always wished I had something similar on my T

Very cool.  I like that you chose a peppy version of the theme song, even if it is temporary, and even if the note interpretation is different.  My memories of the game stem from the C64 back in the day - I loved the digitized speech and especially that laugh just before the intro kicked in. 

  • Like 2
Link to comment
Share on other sites

I found that software sprite rotation... isn't great. I wrote a small test program and found that it caused a lot of blinking that was pretty harsh.

 

FORTUNATELY you should be okay, because it's only horizontal that's the problem. If you only use four sprite (two proton streams and two for the target ghost) you should be okay. You DO have 32 sprites to work with, although I would warn you can't use half-bitmap/enhanced graphics mode in that case, only full bitmap, because the table masks mess up the sprites and you're limited to 8 unique sprites. (If you use 9 or higher, they just repeat the first eight.)

  • Like 2
Link to comment
Share on other sites

23 hours ago, TheMole said:

So, here are some mock-ups showing some of the game's screens. These are all made in Gimp and haven't been put into the game yet, but should all work within the restrictions of the tms9918a.

house.png.18bd044cfda4020d4f913bc95e90c655.png    map.png.73fd02753ba59b9123df17176b5796f8.png

 

A lot of the inspiration for the graphics comes from the Master System version, but I'm also looking at the MSX and C64 versions closely for each part of the game. Any feedback is welcome!

Excellent graphic work! I'm very excited to see the finished product.

 

I would say using a consistent color for the tops of buildings will help users navigate the main map easier; most of the ports only use a limited number of colors anyway.

 

Looking at the MSX screenshots, I'm surprised at how pedestrian it looks. Definitely shoot for the stars; the Sega Master System has a much better appearance.

  • Like 1
Link to comment
Share on other sites

43 minutes ago, adamantyr said:

I found that software sprite rotation... isn't great. I wrote a small test program and found that it caused a lot of blinking that was pretty harsh.

 

FORTUNATELY you should be okay, because it's only horizontal that's the problem. If you only use four sprite (two proton streams and two for the target ghost) you should be okay. You DO have 32 sprites to work with, although I would warn you can't use half-bitmap/enhanced graphics mode in that case, only full bitmap, because the table masks mess up the sprites and you're limited to 8 unique sprites. (If you use 9 or higher, they just repeat the first eight.)

Yeah, if I keep it to one ghost (like in the computer versions), it should be okay. I was potentially thinking about doing multiple ghosts, like in the NES and SMS versions where it could become an issue fast and the only real option then would be sprite rotation. Haven't made up my mind yet on that, so any thoughts are appreciated.

Link to comment
Share on other sites

5 hours ago, adamantyr said:

I would say using a consistent color for the tops of buildings will help users navigate the main map easier; most of the ports only use a limited number of colors anyway.

Looking at the MSX screenshots, I'm surprised at how pedestrian it looks. Definitely shoot for the stars; the Sega Master System has a much better appearance.

 

I'm on the fence about the rooftop colors as well, it does look a little bit overwhelming. I started out with all roofs being dark brown ('cause... you know, apparently in my imagination tall buildings have terracotta roof tiles), which looked meh imho and runs the risk of not popping as much when a building is haunted and starts blinking red. Generally not a fan of this one:

map_redroofs.png.74ad9f75e8040e746ba44aafcfafb0ae.png

 

I tried a whole bunch of colors, and the one that still kinda works for me is cyan (rooftop swimming pools for everyone, I guess!):

map_cyanroofs.png.2d2cb7d3989a4b20c27dcb523e74cea3.png

 

What I like about the multicolored approach is how it makes the hardware look "higher end" than it really is, if that makes sense? There's nothing technically fancy about it, but showing off all the colors in a single screen makes it look more sophisticated in a way... unless people have strong opinions one way or the other, I think I'm going to stick with the multicolored version.

Edited by TheMole
  • Like 3
Link to comment
Share on other sites

13 hours ago, TheMole said:

Yeah, if I keep it to one ghost (like in the computer versions), it should be okay. I was potentially thinking about doing multiple ghosts, like in the NES and SMS versions where it could become an issue fast and the only real option then would be sprite rotation. Haven't made up my mind yet on that, so any thoughts are appreciated.

You could alternate displaying the ghosts and the proton streams each frame.  The ghosts should have an ethereal quality, and flickering every other frame would look great on a CRT.  Same for the proton streams, since they appear unstable and wiggle a lot.  This would allow 2 ghosts and 4 proton streams.  If you allow ghosts on the same line as the player sprites, then you would need some rotation - or swap priority of the ghost and player sprites each frame.

 

How are the traps supposed to work?  Do they shoot out two angled proton streams, which converge at the bottom and close upward... pulling the ghost into the middle and down?

 

This looks really cool.

  • Like 3
Link to comment
Share on other sites

7 minutes ago, PeteE said:

You could alternate displaying the ghosts and the proton streams each frame.  The ghosts should have an ethereal quality, and flickering every other frame would look great on a CRT.  Same for the proton streams, since they appear unstable and wiggle a lot.  This would allow 2 ghosts and 4 proton streams.  If you allow ghosts on the same line as the player sprites, then you would need some rotation - or swap priority of the ghost and player sprites each frame.

 

How are the traps supposed to work?  Do they shoot out two angled proton streams, which converge at the bottom and close upward... pulling the ghost into the middle and down?

 

 

Nah, nothing as fancy as that... and for gameplay reasons, it probably wouldn't be a good idea, might make the game too easy...

Here's how the C64 and Amstrad CPC do it:

ghostbusters-c64-12.webp.0833630d83da47f8b087d410cfdeb1fd.webp

ghostbusters_6.png.a62531ecd3f3d84ffd00de84e8bdcaad.png

 

  • Like 1
Link to comment
Share on other sites

1 hour ago, TheMole said:

 

Nah, nothing as fancy as that... and for gameplay reasons, it probably wouldn't be a good idea, might make the game too easy...

Here's how the C64 and Amstrad CPC do it:

ghostbusters-c64-12.webp.0833630d83da47f8b087d410cfdeb1fd.webp

ghostbusters_6.png.a62531ecd3f3d84ffd00de84e8bdcaad.png

 

I think model after the C64 but lose the center column, go single color, but have it rotate color rapidly between red, blue and yellow. I used color rotation in RoA frequently to zazz up single color sprites at low cost. :)

  • Like 1
Link to comment
Share on other sites

A'ight, map screen up and running with some basic functionality:

 

think I got the player movement really similar to the c64 version, which was much harder than I thought. The c64 version is also a bit finnicky (you see me struggling to take turns at points in the video), I wonder if I should try to make it more "pacman" like in nature and therefore a bit easier? Of course, stress of getting to the right place on the map as quickly as possible once a building is haunted goes well with the finnicky controls to ratchet up the tension... :)

  • Like 14
Link to comment
Share on other sites

I think I have the core ghost catching mechanic implemented. It's not 100% identical to my two main sources of inspiration (SMS and C64), but it comes pretty close, imho...

 

Note that I'm showing a ghost in each location to facilitate testing for now, things like haunted buildings, the PK energy progression and getting paid for catching ghosts aren't implemented yet. Wanted to get the more challenging technical bits done first. It turns out that getting the whole state machine implemented was a bit more challenging than I thought... from laying down the trap (which turns into characters to keep the 4-sprites-per-line limit under control) over positioning the men and ultimately animating the victory or loss condition... all these "phases" are treated as different states in the game engine.

 

Lastly, just wanted to point out that I used Bill Murray's "he slimed me" quote from the movie in lieu of the one used on the C64 to keep the quality as high as possible.

 

Hope you guys like it!

 

  • Like 22
  • Thanks 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...