Jump to content
IGNORED

Baby Pac-Man


PacManPlus

Recommended Posts

That's a great idea actually. A lot of early era pins have the extra wide flippers with the peg in the middle. If you get a sdtm (straight down the middle), you gotta resist the urge to hit the flippers until it bounces back up, otherwise it will go underneath the flipper and drain.

 

The problem is that this would change the design of the table. Bob designed the table as it is now, and I tried to make it work the way he designed it. A baby bumper isn't part of this design, and I don't even have an idea what it should look like. The only thing I could do is to treat the black rectangle at the bottom (which actually lights up when an extra baby gets earned) as if it was a bumper, or I could have it deflect the ball away from the center, towards the flippers. But that's not the purpose which it was included for...

Link to comment
Share on other sites

@Kurt

 

I tested the Flip Flop ball on the Nov 7th release version and I just tested it again just right now to be sure. I was able to hit the flip flop ball within 2 - 3 minutes of playing the game, I do have to say even on my real machine it is not that easy to hit consistently but you do get into a groove and hit it a few times. I also tested that "groove" thing on the 7800 and hit the ball a few times in close succession to each other.

 

I will however go over all of these again once the rest of the game is in there to make sure it still plays ok.

Link to comment
Share on other sites

 

The problem is that this would change the design of the table. Bob designed the table as it is now, and I tried to make it work the way he designed it. A baby bumper isn't part of this design, and I don't even have an idea what it should look like. The only thing I could do is to treat the black rectangle at the bottom (which actually lights up when an extra baby gets earned) as if it was a bumper, or I could have it deflect the ball away from the center, towards the flippers. But that's not the purpose which it was included for...

 

 

@Kurt

 

I tested the Flip Flop ball on the Nov 7th release version and I just tested it again just right now to be sure. I was able to hit the flip flop ball within 2 - 3 minutes of playing the game, I do have to say even on my real machine it is not that easy to hit consistently but you do get into a groove and hit it a few times. I also tested that "groove" thing on the 7800 and hit the ball a few times in close succession to each other.

 

I will however go over all of these again once the rest of the game is in there to make sure it still plays ok.

 

I could do the flip-flop a few times, also.

Link to comment
Share on other sites

The problem is that this would change the design of the table. Bob designed the table as it is now, and I tried to make it work the way he designed it. A baby bumper isn't part of this design, and I don't even have an idea what it should look like. The only thing I could do is to treat the black rectangle at the bottom (which actually lights up when an extra baby gets earned) as if it was a bumper, or I could have it deflect the ball away from the center, towards the flippers. But that's not the purpose which it was included for...

One thing to keep in mind, the purpose of an arcade machine was to hook in the player and gobble quarters. For that, there needed to be addictive gameplay, and a fast turnaround. As an arcade operator, you don't want little Billy Mitchel wannabes running around spending hours on a single quarter / token. Home console ports were typically slightly dumbed down from arcade to give the player more leeway and make the experience less frustrating. However they still need difficult ramps and such to be engaging. Ultimately the player is in competition with him or herself, and playing forever gets exhausting and isn't fun.

 

However I'm all for tuning arcade games for home ports to make them fun. If this means changing the ghost physics to make them less relentless, or closing the gap between pinball flippers, I'm all for it. Many early pinball tables used 2" flippers before 3" became standard. A difficultly setting with slight tweaks (ie novice, hard, "arcade" modes) can make a world of difference. Competitive players looking for challenge or to hone their skills can pick the arcade mode, whereas casual players have additional options.

 

A "baby bumper" option between the flippers might be easier to implement for novice mode as opposed to retweaking flipper physics.

Link to comment
Share on other sites

Hi guys:

 

Let me finish with what I have before we start thinking of any changes... Although I have to admit, I am not keen on adding a bumper. Remember, most pinball games had one or two 'outside' lanes which drained the ball without interference from the flippers. Even Video Pinball has this. Baby Pac-Man does not, and when the flippers are moving, you will notice there are only a pixel or two spaces on either side of the ball.

 

I plan on taking Thursday night to work on getting Kurt's code within mine.

We'll see how that goes.

  • Like 11
Link to comment
Share on other sites

There's a lot of pressure to get these games off our plates. (...) I have 2 games I want to release NOW, but neither are ready. But I slept on it last night and I have a plan of attack I'm working right now. I cleaned up some code and built a new sprite, did the full deal on documentation, and one game is ready to go. (...)

 

Quite frankly Bob solicited your support and you've done a fabulous job. I know Bob is chomping at the bit (and bytes) to get his hands back on the BPM code, but you should be allowed to finish what you need to finish to present your final result to Bob. Housekeeping is essential! It sounds like you have a calculation to completion which must be way under (I hope) 100 hours. JUST DO IT! (...) It's not that important BPM gets launched by Christmas or New Year's. We already have a game we can play with. Oh well, that's just a few of my thoughts. (...)

 

Well, it's fine that you are enthusiastic about your games. As for me, I have several other things on my plate. Yes, I'm looking at well under 100 hours. I'm estimating about 10 to 15 hours to go, but last week I could only spare about 2 hours to continue work on BPM. It's just that if my father is calling, I can't say "I can't visit you in the hospital, I'm working on Baby Pac-Man". So, whoops, some more hours gone and another day where I don't get to continue work on BPM.

 

I don't shoot for a specific release date though, especially given the fact that without my help the game probably wouldn't have seen a release at all (unless someone else would have helped Bob along). As things are going now, I'd be happy if I manage to complete my part by January 6th, which probably leaves some more months for Bob to finish his part, so maybe we're talking about a March or April 2019 release at best, but this is only a rough estimate of mine. It also depends on how deeply Bob needs to look into my code in order to understand everything. The version I gave him, as I found out, still has many rough edges documentation-wise. Especially in the rotation matrix part, the comments don't match up with what's actually happening because I kept the comments as they were in the last version Bob dropped while changing the actual code. However, this is the section I'm just working on, so I think I'll send him another version of the code tomorrow which is a bit farther along.

 

As for the difficulty, one thing that could be easily tuned would be the amount of gravity. But still there's no general difficulty setting in the title screen. There are some settings which somewhat affect difficulty... "Monster AI" and "Rember Energizers"... I think that one also is in the DIP switch settings of the original arcade game. But there is no general difficulty setting. But maybe the game could also poll the difficulty switches for that.

Link to comment
Share on other sites

Don't worry about the bumper, just thought it might make for an interesting "Teddy Bear Mode" addition. Now that there is a working model for ball physics on the 7800, though, might be interesting to look into other pure pin games, to see what's available or create one from scratch. Or maybe as a base for the dynamics in something like Marble Madness.

 

Carry on good bitizens.

  • Like 1
Link to comment
Share on other sites

Ok. I know what's going on. Kurt's using a forced table at $9000 and when I move it to mine it's not at that address (I removed the ORG $9000 because I needed the space).

So I just need to change that small bit of code to use a low/high label #<(PINBALL_COLLISION_MAP) and #>(PINBALL_COLLISION_MAP) instead of direct values.

 

I need to make it relocatable.

 

still working...

 

EDIT - Got it.

Ok, now I can continue.

 

Thanks again to Kurt for doing such a kick-a$$ job

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

Hm... OK. The reason for this forced table is that the calculation of the adress in that table can be as quick as possible since it gets accesed 8 times per frame (on each physics iterations). I'd like to see what you've changed to acess the relocatable version of the table so that I can put that change in my version of the code as well. Remember, mine is not finished yet, I'm still working on cleaning it up and commenting it... right now I'm working on the handlers.

  • Like 1
Link to comment
Share on other sites

Ok:

 

Here's what I did - I commented out one line of your routine, and added the ones after between the ';RPD' lines:

NOREVERSEPOSTABL
;	A should now be a value between 0 and 3D, denoting distance from the left
;	or right edge
	CLC
	STA TEMP2 ;needed for comparison with left/right border and other things
	;			(Temp2 gets used in quite a few handlers for comparisons)
	ASL       ;shift left 3 times to get address in table
	ASL
	ASL       ;this shifts the high bit into the carry
	STA TEMP0 ;store the low-byte of the address
	LDA #$00
	;LDA #$48  ;gets 90 or 91 with ROL, depending on carry
	ROL       ;vector temp0 / temp1 now points to the start of the correct line
	STA TEMP1 ;in the collision table, which will be accessed with y as index
	
	;RPD
	CLC
	LDA TEMP0
	ADC #<(PINBALL_COLLISION_MAP)	; ADD THE LOW ADDRESS OF THE PINBALL COLLISION MAP
	STA TEMP0
	LDA #>(PINBALL_COLLISION_MAP)	; ADD THE HIGH ADDRESS OF THE PINBALL COLLISION MAP
	ADC TEMP1			; FOR THE CARRY
	STA TEMP1
	;RPD
Link to comment
Share on other sites

Hi guys:

 

Ok, WIP posting.

 

Things that I have done:

- Hitting the top ball to the other side awards you energizer 1 or 4, depending on which side you hit it from.

- The far left and right lanes, 'Fruit' and 'Tunnel' now act accordingly.

- The saucers now also give you a letter for 'Fruit' and 'Tunnel', respectively.

- Draining the ball brings you back to the maze, if you are not playing the 'Pinball Only' mode.

 

To Do:

- The game replenishes any energizers you have won on the next maze if you've already eaten them. I need to prevent that.

- Correct behavior for the Drop Down targets (including the free baby one)

- Correct behavior for the lights

- Spinners

- Tilting

- If you drain the ball without scoring anything (up to three times) it re-launches the ball

- Bonus Baby after clearing three mazes

- Scoring in the Pinball section

- Sound in the Pinball section

BabyPac.A78

BabyPac.BIN

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

Some things that occured to me here... I don't know if they're included in the "to-do" list yet, but...

 

- The arrows are supposed to light up one by one when a "Tunnel" or "Lights" row gets completed and award an extra baby if completed.

- Isn't the tunnel working a bit differently than in the arcade? First you have a short section where you move at normal speed, and then you speed up... I think in the arcade it's sped up all the way through.

 

Also, I don't know if you read it in the code I sent, but the upper ball lays a bit high on its rail. Its proper resting position would actually be, I think, 3 or 4 pixels lower, but I couldn't implement it this way because in the code I have, the upper ball is only supposed to be in the upper zones, so putting it lower cuts it off and even distorts some the tunnel and fruit indicators. However, those have now been moved to the bottom, so would there now be a way to allow the upper ball one zone lower so it could get its proper resting position? The "rail" table and some code would, of couse, have to be changed a bit in order to accoount for this...

  • Like 2
Link to comment
Share on other sites

Hey Kurt -

 

Thank you... Yes, I haven't done the lights yet; I kind of had that as a 'given' but I should probably have a cohesive list so I can check everything off.

I replaced the outermost tunnel tile with a 'slow' tile. Hopefully that takes care of the speed issue

 

I'll take a look at the upper ball positioning at some point... Want to get working on the major stuff first.

 

Thank you again for all of your hard work.

  • Like 3
Link to comment
Share on other sites

Question for imstarryeyed:

 

Do the energizers count as dots when clearing the board? i.e. if you have one dot left on the board, then earn an energizer, if you eat the dot first does the board end? Or do you have to eat both the energizer and the dot to end the board? If it's only the dot, I imagine the energizers carry over to the next board?

 

The reason I ask is that I'm trying to know what to do at the end of a level if there are energizers on the screen.

Thanks

 

Also, Here's my 'To Do' list (complete?):

  • The game replenishes any energizers you have won on the next maze if you've already eaten them. I need to prevent that.
  • Correct behavior for the Drop Down targets (including the free baby one)
  • Correct behavior for the lights (arrows, circles, etc.)
  • Spinners
  • Tilting
  • If you drain the ball without scoring anything (up to three times) it re-launches the ball
  • Bonus Baby after clearing three mazes
  • Scoring in the Pinball section
  • Sound in the Pinball section

 

Thanks, guys

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

Ok, I got my answer:

 

The dots only end the board. If you have any energizers left over after clearing the dots, they are carried to the next board. Also, if that is the case, you don't start the board in the middle; you start it coming out of the same pinball drain you did when you exited the pinball portion (assuming you didn't lose the ball).

 

Carrying on...

  • Like 8
Link to comment
Share on other sites

Greeting Bob,

 

Yes it looks like you have your answer already.

 

I think your list sounds just about complete.

 

Are you going for a particular set of DIP switch style settings, I assume the recommended ones in the arcade manual?

 

Do you plan to support any other switch settings perhaps for other modes of difficulty?

 

e.g. Ball can eject without scoring any points from 3 times until lose to infinite chances? (DIP Switch 14 Conservative Setting 3 balls Liberal setting Infinite)

 

Other switches do other features.. I imagine this might be a good way to add levels of difficulty.

 

Thank you again for all of your great work, its super appreciated!

  • Like 3
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...