Jump to content
IGNORED

How did Ms.Pacman have multiple ghosts on screen?


Recommended Posts

People often complain about how the original Pacman had flickering ghosts, Sure, it's certainly a problem but at least I can understand why. It's because they only had two sprite reset registers and so they had one for Pac-Man and one for the ghost and would switch out which ghosts would display so they could give the illusion of multiple ghosts, which gives me another question, how where they able to get rid of this problem in Mrs. Pac-Man?

Link to comment
Share on other sites

Someone else can give a more detailed technical explanation, but the gist of it is that the 2600 has no video memory and renders the screen scanline by scanline. By keeping track of where objects are and what part of the screen is currently being drawn, it is possible to "re-use" sprites farther down the screen. As long as no more than two sprites are in the same horizontal space, it can be done without flicker. Even in Ms. Pac-Man the monsters flicker when there are 2 or more lined up horizontally.

 

This isn't a new technique that was discovered after Pac-Man. It's been used since the beginning to display scores (the 2600 doesn't have a built-in character set, so sprites have to be used to show scores) and rows of aliens in Space Invaders, but Tod Frye didn't have time or ROM space to implement better flickering and include everything he and Atari corporate wanted in Pac-Man.

Edited by KaeruYojimbo
  • Like 2
Link to comment
Share on other sites

Both are so much fun, though. When I was looking at arcade games to play, Pac-Man was good and quick while mom was waiting for groceries to be bagged. Pac-Man and Ms. Pac-Man on the VCS were fun babysitters that really got played way waaaaay more than arcade games for us. If you want to see what greatness can really be squeezed out using today's programming methods and things like Visual programming and Harmony carts with DPC+ support you could try 4K Pac-Man or Pac-Man Arcade Enhanced.

 

Some of my favorite games today are the graphical hacks of 2600 latecomers like Xenophobe, Commando, Rampage, etc. The hacks available on AA make these games excellent and you won't want to go back to the old carts once you've changed up. The massive overhaul of color in Xenophobe, for instance, would have put it above several other versions back in the day. Most would disagree with such a statement when comparing such a seemingly downgraded title. When you see the other home offering of many of these games (the NES version was full of weird later-level and other-game stuff with off colors and tons of inner ship teleporting) and their lack of real original game-play, it makes the system shine.

 

People think Pac-Man sucks for the VCS but we all have to admit that it got played a whole heck of a lot. Ms. Pac-Man was a pretty big improvement, sure. Moving prizes, better sounds, cleaner looking ghosts.

 

It's all what could be squeezed out of what was meant to be the next multi-pong fly-by-night Magnavox copycat. Copying the player 1 sprite over and over again is really how it's all done.

  • Like 1
Link to comment
Share on other sites

To position a sprite, you need to count off cycles from the start of a new scanline and then perform a write to its reset register. Even this is not sufficient for a smoothly moving sprite, tho...so an additional horizontal position register must be written for fine positioning. The principle is the same whether there are 2 sprites onscreen or 20. The catch is that you need time to carry out the displays other aspects if you are repositioning sprites mid-screen.

  • Like 1
Link to comment
Share on other sites

The ghosts are smaller, too. This may have something to do with there being less 'flicker'. The amount of time for the two recreations of the second sprite (player 1) on the same scanline would be less, due to the smaller sprite. I still favor the chinky sounding pellets in the 7800 Ms. Pac-man. I often wonder why Ms. Pac-man ever divorced uh, Mr. Pac-Man!?!

She's an awesome power woman of the eighties who eats green M&M's and drinks Diet Coke, okay? She wears high heels even though they are proven to gradually degrade your Achilles tendon over time! She can do what she wants!

 

You could easily make your own Mrs. Pac-Man game using the Multisprite kernel and Visual Batari Basic. They could decide that child support is too much of a hassle and that Mr. Pac-Mans, uh.. problems are too much to deal with, so just get remarried to another Pac and be a Mrs again. It relieves that harpy-like moniker of Ms. that the eighties favored to loose up the wallets of pre-feminists.

  • Like 1
Link to comment
Share on other sites

People often complain about how the original Pacman had flickering ghosts, Sure, it's certainly a problem but at least I can understand why. It's because they only had two sprite reset registers and so they had one for Pac-Man and one for the ghost and would switch out which ghosts would display so they could give the illusion of multiple ghosts, which gives me another question, how where they able to get rid of this problem in Mrs. Pac-Man?

 

Notice how Air-Sea Battle can have just as many objects and does not flicker?

 

post-44582-0-93697800-1494759539.jpg

 

This is because televisions (and Atari) draw the screen very fast (not instantly) from top to bottom. As the screen is drawn here, one of the players is not only re-drawn, but also redrawn in a different shape and position for each occurrence. So as Atari goes down the screen, it draws the same player over and over, in different shapes and positions, just a little bit ahead of the TV's electron beam.

 

So, if any of these objects were to move up or down to the same level of another, it wouldn't work- as you know, it's only one object in Atari's register.

 

Pac Man' ghosts move up and down so instead (as you mentioned), it flips back and forth each TV frame between 4 different ghost locations for the one ghost sprite,and you can see that each ghost only appears once every four frames.

 

Ms. Pac Man uses the first technique whenever everybody is on a different line, but when it the program detects multiple ghosts on the same line, introduces the second technique. You can see flicker in Ms. Pacman, but only on these occasions.

 

Further, (I think) Ms. Pacman puts Ms Pacman herself into the mix, so if two ghosts are on the same line, Ms. Pacman's sprite changed and used for one of them so no flicker is necessary even then. So when there are 3 object on the same line, only then do we need to start alternating frames (flickering).

  • Like 4
Link to comment
Share on other sites

I run into these limitations all the time when programming Street Fight World and pretty much all of the other games I've made. Not Titan Axe, though. I wanted ZERO flicker in my first published work, so there are never more than three sprites (now that you mention it) at any time, anywhere sharing the same horizontal row.

 

With Street Fight World it is a big deal as I control the fireballs (they HAD to be extra instances of the player 1 sprite, or whatever sprite they were sprouting out of). With these horizontal limitations and the overall speed limitation of the VCS I'm left with two different ways of creating 'fireballs'. For my Ryu clone I recreate the sprite once while zooming and halving the character all at once. This gives me the little Pac-Man-blue-blinky-ghost-fireball I like for my Ken and Ryu clones and cuts down on flicker. For my Sakura clone I actually use one of the extra DPC+ kernel sprites while constantly redrawing both hot little halves of Blossom.

 

There are virtually always four sprites cycling around to create the extra large characters (two halves being updated all the time) 'cept when a fireball has just disappeared and Way and Edge are still updating to the 'two-halves' sprites (necessary for color variations in the full character image), although I've worked around the 'everything-is-a-line-on-Atari' problem as well, by layering sprites to create more colors as they are covered, like in my Zonic (Sonic clone) demo, where there are a LOT of COLORS for the main character, and multilayered and multicolored enemy sprites.

 

I know about these shaved tiger sprites, man...

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

Air Sea Battle is not a valid comparison because that game has rows of objects which utilize the NUSIZE feature which allows 2 or 3 duplicates of a single Player, but all of those move together, as evidenced in Combat with the 3 fighter against a single bomber game options. . PAC-MAN games require four enemies that came move around and even pass over one another, which you can;t do with the same technique as employed by Air Sea and Combat.

Link to comment
Share on other sites

Frame based multiplexing may yield better results over scanline based multiplexing when only four sprites are required as demonstrated in this prototype.

kc_proto_SuperCharger.bin

One big advantage is there is no flicker when the sprites are on the same scanlines which occurs frequently in maze games.

Another advantage is that characters (and backgrounds) can be animated clearly at 30 FPS, if they were rendered every frame there would be a blurry double image effect at that speed.

 

Link to comment
Share on other sites

Don't know what you mean...there are no more than 2 players on any frame. The flicker is not eliminated, it's just less frequent than Atari's Pac-Man "ghosts" (30hz vs. 15 hz).

 

But you probably had to step through the frames in Stella to be sure; it's very hard to see 30 Hz flicker compared to 15 hz flicker, particularly on an old school Television which has phospor rated for 30 Hz.

 

I don't percieve any flicker with 30 HZ sprites but I can see a lot of flicker when MS Pacman's sprites are on the same scanlines.

 

In a completely dark room, a sufficiently dim display can run as low as 30 Hz without visible flicker

https://en.wikipedia.org/wiki/Flicker_(screen

 

I think 30 hz would have been a better choice for Pacman, but it would have limited it to three ghosts as some contemporary versions did.

 

My other observation was that another type of flicker can be avoided when fps of animation matches hz.

Link to comment
Share on other sites

Perception shmeption, that is not what you wrote.

One big advantage is there is no flicker when the sprites are on the same scanlines which occurs frequently in maze games.

 

I'd say that this does it worse, since at least Ms.Pac-Man ATTEMPTS to multiplex the characters on any given frame. But what do I know?

  • Like 1
Link to comment
Share on other sites

Perception shmeption, that is not what you wrote.

 

I'd say that this does it worse, since at least Ms.Pac-Man ATTEMPTS to multiplex the characters on any given frame. But what do I know?

 

Problem is you can't get something for nothing, and below 30 hz you've got visible flicker thus frame based multiplexing at 30 hz looks better than scanline based multiplexing below 30 hz. If Ms Pacman did scanline based multiplexing at 30 hz you would have a good argument.

 

My other observation was surprising since we expect 60 hz to follow the same rule and always flicker less than 30 hz - compare Defender III to StarBlitz and you can see the large text, the buildings and characters all have fuzzy flicker at 60 hz which is entirely absent at 30 hz.

 

Defender_III_v1.bin StarBlitz_Double_Fun_V2.bin

Link to comment
Share on other sites

 

But you probably had to step through the frames in Stella to be sure; it's very hard to see 30 Hz flicker compared to 15 hz flicker, particularly on an old school Television which has phospor rated for 30 Hz.

 

I don't percieve any flicker with 30 HZ sprites but I can see a lot of flicker when MS Pacman's sprites are on the same scanlines.

 

In a completely dark room, a sufficiently dim display can run as low as 30 Hz without visible flicker

https://en.wikipedia.org/wiki/Flicker_(screen

 

I think 30 hz would have been a better choice for Pacman, but it would have limited it to three ghosts as some contemporary versions did.

 

My other observation was that another type of flicker can be avoided when fps of animation matches hz.

Mr SQL, some of us do percieve 30Hz flicker. To me, 50Hz flicker is bad, 60Hz flicker is on the cusp of being noticeable, and 70Hz flicker is undetectable. I used to run my CRT monitor for my PC at 75Hz bitd before flat panels came along and everything got fixed back to 60Hz because flat panels didn't flicker. I am glad I did not raised in PAL territories, because I don't think I would have tolerated the 50Hz CRT TVs there very well. I knew guys in my early days of college who refreshed their monitors up to 100Hz to reduce eye strain, so to claim that everyone can't detect 30Hz or 60Hz simply because you can't is a bit short sighted.

 

30Hz flicker is just nausiating as is the 15Hz, 25% duty flicker of the ghosts in VCS Pacman. 30Hz sprite flicker is okay to use when necessary, provided large areas of the screen aren't flickering (ie playfield). A couple of sprites flickering at 30Hz don't bother me. The whole screen doing that is like clockwork orange level of eye torture forcing myself to look at the screen.

  • Like 3
Link to comment
Share on other sites

Mr SQL, some of us do percieve 30Hz flicker. To me, 50Hz flicker is bad, 60Hz flicker is on the cusp of being noticeable, and 70Hz flicker is undetectable. I used to run my CRT monitor for my PC at 75Hz bitd before flat panels came along and everything got fixed back to 60Hz because flat panels didn't flicker. I am glad I did not raised in PAL territories, because I don't think I would have tolerated the 50Hz CRT TVs there very well. I knew guys in my early days of college who refreshed their monitors up to 100Hz to reduce eye strain, so to claim that everyone can't detect 30Hz or 60Hz simply because you can't is a bit short sighted.

 

30Hz flicker is just nausiating as is the 15Hz, 25% duty flicker of the ghosts in VCS Pacman. 30Hz sprite flicker is okay to use when necessary, provided large areas of the screen aren't flickering (ie playfield). A couple of sprites flickering at 30Hz don't bother me. The whole screen doing that is like clockwork orange level of eye torture forcing myself to look at the screen.

All good points Stardust but that also means some of us need to step through the frames in the emulator to percieve 30 hz flicker, I certainly am one of those.

 

Regarding your clockwork orange analogy compare the two examples I just posted - how does the 60 hz flicker compare to the flicker you are able to percieve at 30 hz? Since we may be talking about a different type of flicker, I see is fuzzy flicker around the text and buildings at 60 hz.

Link to comment
Share on other sites

All good points Stardust but that also means some of us need to step through the frames in the emulator to percieve 30 hz flicker, I certainly am one of those.

 

Regarding your clockwork orange analogy compare the two examples I just posted - how does the 60 hz flicker compare to the flicker you are able to percieve at 30 hz? Since we may be talking about a different type of flicker, I see is fuzzy flicker around the text and buildings at 60 hz.

60Hz is not noticeable at standard definition CRT but it was on VGA. Hard to explain, but when I got my first PC in 1999, I ran my old View Sonic at 70Hz 1152x864 or 75Hz 1024x768. 1152x864 was my preferred resolution as 1280x1024 was fuzzy and the monitor only supported this resolution at 60Hz.

 

I don't notice 60Hz flicker as much on CRT telivisions, but we have a TV that can sync to NTSC50 without rolls from an Atari or N64 running PAL ROMs (with bottom cropped off) and I get a headache trying to watch NTSC50. I tried to play that TAZ game on my N64 but got massive headache and had to quit.

Link to comment
Share on other sites

Air Sea Battle is not a valid comparison because that game has rows of objects which utilize the NUSIZE feature which allows 2 or 3 duplicates of a single Player, but all of those move together, as evidenced in Combat with the 3 fighter against a single bomber game options. . PAC-MAN games require four enemies that came move around and even pass over one another, which you can;t do with the same technique as employed by Air Sea and Combat.

Good Morning,

 

I don't see any evidence of Air-Sea Battle using NUSIZ duplicates (without disassembling it or playing every variation.) Also I did say it was a different technique.

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...