Jump to content
IGNORED

Baby Pac-Man


PacManPlus

Recommended Posts

Thanks, guys

 

@Zylonbane: I am referring to this post: http://atariage.com/forums/topic/278165-baby-pac-man/?p=4105149

I was going to try it that way, until I realized that it would be too difficult for me. If you would like your name removed, by all means let me know.

 

Kurt has some angles down, as well as the preliminary curve up top. I was going to look at it last night, but it ended up being a really bad night for me. (In fact I had started to look at his code/comments, had some trouble following it, and my mind quickly went elsewhere...)

 

I will try again.

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

Thinking about it more... probably I could have. One problem might be my extensive use of temporary variables. In the code I posted here back in June, there were quite a few variables, especially in the multiplication routines, called ResultL, ResultM, ResultH, TempResultL and so on... well, in the source code Bob has found a place for nearly every important piece of data to store, and has almost filled up the zeropage, leaving over only 5 bytes. However, he has also declared the variables Temp0 through Temp15 (all one-byte variables) which are also being used throughout the maze part. Therefore there was no room to declare additional result variables. So I rewrote the code for the multiplication and division routines, and also the code surrounding them, to use the variables Temp0 through Temp13 instead, which does make the code harder to read because it's not that obvious anymore what's the meaning of the temp variable now used. Moreover, even throughout my pinball code, I'm using several temp variables for multiple purposes, sometimes overwriting a temp variable with something different just after it has been read. This also lead to errors on my part where I wrote data to a wrong temp variable and then wondered why that temp variable didn't hold the value it was supposed to have, or I accidentally switched low and high bytes of 16-bit values.

 

If I would have coded this from scratch, I would probably have thought about which variables of the maze portion don't need to be retained while the pinball portion is running. For instance, the position of Baby Pac Man and the ghosts in the maze don't need to be retained because Baby Pac Man always starts out of a defined position (depending on how the pinball part was finished or if it's the start of the game) and the ghosts always start out in the middle. But the code came from Bob and I tried to work within the confines given.

 

Speaking of that, I think my assessment of free ROM was wrong... I thought I had a bit over 1 K to work with, but I overlooked the fact that the part from $9000 to $9FFF is still completely unused, so that would be 4K more, and I'm pretty confident that I could implement the remaining pinball features in this area (given the time needed to work on it).

  • Like 1
Link to comment
Share on other sites

Thanks, guys

 

@Zylonbane: I am referring to this post: http://atariage.com/forums/topic/278165-baby-pac-man/?p=4105149

I was going to try it that way, until I realized that it would be too difficult for me. If you would like your name removed, by all means let me know.

 

Kurt has some angles down, as well as the preliminary curve up top. I was going to look at it last night, but it ended up being a really bad night for me. (In fact I had started to look at his code/comments, had some trouble following it, and my mind quickly went elsewhere...)

 

I will try again.

 

 

My name should be at the Top of that list anyhow (just for being awesome) ;)

Link to comment
Share on other sites

In the code I posted here back in June, there were quite a few variables, especially in the multiplication routines, called ResultL, ResultM, ResultH, TempResultL and so on... well, in the source code Bob has found a place for nearly every important piece of data to store, and has almost filled up the zeropage, leaving over only 5 bytes. However, he has also declared the variables Temp0 through Temp15 (all one-byte variables) which are also being used throughout the maze part. Therefore there was no room to declare additional result variables. So I rewrote the code for the multiplication and division routines, and also the code surrounding them, to use the variables Temp0 through Temp13 instead, which does make the code harder to read because it's not that obvious anymore what's the meaning of the temp variable now used. Moreover, even throughout my pinball code, I'm using several temp variables for multiple purposes, sometimes overwriting a temp variable with something different just after it has been read. This also lead to errors on my part where I wrote data to a wrong temp variable and then wondered why that temp variable didn't hold the value it was supposed to have, or I accidentally switched low and high bytes of 16-bit values.

A tip for next time - make some "local" symbol definitions with meaningful names, equal to those temp symbol names.

 

[other routines and code here]

; 16-bit multiplication routine
ResultL = Temp1
ResultM = Temp2
ResultH = Temp3

 lda #0
 sta ResultL
 sta ResultM
 sta ResultH
 [...]

In addition to readability, this also makes the code more portable, and easier to adjust if you change your mind on what temp variables to use.

  • Like 2
Link to comment
Share on other sites

Between the new '3200' being introduced, and the plethora of other programmers here, you guys don't need me. I'm out. Someone else can finish this. Seriously this time.

I'd argue that you are the reason there's so many other projects and programmers dealing with the 7800 out there. Don't give up!

  • Like 9
Link to comment
Share on other sites

Oh dear... seems like I seriously mis-worded my last posting here. Unfortuntately, as a high-functioning autist, while being good at math, I have a hard time to see the boundaries of what not to say in order not to offend anyone. In this case it seems to me like I tried to make excuses for why my code is as badly readable or understandable as it is, but really ended up blaming someone else for something that went wrong.

 

Bob, I want to apologize for everything I said which might have hurt you, for criticizing any part of your code (I know you told us not to when you posted your source codes in another thread), and for everything I claimed being able to do which I might not really be able to pull off because of time constraints.

 

What would you all think would be the correct way to proceed with this project now?

Link to comment
Share on other sites

I don't think you said anything insulting or offensive, Kurt. You just explained why you used a bunch of temp variables. I'm neurotypical, and it didn't come off as blaming to me.

 

If anything, my suggestion may have been the last "helpful" straw that broke the camel's back. Sort of thinking that's the case, based on the "plethora of other programmers" comment.

 

Let's leave it alone for a while. Even if Bob doesn't want to finish it, I think it's best to let everybody sleep on it, before anybody talks about picking up the pieces.

  • Like 2
Link to comment
Share on other sites

Well... there was a bit more going on behind the scenes between Bob and me. We were trading PM's, and I was sending him multiple iterations of changes to his source code. He was actually always being very nice. However, I just tried to send him another PM, but it doesn't work anymore... it says that he has left our conversation about his source code, and he can't use the messaging system. It almost seems to me like he has left Atariage for good...which is a bit of a pity because he made some more changes (like moving the tunnel and fruit indicators) which would now be lost.

Edited by Kurt_Woloch
Link to comment
Share on other sites

Well, it's fun it I get to do it in a way that's fun for me. For me that would be doing a little challenge every day, but not too much of it... and showing off things often ,-)

 

To that end, I've now decided to post a binary for the first time since I started working on the source code.

There are some changes to the last binary Bob posted, part of which are still Bob's work. The colors in the maze part have changed a bit, and the design of the pinball table also differs notably from the last binary posted.

 

Unfortunately, the pinball part is still far from being playable, but you can now serve the ball by pressing down and watch it go up and bounce around the table a bit. Some of the bounces are clearly incorrect, most notably it will sometimes go through the saucer on the upper left which normally shouldn't happen. It also doesn't react to the flippers yet. In fact I haven't implemented any collision detection for the right half of the table yet, but I still want you to see what I'm up to currently.

 

Anyway, you can try it mutliple times and the ball will go different paths because there's a bit of variation in the direction it will be served.

 

I hope I didn't step onto anyone's toes doing this...

 

BabyPac.A78

  • Like 7
Link to comment
Share on other sites

...

I hope I didn't step onto anyone's toes doing this...

IMHO, it is an excellent example of team work and cooperation. Without Bob's amazing talent, passion for the game and platform, this thread as well as game foundation would not exist. He's done a magnificent job with the maze, bringing much of the graphics and sound together, and coordinating efforts up to this point.

 

It is equally wonderful to see someone taking up Bob's generous offer and running with the source code to finish the second half of what will be a fantastic port and finished product. Looking forward to seeing your expertise on the pinball portion executed fully. Co-development is often a beautiful thing, and here seems to be no exception.

 

Hats off to you both.

  • Like 8
Link to comment
Share on other sites

I ditto Trebor's comments. IMHO, this is Innovative Leasure re-defined in 2018. We are re-living the "Atari experience" live right here on Atariage. The amount of effort (and attention to detail) invested in this title is phenomenal. Progress is progress, and "stepping on toes" should be tolerated. Many thanks to Bob starting this up and Kurt W following through. Always remember, there's no schedule to this project, so take your time! /BBA

  • Like 5
Link to comment
Share on other sites

Based on his frustration in recent posts, and the other times he's left, I'm pretty sure Bob is on a break.

 

The good news is, he just said he was out of this game, and didn't make any permanent comments on the hobby. People should give him the space he clearly wants, and just keep the home fires burning. When it can be a fun hobby for him again, he'll likely return.

  • Like 7
Link to comment
Share on other sites

It looks like he's out 100%, PERIOD: his account here is no longer active. Can't even send him a PM.

 

Based on his frustration in recent posts, and the other times he's left, I'm pretty sure Bob is on a break.

 

The good news is, he just said he was out of this game, and didn't make any permanent comments on the hobby. People should give him the space he clearly wants, and just keep the home fires burning. When it can be a fun hobby for him again, he'll likely return.

We love you Bob. See you when you get back... 8)

limited_edition_you_gotta_love_bob.jpg

large.jpg

No%20question.jpg

image-372.png

  • Like 1
Link to comment
Share on other sites

Well, I was listening to some songs lately which seemed particularly fitting in this context...

This is roughly how I was feeling after Bob left the building... with the "woman" in this context meaning Bob (not sexually, of course!)... and I should now be the "star" continuing with this project.

 

 

And in our context, in the following song the "distance" means the way from what Baby Pac Man is now to a finished product:

 

https://www.youtube.com/watch?v=Cu6ze1wmSxA

  • Like 2
Link to comment
Share on other sites

  • 2 weeks later...

OK, I think it's time to post a new binary. I've worked on this for the last two weeks, and now I've reached an important milestone... the flippers are now working!

 

It's not perfect yet, though, and there are still many bugs, especially in the right half of the playfield which is still pretty much broken. This is most obvious in the right bumper, the upper target area and on the right edge of the playfield. Also, the few sounds I did include are repetitions of the sounds of the maze part, and should clearly sound much different in the final release. Also, the rollovers, spinners and targets are still non-functional, and there's no scoring in the pinball part yet, and also no way to return to the maze part.

 

Oh, and the background color changes currently are there to help debug the game (the color depends on what object handler is being called, which again depends on the ball's position on the playfield) and shouldn't be there in the final release.

 

Still I think this is a substantial improvement over the last binary I posted two weeks ago, so I thought I'd share it with you.

 

BabyPac.A78

  • Like 13
Link to comment
Share on other sites

Good Job Kurt W. True, it's a ton of work you're doing, and it's well appreciated. 12 downloads already so the word is out that there's an update. Good you're doing this and I can simultaneously work my next version of JOUST EGGS EZ OVER. It's hilarious. Hope to have that released within a few days.

 

I tried the pin portion and I'm not very good. On the emulator the ball trigger is cursor down and keys Z and X for flipper control. No points so far, but I guess nobody can get points yet. Seems that the spread between flippers could be too wide for the profile of this game, but that's my opinion so far and I've only tried it for a few minutes. I hope that you don't have to redo the flippers which forces redoing the play field. So you might look real careful at this now to avoid what could come later. Just a suggestion, not trying to tell you what to do.

 

Not to have too many cooks in the house but for those who want to jump into the pinball game straight out, go to address $8CF9 and change A9 02 85 6E to A9 00 85 6E and the play type is set to PIN ONLY at the start of your game.

 

Hats off to Kurt W. You're doing real well !!! /BBA

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