Jump to content

Kitten Katch - (Completed) Batari Basic Game for 2600


Recommended Posts


Cover Art


Hello everyone!

I would like to share a game I have been working on to learn the basics of the Atari 2600 over the last 6 months or so - Kitten Katch!

Kittens on the loose! Your young kittens have all escaped their box and you must catch them before the cause a mess. Each round they will scurry around the yard, trying to avoid capture. In later stages one of them will release a ball of yard that will bounce around and tangle you up if it hits you!



How it works:

* Move around using the Joystick.
* Press Fire to grab a kitten when you catch up.
* Carry each kitten to the box to drop them off.
* You must deposit each loose kitten back in the box before the timer runs out in order to clear the stage.
* Each round will be a bit harder than the last. See how far you can go!

* On the game over screen you can hold the fire button for a moment to return to the title screen.

* Most recent score and high score alternate on the title screen until the game is turned off.


* For each kitten you return to the box you earn 15 points.
* At the end of each round you earn additional points for the time remaining.
* Getting hit by the ball of yarn doesn’t just cost you time, but also costs you 10 points.

* Sometimes a saucer of milk will appear in a corner. Drink it for a little bonus time, shown by the timer bar turning white. You can't drink while holding a kitten. 
* After surviving 9 rounds of Kitten Katch a bonus 10 points will be applied for each kitten you rescue. This is shown as a "B" for bonus.

* After surviving 15 rounds you get an extra 10 points, shown as a second "B", for each kitten you rescue. Hang in there!


Built in Batari Basic using the multi-sprite kernel along with the titlescreen kernel from RevEng. I used the background builder from alienbill for the title screen art.

When I got started on this project I didn't understand how the 2600 worked at all and for a moment was worried there was no way to get the number of characters on the screen I needed for all the kittens. I found Miss It by acousticguitar which really made me believe that the multisprite kernel could actually pull off what I was hoping to do. I used their movement logic to kickstart things and the game rolled from there. Everyone should go check out Miss It! Anyway, this is very much a first attempt at making something for the 2600, it was a lot of fun. You can find the source and bin below.




Please feel free to share and play the game, just don't sell it! I'll be getting a few physical copies made to give away, maybe a score challenge sometime? I'll keep everyone posted!


With Rev 8 I am calling this done. hopefully will sort out cartridges soon!





Edited by superseth
  • Like 10
Link to comment
Share on other sites

Nice work! It's really cute. Just a quick couple of suggestions: I would get rid of the screen flashing on the title screen - some people are sensitive to that. Also with the controls, right now there's no reason not to simply hold down the fire button the whole time. I'd either get rid of using the fire button, or e.g. make it so that you have to press and release to pick up a kitten, or something similar.

  • Like 2
Link to comment
Share on other sites

Fun game, thanks @superseth! We'll definitely be playing this on an upcoming ZPH show, how can we not with all the cats in the game?


I agree with @Karl G on both of his points of the flashing screen and the joystick button. Plus if you get rid of the joystick button in the game you'll be able to use it to return to the title screen / start a new game with it! ;-) 


- James



  • Like 2
Link to comment
Share on other sites

Oh no the title screen is flashing? That wasn't happening the last time I did testing on real hardware. I'm not seeing that in Stella locally - do I need to adjust the settings somehow? I'll have to test it out when I get back from Thanksgiving!


Right now you must press the button to grab a kitten but can release afterwards and the player cat will hang onto the kitten. If you do keep it held down it should require releasing the button before you can grab a kitten again but it seems that is broken! I could see removing the need totally for it - originally you had to hold it down all the time and it got tiring after several runs. Making it a reset is interesting - I'll give it a try!

Edited by superseth
Link to comment
Share on other sites

Thank you again everyone for giving feedback, it is an honor to have people give the game a try! It would be so cool to see it on ZPH :)


Didn't know about "couch compliant" but that totally makes sense! Now you can hold/release the fire button on the game over screen to reboot the game without having to get up.


I have restored needing to release the fire button between kitten grabs. I tried not using it at all but personally like having to push it just in case you somehow want to pass one kitten and grab another if you have 1 running away from the box vs heading towards it in later stages.


Any info about the flashing on the title screen would be appreciated, for me only the cat roster updates, but not in like a flashing aggressive way.



  • Like 6
Link to comment
Share on other sites

  • 2 weeks later...

ZeroPage Homebrew is playing Kitten Katch on tomorrow's stream LIVE on Twitch, hope you can join us!


Fri Dec 17 @ 2PM PT | 5PM ET | 10PM GMT  <- NOTE SPECIAL TIME

WATCH: https://www.twitch.tv/zeropagehomebrew/






  • Like 1
Link to comment
Share on other sites

Wonderful! I missed the live stream due to work but I am watching now! I'll look at changing the game over color to make the score stand out better, really good point! The suggestion in the chat about increasing the tone on each kitten return from nostalgic26 was a really good one - I'll get that integrated as well!


I also noticed that the purple cat is flipping back and forth sometime rapidly. I wasn't seeing that, but my 2600 is on RF so things are WAY less clear than what you have. I'll see if I can sort that out as well. Thanks for playing!

  • Thanks 1
Link to comment
Share on other sites

@Yurkie after I finish the game and get final label art it would be fun to talk about getting some carts made. I am not sure how people normally go about that, but I'd like to order a few at least!


in other news...


BONUS CHRISTMAS UPDATE! New .bin in the original post!

During break I have tried to incorporate the feedback from the ZPH stream with the following changes:

  • Game-over screen is now brighter so you can see the score better
  • The most recent score is shown on the title screen so if you miss it, still have a chance to screenshot!
  • Increase in pitch for each kitten rescue sound (thanks  nostalgic26)
  • Getting hit by the yarn ball now costs you 10 points rather than 1, it wasn't meaningful enough to get hit before.
  • Fixed the yellow cat (cos) not changing direction.
  • Fixed the Purple cat (mod) sometimes facing the wrong direction after the yarn ball gets loose.

I think this is close to final - I want to add high score support and maybe better pause handling for the 7800, but I didn't account for a bunch of these things when I started and I worry about introducing bugs. Most of the issues listed above came from a big change I did to get more variables freed up.

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

  • 3 weeks later...

Hello once again. I am back with revision 5  (version 4 never made it to the public). As before the original post has updated instructions and bin file. 


New features! I have finally reached that dreaded point where I am out of bytes in bank1 and there isn't a lot of cruft to remove without re-doing a ton of code.

  • High scores are now supported, the main menu will alternate between your most recent score and the high score for the current session.
  • Feedback for the timer nearing game over has been added since sometimes you get in the zone chasing kittens and need a hint that things are about to end.
    • The bar flashes colors during this phase. It seems small enough that it shouldn't be a problem for most people but please let me know if it seems too much. I'm kinda out of variables to have a timer pulse it slower right now.
  • A saucer of milk now randomly appears on the field. If you touch it the cat will drink, gaining 25 points but also freezing for a few moments. It isn't required but is normally worth grabbing. I tried to make it impactful without throwing the scores off too much in a bad RNG case. You can't drink while carrying a kitten so you must keep an eye out.
  • Changed some of the sounds around to feel a bit better I think? The drinking milk sound isn't as positive feeling as I'd like but I haven't found something I like better.

Happy New Year everyone!

P.S. There is now a PAL60 version as well for those that need it.

Edited by superseth
Forgot to metion the PAL60 version.
  • Like 2
Link to comment
Share on other sites

  • 3 weeks later...

I'd love to add support, I did some light investigation and it seems like I would need to free up some variables possibly? I don't have an AtariVox yet and have been really fighting for bytes in my main bank so far to get all the little adjustments in for the game. Its possible that adding any more major features will require redoing a bunch of logic. Last time I did that I broke everything! Are there any good examples or modules for adding that to a multi-sprite kernel game?

Link to comment
Share on other sites

  • 3 weeks later...

Happy Valentine's Day!


Here is Revision 8 of Kitten Katch, which I hope will be the final update for this game assuming no one runs into major issues. Here are the notes:

  • Now using rand16 - freed up a var so I can use the more random rand function for the saucer
  • Raised the chances on the saucer a little so.
  • The saucer gives you some bonus time in the CURRENT round and changes the timer bar to white to show you collected the energy bonus.
  • Drinking the saucer has a different sound since the other one sounded negative to some testers.
  • Time now gives you more points at the end of a round. This changes the scores significantly so I'd consider 4000+ now to be doing very well.


I seriously investigated doing AtariVox/Savekey support but things are just too tight to get the checks in without refactoring a lot of the code. I also looked into allowing dropping the Kittens or some other function for the Fire button but just couldn't get something that both fit into the space I have and felt good. I generally like that the saucer spawning is something you have to watch for before grabbing that last kitten even if it sometimes can feel annoying. It keeps you from getting too pattern focused with the controller movements I think.


Anyway, please let me know if there are any issues. I am going to give this a good testing on my hardware tomorrow and if nothing pops up update this to complete.

(Oh and I'll make an updated PAL version once this is all checked out)


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

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.

  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Create New...