Jump to content
DaveM

My 1st Homebrew - Mr. Yo-Yo, WIP

Recommended Posts

On 1/27/2021 at 7:39 PM, DEBRO said:

One checking collisions in the kernel...storing the BALL collisions in an array and 1 byte each for the player and missile collisions.

Trying to implement the "Inside kernel collision"...

 

Having an issue with the missile vertical positions.  I saw the kernel setup routine changed, and I thought I got everything, but I obviously missed something.  Not sure what went wrong.

Mr_Yo-Yo_B20210203.bin Mr_Yo-Yo_B20210203.a

Share this post


Link to post
Share on other sites

Just wanted to say i love this game, and its been fascinating to follow the progress here. Can’t wait for it to be all smoothed out! 

7B28C02B-01D9-47B8-97FD-10B273E6450A.jpeg

Share this post


Link to post
Share on other sites
4 hours ago, somebooks said:

Just wanted to say i love this game, and its been fascinating to follow the progress here. Can’t wait for it to be all smoothed out! 

Thanks!  I'm glad you like the game!  It's always nice to hear that others are enjoying it.  And thanks for the artwork!  That made my night!

Share this post


Link to post
Share on other sites

Hi David,

On 2/3/2021 at 10:21 PM, DaveM said:

Having an issue with the missile vertical positions.  I saw the kernel setup routine changed, and I thought I got everything, but I obviously missed something.  Not sure what went wrong.

Couple of things. First the RAM. Comment out (or take away) lines 669 and 670. Next define tmpMissileVertPos as ds 2. tmpMissile1VertPos and tmpMissile2VertPos define these bytes.

 

tmpMissileVertPos       ds 2
;--------------------------------------
tmpMissile1VertPos      = tmpMissileVertPos
tmpMissile2VertPos      = tmpMissile1VertPos + 1

 

Also in the kernel around line 1462 you should have...

   cpy tmpMissile1VertPos     ; 3

I believe you currently the compare with tmpMissile2VertPos

 

This should get the missiles working again.

 

Another thing I noticed is there is another extra scan line after drawing the top cave. I traced it to the vertical position of the top obstacle. It seems that sometimes when the top obstacle isn't present the vertical position is 23d. This causes the top kernel timing to go over. The kernel counts assumes you are not drawing the obstacle when you are done drawing with this section. You might want to look for how this is being set. If the obstacle isn't present then you could set their vertical position to a safe -1.

 

The other thing is the "bouncing" is writing into the cave drawing. I'd think you'd want the obstacle to bounce above the cave? This might also be solved if the obstacle didn't bounce into the cave drawing area.

Share this post


Link to post
Share on other sites
12 hours ago, DEBRO said:

This should get the missiles working again.

Changes made, and the missiles appear to be working again. Thanks!

 

12 hours ago, DEBRO said:

Another thing I noticed is there is another extra scan line after drawing the top cave. I traced it to the vertical position of the top obstacle. It seems that sometimes when the top obstacle isn't present the vertical position is 23d. This causes the top kernel timing to go over. The kernel counts assumes you are not drawing the obstacle when you are done drawing with this section. You might want to look for how this is being set. If the obstacle isn't present then you could set their vertical position to a safe -1.

I went through the code, and wherever I could find the code removing an enemy, I've set it to also set that enemy's vertical position to -1.

 

12 hours ago, DEBRO said:

The other thing is the "bouncing" is writing into the cave drawing. I'd think you'd want the obstacle to bounce above the cave? This might also be solved if the obstacle didn't bounce into the cave drawing area.

Yes, you are correct.  That was a bug that creeped in there when I was trying to adjust all the code to fit the new kernel.  I was setting the obstacle's vertical position improperly.  It was comparing the vertical position to the bottom of that area, but if it got lower than that, it wasn't resetting it to the proper value.  That caused the bouncing Notelies to fall right into the cave walls.  I think I've got that fixed now.

 

I think all these bugs are fixed.  The missiles look good, and I'm not getting an extra scanline anymore (if anyone else sees extra scanlines creep in there, please let me know).  There's still one bug, but it's been in the game a long time, and I'll try to figure this one out.  Sometimes when Mr. Yo-Yo returns to the top of the screen to release a Notely, Mr. Yo-Yo will shift to the right a bit.  I think that's a REFP1 setting issue.  I'm not too concerned about it right now, I'm going to try to fix it before the next playable demo is ready.

 

If all goes as planned, over the next week-plus, I'll finish putting the collision logic in there, and then work on getting the game back to a playable state, so we should have a 1 player demo ready relatively soon.

Mr_Yo-Yo_B20210205.zip Mr_Yo-Yo_B20210205.bin

Share this post


Link to post
Share on other sites

I decided to go with a hybrid solution for the collision detection.  I'm checking for the player collision within the kernel, and checking the missile and ball collisions outside the kernel.  This ended up saving me a lot of RAM, which I'm running desperately short of.

 

However, I have two small bugs that cropped up, that I just can't seem to solve.  The first is there is now an occasional gap between the string and the Yo-Yo, as seen here:

335913096_StringGap.jpg.255f2b7d15a92eb3b22a4dd72af4a785.jpg

 

This does not appear all the time, but if you hold the button down and just sit at the bottom, it will pop up.  This occurred after I added the collision logic, which resides at lines 1265 and 1615.  I can't figure out what's causing it or how to fix it.

 

The 2nd bug is that the blue bouncer enemies (the fish-looking guys) will occasionally slip through the string instead of bouncing off of it.  If you open the attached binary, hold down the button from the very start, and keep holding it down.  You'll hover at the bottom as blue fish start appearing above you.  Shortly, the bottom three lanes will have the fish, and after a couple bounces, all three will slip through the string, rather than bounce off of it.  The string is the ball object, and my ball object collision logic starts at line 3534.

 

For those of you that have followed this game closely, you may notice the cave looks a lot different in the above pic.  I'm experimenting with three different designs.  The one I've been using up until now was done more or less out of necessity.  The gaps in the cave walls were used in the previous kernel for other purposes.  But with a new kernel, I no longer have to stick to that design.  So I'm looking at three possible designs.  Let me know which one you like best.  If I knew how to set up a poll, I would, but I'll go with just the pics here and if you have a favorite, please reply and let me know.

 

First, the old design:

617252432_NormalCave.jpg.9eaf3687430396958001e066e3321b95.jpg

 

Second, the same basic design with the gaps filled in:

1034043481_SolidCave.jpg.c75fcfa1702520949b4c8f8b6f23aa74.jpg

 

And finally, a new design meant to look a little more like an actual cave:

1465598592_NewCave.jpg.ed02b7f9ae33270502667098d32f8063.jpg

 

Which one do you like best?

 

 

Mr_Yo-Yo_B20210213.zip

  • Like 2

Share this post


Link to post
Share on other sites
1 hour ago, DaveM said:

And finally, a new design meant to look a little more like an actual cave:

 

Definitely the one with the cave features, it has a more interesting texture to it, and the old design in second place.

 

- James

  • Thanks 1

Share this post


Link to post
Share on other sites
18 hours ago, ZeroPage Homebrew said:

Definitely the one with the cave features, it has a more interesting texture to it, and the old design in second place.

 

- James

Agree (and I usually lean towards keeping things simple).

  • Thanks 1

Share this post


Link to post
Share on other sites

Hi David,

On 2/13/2021 at 6:51 PM, DaveM said:

I decided to go with a hybrid solution for the collision detection.  I'm checking for the player collision within the kernel, and checking the missile and ball collisions outside the kernel.  This ended up saving me a lot of RAM, which I'm running desperately short of.

I think we can reduce the RAM usage if needed.

On 2/13/2021 at 6:51 PM, DaveM said:

However, I have two small bugs that cropped up, that I just can't seem to solve.  The first is there is now an occasional gap between the string and the Yo-Yo, as seen here:

I couldn't recreate this so not sure of the cause. Does this only occur in the new design of the Cave graphics? I do see your frame line count isn't consistent. It looks to fluctuate from 259 to 260. This may be the cause. I haven't determined the root of this at the moment.

On 2/13/2021 at 6:51 PM, DaveM said:

The 2nd bug is that the blue bouncer enemies (the fish-looking guys) will occasionally slip through the string instead of bouncing off of it.

I have been able to recreate this one. This is occurring because your collision routine is not testing all enemies for touching the string. Your routine stops of jumps out once the first collision is found. The string is a special case where a collision could occur in all zones. I mainly see this occurring when an object above a Blue Bouncer collides with the string. Your collision routine identifies the top most collision and ignores the rest allowing the Blue Bouncer to pass through.

On 2/13/2021 at 6:51 PM, DaveM said:

Which one do you like best?

I prefer the new design. Nice 👍

 

  • Thanks 1

Share this post


Link to post
Share on other sites
9 hours ago, DEBRO said:
On 2/13/2021 at 4:51 PM, DaveM said:

I decided to go with a hybrid solution for the collision detection.  I'm checking for the player collision within the kernel, and checking the missile and ball collisions outside the kernel.  This ended up saving me a lot of RAM, which I'm running desperately short of.

I think we can reduce the RAM usage if needed.

Yes, that sounds good.  I'm going to need the RAM for variables to store the 2nd player's data once the 2 player option is added.  I realize that I'll be able to combine multiple data points into one variable (for example, the inactive player's lives remaining and level number could be combined using the high and low bits of the same variable, then separated out when the players change), but I figure I still need a good 5 bytes to store the data for the inactive player.

 

9 hours ago, DEBRO said:

I have been able to recreate this one. This is occurring because your collision routine is not testing all enemies for touching the string.

Yes, I thought testing for one collision per frame would suffice, but it obviously doesn't.  My thinking was that the lower obstacle would still be in contact with the string one frame later, so it's collision would still register.  Guess not.  What puzzles me though is that I get the same error sometimes when there's only one obstacle on the screen.  They'll still sometimes slip through.  Oh well.  Either way, my string collision solution didn't work.  

 

I'm quite happy with the player and missile collisions, so if we can come up with a string collision routine that doesn't involve eating up RAM, that would be ideal.

 

9 hours ago, DEBRO said:
On 2/13/2021 at 4:51 PM, DaveM said:

However, I have two small bugs that cropped up, that I just can't seem to solve.  The first is there is now an occasional gap between the string and the Yo-Yo, as seen here:

I couldn't recreate this so not sure of the cause. Does this only occur in the new design of the Cave graphics?

No, it occurs regardless of the playfield.  It's not constant.  The best way to see it is to just descend to the bucket at the bottom, stay there in one place, and closely watch the string.  The gap will appear for a few frames every now and then.

 

9 hours ago, DEBRO said:

I do see your frame line count isn't consistent. It looks to fluctuate from 259 to 260. This may be the cause. I haven't determined the root of this at the moment.

Now this worries me, because I'm showing the game is running at a constant 262.  I really thought everything was solid as far as the frame count is concerned.  Not sure why I show 262 and you're getting a fluctuating total.

 

I have made a few more updates with the attached file:

  • The intermission has been repaired, and now works with the new kernel!
  • I think I've got all of Mr. Yo-Yo's special little facial expressions working again.  
  • The "Yo-Yo shift" error I mentioned a few posts back that occurs when the player rescues a Notely has been resolved.
  • And since the new cave design appears popular, I went ahead and added it to this ROM.

The game is mostly playable now!  However, there's still a number of tweaks left to go, and of course, we have to fix that string collision issue.  Also, the hoards of Blue Bouncers you get on the first screen are there only so that I could test that string collision better.  Once the game is working properly, they won't start showing up until the 3rd round (and there won't be quite as many either).  So, those first couple rounds right now are going to be a lot tougher than normal.

Mr_Yo-Yo_B20210215.zip

Share this post


Link to post
Share on other sites

I think I got the string collision problem resolved.  Added some logic starting at line 3639 that compares the bottom of the obstacle to the top of the Yo-Yo, and if the Yo-Yo is further down the screen, it loops back through the collision check.  This seems to have fixed it.  That's a few more compares and branches than I'd like to have there, but it works, and according to what I have, I'm still clocking at 262 lines per frame.  

 

I'm running a bit short of space in my 2nd bank though.  I added a small data array to help with the string collisions, and between that and the extra code, that caused an overflow.  So I had to shift around a bunch of data arrays to free up some space.  Things still look very tight in that 2nd bank, so I don't know how much more I can squeeze in there.  I'll probably need to review much of the code and see if I can make it more efficient before I start adding the final little tweaks to the game.

Mr_Yo-Yo_B20210216.zip

Share this post


Link to post
Share on other sites

Found a few problems with my logic, so fixed them.  My vertical position check was in the wrong place.  I moved it to the start of the loop, rather than the end.  Also added a check to make sure there was an enemy there to begin with.  I was also missing a compare in another part of the code.  For the most part, the game would've run fine anyway, I think, but might as well fix it as it was gnawing at my brain.

 

Going to take a few days' break from the game to take care of other things.  Should have more updates next week as we creep closer to the finished product.

Mr_Yo-Yo_B20210217.bin Mr_Yo-Yo_B20210217.a

  • Like 3

Share this post


Link to post
Share on other sites

New in this update:

  • Snippers will now speed up if you shoot 2 of them in a round.  Shooting a 3rd still triggers the bonus where the Snippers will no longer spawn and are replaced by coins.
  • Reduced the number of targets you have to shoot in the Bonus Cave from 15 to 10.  I don't know why, but for some reason, the bonus round seems much more difficult now.  I just couldn't get to 15 no matter what.  I'm thinking my old collision detection was just way too generous.
  • There were some bugs I didn't notice before when you collided with or shot a coin or power-up.  I didn't adjust for the new kernel properly.  Those bugs have been fixed.
  • Fixed a bug in the intermission which caused the hat and the Notelies to fly to the right when the Blob appeared on screen.  I didn't notice this before, as I was testing the intermission by triggering it at start-up, which didn't allow for some variables to be set.  So the intermission ran fine at start-up, but during game play, if you reached the intermission, things didn't quite work so well.
  • Various other minor bug fixes and a bit of improved efficiency in some parts of the code.

I also wanted to share some wonderful news.  I don't want to be posting a lot of personal stuff here, and I realize no one here really knows me too well, but this is great news and I'm sharing it with everyone I can.  Shortly after I started development of this game back in September of 2019, my fiancée was diagnosed with ovarian cancer.  The initial prognosis was quite bad.  As far as this game goes, she encouraged me to continue working on it, and doing so has been a nice distraction through a very tough time.  Since it initially appeared her time left was limited, this sort of made me want to get the game finished as quickly as possible (well, I didn't do a good job there).  Along the way, I tried to get her involved in anything I could, so she wrote the little tune you hear during the intermission.  The piece itself is much longer than what you hear in the game, but naturally, I had to cut it down to fit it in there.  Anyway, I did say it was good news...  Last week, we got the word from her doctor that she is now in remission.  Her original doctor gave her virtually zero chance of survival, but fortunately, we found the right guy for the job, and after a lot of chemo and a major surgery, she is now in remission and on the road to recovery.

 

I can now take my time with the rest of the game. 🙂

Mr_Yo-Yo_B20210225.bin Mr_Yo-Yo_B20210225.a

  • Like 8

Share this post


Link to post
Share on other sites

Hi David,

On 2/25/2021 at 11:13 PM, DaveM said:

Anyway, I did say it was good news...  Last week, we got the word from her doctor that she is now in remission.

I had no idea. I'm glad to hear/read she is doing well. This is great news to hear!

On 2/25/2021 at 11:13 PM, DaveM said:

I can now take my time with the rest of the game. 🙂

Great to hear this too. Would you be interested in optimizations and a PAL50 release once you get the game where you want?

  • Like 1

Share this post


Link to post
Share on other sites
Posted (edited)

ZeroPage Homebrew is playing MR. YO-YO on tomorrow's (Tue Mar 2, 2021) stream LIVE on Twitch at 6PM PT | 9PM ET | 2AM GMT! Hope everyone can watch!

 

 

Games:

 

(SET VIDEO TO 1080P60 FOR FULL QUALITY)

 

 

Edited by ZeroPage Homebrew
  • Like 1

Share this post


Link to post
Share on other sites
9 hours ago, DEBRO said:

I had no idea. I'm glad to hear/read she is doing well. This is great news to hear!

Thanks!  Yeah, it's been a rough time, and I just didn't want to talk about it here.  Every day for the past year and a half, anyone who's in my relative vicinity would always ask, "How's she doing?  And how are YOU doing?" and that just gets old real quick.  Since no one knows me here, this board turned into a real good place to not talk about it.

9 hours ago, DEBRO said:

Would you be interested in optimizations and a PAL50 release once you get the game where you want?

Definitely!  There's very, very few things left on my to-do list with this game.  I'm dangerously close to having the 1 player game done, so I should be adding menu and 2 player options very soon!

1 hour ago, ZeroPage Homebrew said:

ZeroPage Homebrew is playing MR. YO-YO on tomorrow's (Tue Mar 2, 2021) stream LIVE on Twitch at 6PM PT | 9PM ET | 2AM GMT! Hope everyone can watch!

Oh, crap!  I better release an update then!

 

New in this update:

  • Starting with Level 7, all enemies move vertically, not just the Purple Flappers.  That said, I've never been able to make it to Level 7.  :)  But this will come into play more once I add the Level Select feature.
  • The progress bar now tracks the number of targets shot during the Bonus Cave.  The green marker will move a space to the right with each target shot, and will start flashing after 9 have been shot.  When you shoot your 10th target, the bonus gem will appear, and the progress marker will move a space to the right again and continue flashing.  If you ignore the gem and continue to shoot targets, the progress marker will not move any further to the right (but you still score 500 points each, so if you have lots of time remaining, rack up those points!)  Picking up the gem and returning it to the top of the cave will cause the marker to move all the way to the right, completing the bonus cave.  Previously, the marker sat on the left side of the progress bar until you rescued the gem, then it moved all the way to the right, with no way to tell how many targets you had left to shoot.
  • I've re-written most of my enemy movement routine.  You won't notice the difference playing the game, but the routine is much more efficient, and I freed up a lot of space.
  • Numerous little bug fixes.

Not sure I'll be able to catch ZPH live tomorrow night, but I'll do my best!  At the very least, I'll definitely watch the archived show the next day!  Thanks so much for featuring the game!

Mr_Yo-Yo_B20210301.bin Mr_Yo-Yo_B20210301.a

  • Like 2

Share this post


Link to post
Share on other sites
19 hours ago, DaveM said:

Not sure I'll be able to catch ZPH live tomorrow night, but I'll do my best!  At the very least, I'll definitely watch the archived show the next day!  Thanks so much for featuring the game!

You're very welcome David, you've made some really great progress with the game. Hopefully you'll be able to join in the chat tonight to answer any questions from the viewers! 🙂

 

- James

Share this post


Link to post
Share on other sites
On 3/2/2021 at 4:31 PM, ZeroPage Homebrew said:

You're very welcome David, you've made some really great progress with the game. Hopefully you'll be able to join in the chat tonight to answer any questions from the viewers! 🙂

Glad I was able to make it.  And we still wrapped up my segment in time for me to catch the Suns/Lakers game! 😄  

 

While I was away, I played a few games of Mr. Yo-Yo myself, and found a few bugs.  I rejoined your show later on that night as you were wrapping up Allia Quest, and you mentioned that I managed to get all the bugs out of my game.  Whoops.

 

So, new update today with (hopefully) bug fixes!

  • Found a bug where the Bouncers still managed to get through the string instead of bouncing off of it.  I don't think this was a collision detection problem though.  I think it was caused by where the code was resetting the Bouncer's position after the bounce.  So I think I took care of that.  If anyone notices any Bouncers still sneaking through that string, please let me know.
  • I hit a very weird bug in the bonus round, where the round didn't end when I got the gem back to the top.  Here's what happened... The time was just about to run out, and I still needed to shoot 2 more targets, and of course, rescue the gem.  I hit the targets, the gem appeared, I got it to the top, all within a fraction of a second.  But the bonus round kept going.  The timer was now out, which normally ends the bonus round automatically, but that didn't happen.  So I shot a few more targets, then went to the bottom,  and even though there wasn't anything in the bucket at the bottom, it made a sound like I picked up a Notely and Mr Yo-Yo started flashing.  I returned to the top, a Notely danced off the screen, and the intermission started up.  I tried like hell, but couldn't duplicate this the rest of the night.  I figure one of two things happened.  Either the variable which keeps track of your progress exceeded it's maximum limit, and/or I both shot and collided with a target on the same frame which caused something weird to happen which required an extra Notely rescue.  So I added some code to check for both, and still haven't been able to get that bug to happen again, so let's call it fixed.
  • I noticed that the missiles seemed to pass right through some enemies.  So earlier today, I changed all enemies to solid blocks, and the collisions worked perfectly.  So no problems with collision detection.  What I think was happening is that the missiles were moving one direction, the enemies were moving in the other direction, and the missile simply skipped over a thin portion of the enemy, so no actual pixel collision happened.  To help resolve this, I slowed down the missiles.  The were moving at 4 pixels/frame, and I lowered that to 3.  This seems to have helped quite a bit with improving the collision detection, and I don't notice much change in game play.  The slightly slower missiles don't seem to affect my ability to play the game.  
  • During all this testing, I had a Bouncer on the top line on the left side.  I shot him, which would normally cause him to fly off the screen to the left.  Instead, when he reached the left edge of the screen, he seemed to stick there a bit, then he wrapped back around to the right side of the screen, travelled again to the left side of the screen, where he finally disappeared.  I couldn't duplicate this, but I wound up moving the left border of the play area 1 pixel to the right, hoping this would prevent such a thing from happening again.

Let me know if the slightly slower missiles work just as well as the older, faster ones; or if they cause you problems and make the game too difficult.

 

And if anyone notices any bugs, let me know!  Thanks!

 

Mr_Yo-Yo_B20210304.bin Mr_Yo-Yo_B20210304.a

  • Like 1

Share this post


Link to post
Share on other sites

I think this is going to be the final version before I add the menu and game options.  Really not much at all new here.  Most of the work is behind the scenes stuff, cleaning up messy code and whatnot.  Very little will be noticed on the gameplay end of things.

  • I experimented with capping the number of lives remaining at 9, but decided against it.  The lives counter at the bottom of the screen can only display 1 digit.  If you manage to accumulate 10 or more lives, it shows all sorts of junk down there instead of a number.  I know it's probably a bit sloppy to leave that in there, but capping the lives at 9 takes up what are now valuable bytes of ROM, and it's a condition that I don't think anyone will get to anyway.  I got 7 in reserve once, but quickly lost them after that. Anyway, I always liked when I found quirky little stuff like this in Atari games, so I'll leave it as is.
  • The enemies now speed up starting on Level 5.  Actually, they did that already, but I thought it was Level 4 where they sped up.  So I had the idea last night to push that back to 5 so players could get deeper into the game, and when I went to change that today, I noticed it already did that.  Not sure if I changed it a while back and forgot about it, or if I accidentally did that when I re-wrote my enemy movement routine, but there it is.
  • Along with that, all enemies now move vertically starting on Level 8 instead of Level 7.
  • I did a bit of an audit of all my variables in an effort to free up some RAM space.  I found one variable that I could easily remove, so I gained a byte of RAM.  Yippee!  If my count is correct, I'm using 112 bytes of RAM, which should leave me enough to implement the 2 player options.

Remaining known issues:

  • There's still that small gap between the string and the yo-yo that occasionally appears.  But, being as how I have no idea how to fix it, and it only occasionally appears, and it didn't show up at all in my last game, I'm going to just let it be, at least for now.
  • The little alert sound that plays when the Bonus Gem appears in the Bonus Cave on occasion doesn't play.  I don't know why, and after staring at the code for a few hours trying to figure it out, I just don't care anymore.  It plays most of the time, and that's good enough.  I actually think it might get overwritten when something else is triggered on the exact same frame, but I'm tired of trying to fix it.

I think everything else works as planned!  I've been able to get everything I wanted into the game so far.  The next step is integrating the code I've written for the Menu, getting that to display properly, and then work on getting the various game options to work.

Mr_Yo-Yo_B20210308.bin Mr_Yo-Yo_B20210308.a

  • Like 4

Share this post


Link to post
Share on other sites

Hi David,

 

Any updates?

 

On 3/8/2021 at 6:51 PM, DaveM said:

I experimented with capping the number of lives remaining at 9, but decided against it.  The lives counter at the bottom of the screen can only display 1 digit.  If you manage to accumulate 10 or more lives, it shows all sorts of junk down there instead of a number.  I know it's probably a bit sloppy to leave that in there, but capping the lives at 9 takes up what are now valuable bytes of ROM, and it's a condition that I don't think anyone will get to anyway.

Should be at most 8 bytes of ROM. Do you not have enough ROM remaining?

Share this post


Link to post
Share on other sites
1 hour ago, DEBRO said:

Any updates?

I should have something ready very soon!  :)  I'm so close to being "finished", that I'm waiting until I've got everything done before I do my next release.

 

I've been able to successfully add the menu screen, the level select, and the various 2-player options.  They all appear to be working good.  I've also fixed a few glitches, tweaked a few things, and I've thrown in some extra little goodies as well.  

1 hour ago, DEBRO said:

Should be at most 8 bytes of ROM. Do you not have enough ROM remaining?

That's the issue I'm currently working on.  My 2nd bank is just about full.  At the moment, I've got just 3 bytes remaining, and that's with me disabling the code for the difficulty switches to get the 2-player modes working.  So that's the issue I'm working on now.  I'm optimizing some of that code, and I have some code that I'm planning on moving to the 1st bank, where I have plenty of room.  Once I do that and re-enable the difficulty switches, I've got some further tweaks I'd like to try, and then I'll be testing the living heck out of it before the next release.

 

I'm hoping that will come this weekend, or at the very latest, sometime next week.

  • Like 1

Share this post


Link to post
Share on other sites

BIG UPDATE TIME!

 

I hesitate to call this a "release candidate," but that's pretty close to what it is.  I'm pretty much done with the game, I got all the bugs and glitches out of it (as far as I know), it's clocking along at a constant 262 scanlines with no exceptions (as far as I know), and we'll be starting work on a PAL conversion soon.  Attached are the updated game ROM, a zip file containing the game code as well as the various macro files, and also a rough draft of the game manual text.

 

Here's what's new in this release...

  • The game now starts up with a menu screen.  From there, you can choose 1-player, 2-player vs., or 2-player co-op, as well as select your starting level.  Highlight "Start!" and press the button to start the game.  On game over, the reset switch or player 1 joystick button will take you back to the menu.
  • 2-player vs. is your basic 2-player game.  It's denoted by the two Mr. Yo-Yo's looking suspiciously at each other. Players switch each time someone loses a life.  Player 2 controls a purple Mr. Yo-Yo.  At the end of the game, the players' scores will alternate every few seconds.   Mr. Yo-Yo's color at the top of the screen will show you who's score is being displayed.
  • 2-player co-op is denoted by the single Mr. Yo-Yo with alternating yellow and purple stripes.  One player controls the movement, the other controls the laser fire.  These jobs switch each time you rescue a Notely.  Mr. Yo-Yo's color shows you who's controlling the movement, the other player fires the lasers.  Both players share a common score and life reserve.
  • The level number is now displayed in the lower right instead of the lives remaining while Mr. Yo-Yo rolls onto the screen, and at game's end.  This is denoted by an "Lv" icon instead of the Mr. Yo-Yo icon.  Remember that each level contains 3 caves, plus a bonus cave.  So if you start on Level 1, it won't change to "Lv 2" until after the Bonus Cave (or green cave if you don't qualify for the Bonus Cave).
  • Left difficulty switch now controls enemy speed for Player 1, while right difficulty switch controls enemy speed for Player 2.
  • If a Stunner stuns you, no additional Stunners will spawn while you're stunned.  Once you regain control of Mr. Yo-Yo, the Stunners may spawn again.  This prevents situations where a player would get stunned, then end up stuck there while Stunners kept spawning and kept stunning the player.  I was frozen once for a good 12 seconds because of this.  So I made this change to be more fair to the player.
  • Slowed down the default coin speed.  They now move at a more normal pace, but will speed up during a Coin Frenzy.  This makes them MUCH easier to catch, and allows the player to gradually build up the Notely rescue multiplier, which is more how I envisioned that to work.
  • Capped the lives remaining at 9.  I was able to free up a whole bunch of space, so I put this in there to prevent graphic junk from displaying in the lives remaining indicator.  I was going to ignore this, but while testing the game, I was able to get to 9 lives in reserve, so I figured I needed to add it.
  • A whole bunch of other bug fixes and tweaks.  I threw an extra little goodie in there too.  See if you can notice it!  :)

What's Next?

  • Fix any further bugs that I haven't found yet.
  • Create a PAL conversion.
  • I briefly spoke to Albert about selling the game in the Atari Age Store, and he was quite receptive to that.  I don't want to go into any more details until we have something more concrete in place, but I'll just say that I hope to have the game ready for purchase by the end of the year.
  • Once the game is ready, I'm planning on adding a couple Easter Eggs to the game for the AA Store version.  The game ROM - without the Easter Eggs - will be free to download, but the cart will (hopefully) have a couple Easter Eggs on it.  I'd like to do a couple high score patches, with one of them requiring the player to find at least one of the Easter Eggs.

Tips & Tricks

  • I've found the game is easier for me when I use a controller with a D-Pad, such as a Sega Genesis controller.  The larger joysticks make the game more difficult for me, as the extra split second it takes to move the larger sticks right and left cause just enough of a delay in my firing of the lasers to throw my timing off.  
  • It's better to try to snipe your enemies one at a time, rather than use the continuous fire.  You have much more control over where you’re firing from, rather than relying on the auto-reload of continuous fire.  Plus, with continuous fire, you also run the danger of shooting coins and power-ups, where it’s much better to collect them.  You also don’t want to get in the habit of quickly bobbing up and down in one location too much.  It’s difficult to control Mr. Yo-Yo that way, and he can quickly slam into an enemy just below or above him as he’s trying to shoot an enemy off to his side.
  • Oh, and if you pick up a Power Pod and start a Coin Frenzy, lay off the joystick for heaven’s sake!  You’ve got nothing but coins flying at you!  Why are you shooting at them?!?!?

  • Keep an eye on your progress meter.  If you have only 1 rescue to go, and you’ve picked up that last Notely, it’s better to ignore the enemies and just get to the top, rather than trying to shoot them.

  • Bouncers.  Everyone hates Bouncers.  But here’s the thing… they’re actually quite easy to get around!  If you’re stuck at the bottom, and you’ve got a Bouncer going back and forth above you, just wait until right after he bounces off your string.  If the rest of your path is clear, release the button, and you’ll fly right by that Bouncer all the way to the top unharmed!  Once you know that, they’re much easier to deal with!

  • On higher levels, I even use Bouncers to my advantage sometimes.  When you get those Snippers flying around, sometimes, it’s better for you to have a Bouncer or two on the screen!  If you’ve got their timing down pat, keeping a Bouncer around prevents a Snipper from flying across that part of the screen.  So sometimes I like keeping a Bouncer going across up top so I don’t have to worry about a Snipper coming along way up there and cutting my string!

  • Level 9 is super tough, but IT IS BEATABLE!  It took me forever to do it.  I lost track of how many times I tried, but I finally got a bit lucky with a lot of Power Pods, and beat the thing.  I couldn't do it before the timer ran out, but I got past it.  Level 9 with the difficulty switch set to "A", however, I actually think is impossible. 😂

If anyone finds any bugs or glitches, PLEASE let me know!  THANKS!

 

Enjoy!

 

 

 

Mr_Yo-Yo_B20210325.bin Mr_Yo-Yo_B20210325.zip Mr Yo-Yo Game Manual_TEXT_DRAFT.docx

  • Like 6

Share this post


Link to post
Share on other sites

@DaveM I've been following this project and uploading them to PlusCart so others can enjoy it too. I've been playing your game and quite enjoy it. Read the first manual and it's story is very unique to the game. Wanted to let you want to know I very much enjoy the game and look forward to seeing it published with atariage.

Sent from my SM-N960U using Tapatalk

  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites

Congrats! Looking forward to checking out this pretty-much-completed version soon, and looking forward to the physical release too! 

  • Thanks 1

Share this post


Link to post
Share on other sites

And here's the score to beat...😁

 

 

 

20210519_090645.jpg

Edited by DaveM
  • Like 1

Share this post


Link to post
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...