Jump to content
IGNORED

Baby Pac-Man


PacManPlus

Recommended Posts

Some comments of mine:

 

When testing the last binary, I also ran through a non-blue ghost once or twice. But I think this is also able to happen on the original Pac-Man machines... don't know if it's possible on Baby Pac-Man though.

If the pacman maze engine is similar to other games, this behavior is expected.

 

Pacman uses a nearest neighbor approach to determine collision detection. When Pacman and ghost are travelling in opposite directions, and both cross a tile boundary simultaneously such that neither share the same tile on the same frame, collision detection will fail. Because the Pacman engines Bob used in Pacman Collection have a lower resolution tile size on the 7800 (4 horizontal x 6 vertical iirc for 7800 as opposed to 8x8 in the arcade), collision detection misses are slightly more frequent than in the arcade. I did this the other night on my new Pokey sound Pacman Collection from Albert while wrestling with errant turns from hitting diagonals on one of my 8-way arcade sticks. Was on last man too so lucky break for me. |:)

 

Yeah I got some of em set up for four way clover restrictor, just not the little one I grabbed to play with Christmas Eve, that had a Sanwa 8-way octagon in it.

Link to comment
Share on other sites

Thanks guys!

 

@ Kurt - I'm pretty sure its an extra baby, I watched a few videos and when the 'play again' light comes on, an extra baby is added at the bottom of the video screen, and once the ball drains, it switches over to the maze again.

Also, I've put back the 'bounding box' way of checking for collision, so the player shouldn't move through monsters any more. Arcade Baby Pac-Man doesn't use the 'tile' method of collision detection, so you should *never* move through a monster in this game (unfortunately). I thought I might be able to get away with the 'tile' method (because it was faster), but it looks like it's not the case.

 

@Trebor - Thank you for testing it, the fact that you are *now* having controller issues is concerning... If anything this should have made it *more* responsive. I'll put the original back and see if I can figure something else out.

 

I just tried out the new rom. It's looking good! Can't wait until the "pascalator" intermissions are implemented!

Thank you! ...the pacscalator intermissions actually *are* implemented. You only see them when you return to the pinball section after you get to the maze by parking in one of the saucers when the blue light is flashing (i.e. not draining the ball on the bottom).

 

@Bob

 

Bob I will go and recheck out the questions you had, I did all of this in one swoop in a somewhat dark room so there is room for error there, but no problem I will pull the glass tomorrow and get those ironed out. No problem!

 

The extra baby thing has got me puzzled, I will open the back tomorrow and check my DIP switches as mine is not awarding another baby or even ball but I think that is an option, I will figure that out tomorrow as well.

 

Were you going to implement the ambient sounds of the pinball? I recorded the sound the playfield makes in the background which seems to add a nice dimension that the 7800 might benefit from.

 

Are there any sounds you would like to me record for you for that matter?

Thank you! Regarding sounds, let me see how much room I have left. Right now I have 4K left (from $A000 to $B000) and I was hoping to put back the 'alternate' half invisible mazes that I took out for space. I may re-use a few sounds from the maze part in the pinball section if I run out of room. I'll let you know, and thank you again.

 

Thanks, guys

 

Also, assuming the 'tilt' has no bugs :ponder: I've got the following left:

- Extra Baby at 10,000,000

- Sounds

- Review controls

- Add alternate 'half-invisible' mazes back in (if there is space)

- Random few seconds at first in Classic Monster AI

Edited by PacManPlus
  • Like 5
Link to comment
Share on other sites

I wondered if there would be a way to somehow compress the maps. Right now each map seems to take up 448 bytes. However, the first and last line of code seems to be the same for most of the mazes, so maybe it would save some space to put up a table of different lines, and then the actual maze definitions would be just a sequence of those lines.

 

Then there's many places in the mazes where the same character is put up several successive times. This could be solved by run-length compression if codes that are now unused get used to signify a number of repetitions for the next character that follows.

 

And then there are actually only 3 different mazes, the remaining mazes only differ in color to them. So I don't think each of those variations has to be stored independently.

I would define each maze only once in the code, and then put the characters through different transformation tables depending on the maze number which is on.

 

You already have such a transformation table at the label MAPFLIPD which currently turns the possible maze characters into their mirrored equivalents. What if there was also such a table for the left side, and more tables for the different maze variations? Actually those tables only would need to be there for one side per maze, they just would work roughly the same way.

 

Actually, if the character table is still laid out the way it was in the code you posted back in September, it's even simpler than that because it's not even a transformation table but only some kind of algorithm...

 

Let's assume you have the maps MAP03 through MAP04 as a base for displaying all copies of the first maze with the transformation algorithm running roughly as follows:

 

Transformation from Maze 03 through 05 to Maze 00 through 02:

- If the character is between $E0 and $FF, subtract $20 so that it becomes $C0 to $DF.

Transformation for mazes 03 through 05: none.

Transformation from Maze 03 to Maze 06 and Maze 04 to Maze 07:

- If the character is between $C0 and $DF, turn it into $A8.

- If the character is between $E0 and $FF, subtract $20 so that it becomes $C0 to $DF.

Transformation from Maze 05 to Maze 08:

- If the character is between $E0 and $FF, turn it into $A8.

Transformation from Maze 03-05 to Maze 09-11:

- If the character is between $C0 and $FF, turn it into $A8.

 

See the principle? Seems pretty simple to code, and then you only need three actual maze maps. Actually, there are only two possible transformations - subtract $20 or turn into $A8. So for each maze you just have to define which of the two (if any) gets done for codes $C0 to $DF and for codes $E0 to $FF. Or something similar to that...

 

On, and for the phrase "You earned an extra baby"... would it be possible to write this in the other text color which has the complete alphabet (if the character table still is like that)?

Edited by Kurt_Woloch
  • Like 1
Link to comment
Share on other sites

Hey Kurt:

 

Thank you.

I actually tried that originally, but the issue is that only certain *areas* of the maze are a different color / invisible, and those same maze 'pieces' are used for both normal and alternate color / invisible areas. So I would have to have a way to tell which *areas* within the maze as well should be transformed. I do need to have those mazes defined separately. Also, I don't have enough colors to make the areas two separate sections and just change the color accordingly (which is what I suspect the Arcade version does).

 

Regarding the different color for the 'EXTRA PLAYER' text, unfortunately, no. The color you are referring to is the one that is invisible except when paired with other colors (which is why the dots and energizers are white + another color).

I would have to flip the kangaroo bit just for that screen during the DLI, and I have things pretty stable now - I didn't feel it was necessary to change all that just for two words that appear once.

 

Thanks, Bob

Edited by PacManPlus
Link to comment
Share on other sites

However...

 

That got me thinking. If I define the *standard* maze as the two different color mazes, I might be able to use different translation tables based on maze number and (for instance) the first maze, translate the second color back to the first, or for the partially invisible one translate the first or second color (depending on maze number) to the invisible piece.

 

Hmmm....

 

That could work, as long as the maze outline & monster pen don't share any of the same pieces with the inside of the maze (those are always visible and the same color)... I need to check that (when I get home).

 

EDIT: I just re-read your post... and I got to this line:

 

Let's assume you have the maps MAP03 through MAP04 as a base for displaying all copies of the first maze with the transformation algorithm running roughly as follows:

...and I realized that what I said above was actually what you meant, although I assume you meant MAP03 through MAP05

(yes, I'm an idiot).

As stated though, that will only work if the maze outline doesn't share maze pieces with the inside, as I have no more space in the character area.

 

Thank you again,

Bob

Edited by PacManPlus
Link to comment
Share on other sites

@Pacman Plus: I do not know how many colors you have left to work with in the palette, however maze walls are typically one color for the border and another color for the filled in parts. The mazes that render portions of the walls invisible or alternate colors would assign the third unused color to this effect (assuming the available sprite colors are transparent plus three additional colors like NES). The alternate colored maze parts would need a unique tile set but they could share the color palette of the standard tiles. Either the borders would remain the same and the interiors change color, or the interiors remain the same and the borders change color.

 

So if the background color is black, you could set the border color to black as well and use alternate colors for the interior walls, or leave the wall interiors hollow and use alternating colors for the borders. One caveat to using colored borders with hollow walls is sometimes the RF only or composite modded consoles will bleed the colors a bit, marring the image. My TCL does this with my 7800 but ironically not CRTs. Alternating the solid color inside the walls might be a better strategy. But I don't know what your assignments are for colors.

 

If the pac pellets or text utilize the third color assignment on a shared palette with the wall graphics, rather than an independent palette assigned to pellets and text, that would complicate things somewhat.

  • Like 1
Link to comment
Share on other sites

Well, it doesn't seem to be quite as simple as I wrote above. I just tried to implement it like this in my version of the code, and some characters don't properly change color...

 

here's what the first maze looks like if I let my routine transform Maze 03 into Maze 00:

 

post-8393-0-51272000-1546011592.png

 

And here's what it should look like:

 

post-8393-0-76665700-1546011607.png

So it seems like in this case, in addition to what I'm doing now, character $BE should be transformed to $AE if in the inner maze, but should not be transformed if part of the maze border. Also, characters $E0 to $FE should NOT be transformed if part of the outer border.

 

But I have an idea how to get around this...

 

Since apparently all maze characters have their lowest bit set, this could be used as a flag if this character is part of the outer border or monster pen. If that bit is set a different transformation takes place than for characters where it is cleared.

 

This, however, makes the transfomation more complicated than I thought it would be. For what I wrote above, I was only looking at the characters used for the upper border and the uppermost maze parts, for which my transformation is correct.

 

However, it seems like the other transformation not implemented yet (for the outer border) is even simpler because the outer border and monster pen ALWAYS uses the same characters, so those don't need to be transformed... not even for the monster pen because it also always uses the same characters.

 

So I think it would be best to increase the values of the characters that may be transformed by 1 in the standard map while leaving them the way they are for the outer border and the monster pen, and then subtracting 1 if they don't need to be transformed, or $21 in places where I wrote $20 should be subtracted.

For example, the 3rd line of MAP05 would now look like this:

.BYTE $BA,$00,$E5,$ED,$ED,$E1,$00,$C5,$CD,$CD,$CD,$C1,$00,$EB

The characters BE and AE (or BF and AF if transformable) is a special case apparently because it slightly breaks the rules for the other characters. BE seems to be part of the Ex set and AE is part of the Cx set, so the following rules would apply here:

- Character BE always stays BE (as part of the outer border).

- Character BF gets transformed into BE if E0-FE should not be transformed, into A8 if they should be turned invisible, and into AE if $20 would be subtracted from the E0-FE set.

- Character AF gets transformed into AE if C0-DE should not be transformed and into A8 if they should be turned invisible.

 

And yes, I meant MAP03 through MAP05, not MAP03 through MAP04. And no, you're still not an idiot.

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

I think you're wrong here. If you go back to page 14, post #339, there are all mazes as they appear in the arcade version. What you say is true for Ms. Pac-Man or Jr. Pac-Man, but not for Baby Pac-Man in which each wall has got only one color.

 

@Pacman Plus: I do not know how many colors you have left to work with in the palette, however maze walls are typically one color for the border and another color for the filled in parts. The mazes that render portions of the walls invisible or alternate colors would assign the third unused color to this effect (assuming the available sprite colors are transparent plus three additional colors like NES). The alternate colored maze parts would need a unique tile set but they could share the color palette of the standard tiles. Either the borders would remain the same and the interiors change color, or the interiors remain the same and the borders change color.

  • Like 1
Link to comment
Share on other sites

@Bob

 

After checking my arcade Baby Pac Man I can agree with your corrections you have noticed on my scoring sheet

 

=-=-=-=-

 

Left FRUIT Lane (Is it 500 when when flashing) 500 / 1000 when green light on - I think this one is 500 points, only. <--- You are correct here
From what I've seen, the green light is there to tell the player that the next 'fruits' or 'tunnel' trigger will spot the center arrow. <--- You are correct here
Inner Left Lane lights up inner lane top light - From the videos I've watched, it's the parking of the ball and energizer earned on the corresponding side that lights both the red spinner arrow *and* the yellow light above the inner lane. Are you sure about this? <--- You are correct here
Hitting the 6th time earns you a extra ball - Check, although I believe it's an extra baby, not an extra ball (again, from the videos I've watched) <--- You are correct here. I was thrown off by the manual calling it an extra ball.
Is an Play Again earned by a player being played right after the player and does not go to the next player? - need to check this.
Is High Score to Date Bonus Collected if player beats the current Top Score or gets 10 million points? DIP Choice of No Bonus or scores 50,000 or Lights Play Again - No, I can make it award a bonus baby, as that is one of the settings. A 'free game' setting is moot here. I don't see the point of only giving 50,000 points when you already have 10,000,000 :ponder: <--- You are correct here, your idea is the best one
=-=-=-=-=-=-
Glad you pointed those out to me.. looking forward to checking out your next version.

 

  • Like 1
Link to comment
Share on other sites

Thank you...

 

Updated Rom soon...

 

Also, this:

Is an Play Again earned by a player being played right after the player and does not go to the next player? - need to check this.

 

The 'Play Again' is just a bonus life, the players still alternate whether or not the 'Play Again' light is on, same as earning a 'Bonus Player' after the third maze.

The light follows the player (i.e. there is one setting for each player)

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

Hey Guys

 

@Atariboy2600 - not yet, still working on things... Thank you again for such wonderful work.

 

Hey guys. New version here. Things worked on:

- Controls worked on, hopefully this is it.

- Tilt implemented

- Alternate partially invisible walls mazes added back in.

- Few seconds of random initial movement in 'classic' monster AI mode (to prevent patterns)

 

Things left (aside from any bugs that may be found):

- Sounds. I just watched another video of the arcade game. My God, there are a LOT of different sounds in the pinball part... This one may take me a while.

 

Enjoy.

 

EDIT - Ok, I have to ask out of curiosity... Every time I post a new binary, immediately 11 downloads occur. Now I know that there aren't 11 people sitting in this thread waiting for a new bin every day, so is there some sort of 'auto-download' that happens that is set up? Again, this is just curiosity on my part.

Thanks, guys

BabyPac.A78

BabyPac.BIN

Edited by PacManPlus
  • Like 7
Link to comment
Share on other sites

- Controls worked on, hopefully this is it.

 

A few times over, not one hiccup or missed input at least as fast and as far as maze 6.

 

Ok, I have to ask out of curiosity... Every time I post a new binary, immediately 11 downloads occur. Now I know that there aren't 11 people sitting in this thread waiting for a new bin every day, so is there some sort of 'auto-download' that happens that is set up? Again, this is just curiosity on my part.

There are 26 individuals following this thread. ;)

 

Also, I've known on several occasions while frequenting the forums, ending up replying, downloading, or at least reading a post within a minute or two of it being posted. :)

  • Like 1
Link to comment
Share on other sites

Hey Guys

 

@Atariboy2600 - not yet, still working on things... Thank you again for such wonderful work.

 

Hey guys. New version here. Things worked on:

- Controls worked on, hopefully this is it.

- Tilt implemented

- Alternate partially invisible walls mazes added back in.

- Few seconds of random initial movement in 'classic' monster AI mode (to prevent patterns)

 

Things left (aside from any bugs that may be found):

- Sounds. I just watched another video of the arcade game. My God, there are a LOT of different sounds in the pinball part... This one may take me a while.

 

Enjoy.

 

EDIT - Ok, I have to ask out of curiosity... Every time I post a new binary, immediately 11 downloads occur. Now I know that there aren't 11 people sitting in this thread waiting for a new bin every day, so is there some sort of 'auto-download' that happens that is set up? Again, this is just curiosity on my part.

 

 

 

Looks great. I was wondering, have you taken care of the issue where the launched ball may hit the bumper and then immediately drain because points were scored, so you don't get a re-launch? If so, how was that implemented? Thanks!

 

 

P.S., I'm thinking there are 11 people who have rigged up some kind of notification alarm on their phone or computer, so they come directly after a post.

Thanks, guys

  • Like 1
Link to comment
Share on other sites

@Bob

 

This version looks great! I played it for a while, do the spinners work in reverse? I got a ball to backward though the spinner and it did not activate, I had a hard time getting the ball to go that direction again but wanted to bring it up to you. I was using the right spinner.

 

The bumper not scoring seems to be a perfect trade off for the 3 balls to maze rule, I would not change a thing, I felt the ball was way more fair since scoring in the pin does not happen until you score elsewhere in the pinball play field first. I even bounced the ball all over the place and did not score a point and sure enough when the ball drained I was able to launch it again! Excellent!

  • Like 3
Link to comment
Share on other sites

@Bob

 

This version looks great! I played it for a while, do the spinners work in reverse? I got a ball to backward though the spinner and it did not activate, I had a hard time getting the ball to go that direction again but wanted to bring it up to you. I was using the right spinner.

 

The bumper not scoring seems to be a perfect trade off for the 3 balls to maze rule, I would not change a thing, I felt the ball was way more fair since scoring in the pin does not happen until you score elsewhere in the pinball play field first. I even bounced the ball all over the place and did not score a point and sure enough when the ball drained I was able to launch it again! Excellent!

 

Yes. I got a chance to see an immediate ball drain it and the re-launch works great. Thanks Bob!

  • Like 1
Link to comment
Share on other sites

Thank you for the update! As usual, I tried it as well, and here are my observations...

 

The random seconds at the start (at least for the classic setting I tried) make the game noticeably easier since it gives the player a bit of a break in which it is able to munch more dots before heading for the pinball section, and everytime the maze is re-entered. However, this also makes it harder to develop patterns since the ghosts may end up in places you don't expect them. ;-)

 

I see you've added one sound to the pinball section, which is the spinner sound. I think the spinner sound is a bit too loud, and I also wonder if it should be more "grouly" (different waveform as in my "Waka Waka" version of the dot eat sound). it's also a bit too short and/or not retriggered often enough. In the arcade version, you basically have the spinner sound continuously from the moment the ball touches the spinner until the spinner stops, with maybe one spinner sound at the end where it is not continuous. In your version it's now incontinuous most of the time, that is, the spinner sound stops before it gets retriggered. Also I noticed it doesn't start right away as the ball touches the spinner, but with a delay, which is somewhat irritating since the ball is already somewhere else when the sound comes in.

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