+ZeroPage Homebrew Posted March 29 Share Posted March 29 Pac-Line 2600 This is my first homebrew game and what better system to make it for than my favourite, the Atari 2600! My game is a port of Pac-Line for the Pico-8 by Sizescape, which in turn is a port of Paku Paku by Kenta Cho. When I ran across the game on my Pico-8 handheld I knew that this was the perfect game to game for my first homebrew, it's both fun and perfectly suited for the system. Please let me know what you think and if you encounter any bugs that aren't listed below! 🙂 For more detailed information on how the game is progressing you can check out my development thread in the ZPH club section of the forums. - James Download Newest Version (WIP): 20240410-Pac-Line 2600.bin OLDER VERSIONS: Spoiler 20240408-Pac-Line 2600.bin Pac-Line 2600-20240328.bin Top 5 Scores (20240408/20240410 Build): 7290 @e1will [ref] 7052 @ZeroPage Homebrew (James) [ref] 3995 @ZeroPage Homebrew (Tanya) [ref] 3066 @Dalton [ref] 2968 The New Retro Show [ref] Objective: Get the high score by eating dots, power ups, fruit (PENDING) and scared ghosts! Points: Dot & Power Pellet - 1 Point x Level Ghost - 10 Points x Level Fruit - 20 Points x Level (PENDING) Gameplay: You can wrap around the edges of the maze, but the ghosts can't Collect the power up so you can eat the ghost Get to the next level by eating all the dots. Every level increases the ghosts speed and decreases the length of time they're scared Every eight levels you'll progress through the ghosts (Blinky, Pinky, Inky, Clyde) Tips: As the levels gets higher be sure to eat the middle dots as soon as you can Sometimes it's quicker to eat the scared ghost by wrapping around the level Known Bugs To Fix: NONE! To Do: High Score (with AtariVox and PlusCart support) Flicker Code for the Fruit Fruit Bonus Items (Possibly Multicoloured) Two-Player Mode Implement attract screen, possibly with AI player Flash "Fire To Start" message Update sounds, and possibly music, closer to arcade Level Number On Screen PAL Version Credits: James Earl O'Brien: Code, Graphics, Sound Thank You To: Philip Blackman @splendidnut: 48px score kernel Andrew Davie @Andrew Davie & Darrell Spice Jr. @SpiceWare: Programming Tutorials Stella Team: Stella The amazing Atari Homebrew Community! Reviews of Pac-Line 2600: 20240331 - John Hancock @swlovinist 20240402 - Tiny Tim's Arcade @Tim Landis 20240405 - The New Retro Show 20240412 - Robin Gravel @Serguei2 20240416 - Retro Bliss Gaming Paku Paku / Pac-Line Versions: 20240106: Paku Paku (Web) by Kenta Cho ABA games + Paku Paku AI (20240106) 20240107: Paku Paku (C64) by Arlasoft 20240108: Pac-Line (Pico-8) by sizescape 20240110: Paku Paku Next (ZX Spectrum Next) by oscarbraindead 20240111: Paku Paku Port GB (Game Boy) by rya 20240112: Paku Paku (Arduboy) by obono 20240112: Paku Paku Arcade (Microsoft MakeCode Arcade) by Brohann 20240115: Paku Paku GB (Game Boy) by oscarbraindead 20240117: Paku Paku (Playdate) by sucitram 20240120: Waka Waka (Web / Windows / Android) by surtri 20240125: 1D Chomper (Adafruit) by Adafruit Industries 20240129: Pac-Man Begins (16k Spectrum) by Allan / Happy Coding (first video / download) 20240329: Pac-Line 2600 (Atari 2600) by James Earl O'Brien @ZeroPage Homebrew / ZeroPage Homebrew 20240409: Pac-10Liner (Atari 8-Bit) by Victor Parada @vitoco 20240411: Pac-Line (Intellivision) by Chris Read @atari2600land 20240411: Jumping at Shadows: Moth-Line (Atari Jaguar) by Reboot / Lawrence Staveley @CyranoJ (Code) / Alexander "Ander Lex" Grade @agradeneu, William Thorup @BitJag, Szadi Art (Pixels) / Roald Strauss (Music) 20240414: Boo Fruit (Atari 2600) by Mirsad Sarajlic @kikipdph 20240415: Lola-Lines (Atari 7800) by MuddyVision / Lewis Hill @Muddyfunster 20240416: Mouse-Line (Atari 7800) by 20th St Arcade / Darryl Guenther @darryl1970 @darryl1970 20240417: Ms. Pacu-Pacu (Intellivision) by Brian Pudden 20240507: Munchy (ZX81) by Karl Garrison @Karl G 37 3 Quote Link to comment https://forums.atariage.com/topic/364115-pac-line-2600-atari-2600-homebrew/ Share on other sites More sharing options...
Vexorx Posted March 29 Share Posted March 29 (edited) 9 minutes ago, ZeroPage Homebrew said: Pac-Line 2600 Atari 2600 port of Pac-Line for the Pico-8 which is a port of Paku Paku. Please let me know what you think and if you encounter any bugs that aren't listed below! 🙂 You can follow along with the detailed development thread of the game here. - James Download: Pac-Line 2600-20240328.bin 4 kB · 1 download Status: Work In Progress Known Bugs To Fix: Score currently only goes to 9999 If left most dot is left last, you automatically advances to next level If power pellet left last, you automatically goes to the next level To Do: Implement software collision for power pellet to fix bug above Fruit (Possibly multicolored) Display high score (with AtariVox and PlusCart support) Implement attract screen, possibly with AI player "Fire To Start" message Level Number On Screen Credits: James Earl O'Brien: Code, Graphics, Sound So fun! Great job James! Thanks for sharing! I did not encounter any issues so far, though I'm only initially trying it out in Stella on an iMac using keyboard controls. I think the speed is just right for a challenge too! Edited March 29 by Vexorx 1 Quote Link to comment https://forums.atariage.com/topic/364115-pac-line-2600-atari-2600-homebrew/#findComment-5439537 Share on other sites More sharing options...
+rbairos Posted March 29 Share Posted March 29 That was great! 1 Quote Link to comment https://forums.atariage.com/topic/364115-pac-line-2600-atari-2600-homebrew/#findComment-5439551 Share on other sites More sharing options...
Thomas Jentzsch Posted March 29 Share Posted March 29 (edited) 100% couch compliant! How you found the game idea, totally reminds me at how I found Pong Wars. Regarding eating the power pellet, I think you can stick to hardware collision. You just have to remember which to it actually the power pellet. Following your plans, I suppose 20% of the work is almost done. I wonder if this could be extended into a full fledged game. E.g.: by adding more lines of pellets, where Pac-Man wraps around to the line above or below. the power pellet could move in intervals, e.g. either to the next nearby or to a random pellet (if there are any left), or to an empty spot. the ghost(s) could have different or changing behavior (and color), like in the original Pac-Man. there could be negative power pellets which stop the power mode or make pellets reappear when you keep moving (certain ghost types could do that too) multiple lives, extra lives, bonus rounds, bonus points, score multipliers... two player variations (line by line, cooperative, one controlling/influencing the ghosts...) ... (I am sure people can come up with way more and better ideas.) Edited March 30 by Thomas Jentzsch 3 1 Quote Link to comment https://forums.atariage.com/topic/364115-pac-line-2600-atari-2600-homebrew/#findComment-5439560 Share on other sites More sharing options...
tkarner Posted March 30 Share Posted March 30 Very nice. On the 2600, I prefer simple games done right over complex games that push things too far. So this was an excellent choice. 1 Quote Link to comment https://forums.atariage.com/topic/364115-pac-line-2600-atari-2600-homebrew/#findComment-5439652 Share on other sites More sharing options...
m.o.terra kaesi Posted March 30 Share Posted March 30 A perfect game for James first one! Motivates me to follow his example some day in the future. I was not aware that new games are taken over to all sorts of plattforms that quick, within days! 2 1 Quote Link to comment https://forums.atariage.com/topic/364115-pac-line-2600-atari-2600-homebrew/#findComment-5439759 Share on other sites More sharing options...
Thomas Jentzsch Posted March 30 Share Posted March 30 25 minutes ago, m.o.terra kaesi said: I was not aware that new games are taken over to all sorts of plattforms that quick, within days! The more important it is, that James is closing the Atari 2600 void. 2 1 Quote Link to comment https://forums.atariage.com/topic/364115-pac-line-2600-atari-2600-homebrew/#findComment-5439768 Share on other sites More sharing options...
CapitanClassic Posted March 30 Share Posted March 30 35 minutes ago, m.o.terra kaesi said: A perfect game for James first one! Motivates me to follow his example some day in the future. Yeah, Pac-Line is pretty close to a one button game. The simplicity of the input and fewer cases you have to handle makes it a great first choice I like LazyDev's Pico-8 tutorials, and he runs a class to help inspiring first time programers, and he has a couple videos dedicated to the mistakes and successes he has seen just based upon the chosen genre. 2 1 Quote Link to comment https://forums.atariage.com/topic/364115-pac-line-2600-atari-2600-homebrew/#findComment-5439772 Share on other sites More sharing options...
+Living Room Arcade Posted March 30 Share Posted March 30 (edited) Well done! Edited March 30 by Living Room Arcade 1 Quote Link to comment https://forums.atariage.com/topic/364115-pac-line-2600-atari-2600-homebrew/#findComment-5439911 Share on other sites More sharing options...
+sramirez2008 Posted March 30 Share Posted March 30 It’s PAC-tastic! No new bugs discovered, but I'll play more. Looking forward to the PK, XM and YAMAHA versions.😉 1 1 Quote Link to comment https://forums.atariage.com/topic/364115-pac-line-2600-atari-2600-homebrew/#findComment-5439920 Share on other sites More sharing options...
+cjherr Posted March 30 Share Posted March 30 Slick! Thank you! 1 Quote Link to comment https://forums.atariage.com/topic/364115-pac-line-2600-atari-2600-homebrew/#findComment-5439990 Share on other sites More sharing options...
+Al_Nafuur Posted March 30 Share Posted March 30 Great game and a very good work for your first ASM project (in years)! 21 hours ago, ZeroPage Homebrew said: To Do: Display high score (with AtariVox and PlusCart support) The code for sending the scores to the PlusROM HSC is only ~45 bytes and adding is very easy. PM me for a HSC ID when you want to start PlusROM HSC support. Do you want to display the HSC table in your game too? 2 1 Quote Link to comment https://forums.atariage.com/topic/364115-pac-line-2600-atari-2600-homebrew/#findComment-5440031 Share on other sites More sharing options...
rra Posted March 31 Share Posted March 31 Congratulations on coding a working 2600 game! Todd Frye should be proud of you! 1 1 Quote Link to comment https://forums.atariage.com/topic/364115-pac-line-2600-atari-2600-homebrew/#findComment-5440275 Share on other sites More sharing options...
+ZeroPage Homebrew Posted March 31 Author Share Posted March 31 On 3/29/2024 at 2:25 PM, Vexorx said: So fun! Great job James! Thanks for sharing! I did not encounter any issues so far, though I'm only initially trying it out in Stella on an iMac using keyboard controls. I think the speed is just right for a challenge too! Thank you so much, I'm amazed to hear that there weren't any more bugs found! I had Tanya testing the game for initial speed vs. how fast the game gets as the levels increase so she was a big help! On 3/29/2024 at 2:42 PM, rbairos said: That was great! Thank you so much, hopefully people enjoy playing the game as much as I do! 19 hours ago, m.o.terra kaesi said: A perfect game for James first one! Motivates me to follow his example some day in the future. I was not aware that new games are taken over to all sorts of plattforms that quick, within days! I knew it was the perfect game for me to make as my first one as soon as I started playing the Pico-8 version, it was almost tailor made for the 2600! Hope to see you create your own game in the future! 19 hours ago, Thomas Jentzsch said: The more important it is, that James is closing the Atari 2600 void. Exactly! Why not bring this fun game over to our neck of the woods. I figured it would only be a matter of time before it landed on the Atari 2600, might as well be me doing it! 19 hours ago, CapitanClassic said: Yeah, Pac-Line is pretty close to a one button game. The simplicity of the input and fewer cases you have to handle makes it a great first choice Funny enough, every port of the original game the Pico-8 one was based off of IS a one button game. One button to start, one button to turn. I enjoyed the left and right controls of the Pico-8 version so I stuck to those controls. 11 hours ago, sramirez2008 said: It’s PAC-tastic! No new bugs discovered, but I'll play more. Looking forward to the PK, XM and YAMAHA versions.😉 It sure is! Glad to hear no more bugs were found! I pretty much expected you to destroy my score, it was only a matter of time. 🙂 When I add in the fruit to the game, there will be even more opportunities for higher scores! 9 hours ago, cjherr said: Slick! Thank you! You're very welcome, enjoy the game! 8 hours ago, Al_Nafuur said: Great game and a very good work for your first ASM project (in years)! The code for sending the scores to the PlusROM HSC is only ~45 bytes and adding is very easy. PM me for a HSC ID when you want to start PlusROM HSC support. Do you want to display the HSC table in your game too? Thank you so much! I really wanted to program in ASM to understand what makes the 2600 tick, plus I was comfortable enough with the language to give it a go. I'll definitely be in touch when I'm ready to add the PlusROM HSC code in. It should be in the next couple of weeks as I'll probably be adding the local highscore code in very soon. I don't think I'll be displaying the HSC table in the game as I want to try to keep the whole thing under 4K but if the code isn't too big, I might give it a go. 🙂 1 hour ago, rra said: Congratulations on coding a working 2600 game! Todd Frye should be proud of you! Thank you so much! I'm very happy to add another Pac-Man game to the 2600 library in addition to Todd Frye's game! - James 5 Quote Link to comment https://forums.atariage.com/topic/364115-pac-line-2600-atari-2600-homebrew/#findComment-5440302 Share on other sites More sharing options...
+ZeroPage Homebrew Posted March 31 Author Share Posted March 31 On 3/29/2024 at 2:52 PM, Thomas Jentzsch said: 100% couch compliant! How you found the game idea, totally reminds me at how I found Pong Wars. I'd be ashamed if I wasn't able to get the certification on my own game! 🙂 Some games you run across and instantly recognize how well they'd work on the 2600. On 3/29/2024 at 2:52 PM, Thomas Jentzsch said: Regarding eating the power pellet, I think you can stick to hardware collision. You just have to remember which to it actually the power pellet. Following your plans, I suppose 20% of the work is almost done. Luckily It shouldn't be too hard to implement better power pellet management. A complete rearrangement and streamlining of the code is next on the list alongside fixing the couple of bugs I have. On 3/29/2024 at 2:52 PM, Thomas Jentzsch said: I wonder if this could be extended into a full fledged game. E.g.: by adding more lines of pellets, where Pac-Man wraps around to the line above or below. the power pellet could move in intervals, e.g. either to the next nearby or to a random pellet (if there are any left), or to an empty spot. the ghost(s) could have different or changing behavior (and color), like in the original Pac-Man. there could be negative power pellets which stop the power mode or make pellets reappear when you keep moving (certain ghost types could do that too) multiple lives, extra lives, bonus rounds, bonus points, score multipliers... two player variations (line by line, cooperative, one controlling/influencing the ghosts...) ... (I am sure people can come up with way more and better ideas.) Thank you for all the suggestions! After reading them I was thinking about what things could be added to the game, while at the same time keeping it under the 4K size. I definitely like the ghosts changing colours and had that thought as well, it's such an easy thing to implement and takes very little extra space. I was also mulling over the two player version of the game and I think I found a great way to do it. I'll think some more about how it will work but I will be adding it to the to-do list. There will be fruit added to the game, like in the Pico-8 version, which will be quite a few bonus points and also teach me about learning flicker code. Looking forward to working on the game some more soon! - James 5 Quote Link to comment https://forums.atariage.com/topic/364115-pac-line-2600-atari-2600-homebrew/#findComment-5440305 Share on other sites More sharing options...
+Cheez26 Posted March 31 Share Posted March 31 Funny, I thought this was going to be April Fools related since you announced something about this near the end of March. I'll give this a play later when I have time. Quote Link to comment https://forums.atariage.com/topic/364115-pac-line-2600-atari-2600-homebrew/#findComment-5440445 Share on other sites More sharing options...
Bomberman94 Posted March 31 Share Posted March 31 Congrats James - what a nice surprise and very well made! Would be great to see a PAL release sometime in the future ☺️ 1 Quote Link to comment https://forums.atariage.com/topic/364115-pac-line-2600-atari-2600-homebrew/#findComment-5440502 Share on other sites More sharing options...
+swlovinist Posted March 31 Share Posted March 31 What a well done game. Nice work! 1 Quote Link to comment https://forums.atariage.com/topic/364115-pac-line-2600-atari-2600-homebrew/#findComment-5440524 Share on other sites More sharing options...
KevKelley Posted March 31 Share Posted March 31 Oh cool. I tried the Pico 8 version and it was a very neat little game that definitely looks like it belongs in the Atari library. 1 Quote Link to comment https://forums.atariage.com/topic/364115-pac-line-2600-atari-2600-homebrew/#findComment-5440574 Share on other sites More sharing options...
Martin72 Posted March 31 Share Posted March 31 Very nice game! We play the game with the family today and everybody loves it! Is it possible to add some code to store the high score (as long the Atari is powered) 1 Quote Link to comment https://forums.atariage.com/topic/364115-pac-line-2600-atari-2600-homebrew/#findComment-5440590 Share on other sites More sharing options...
+ZeroPage Homebrew Posted March 31 Author Share Posted March 31 8 hours ago, r_chase said: Funny, I thought this was going to be April Fools related since you announced something about this near the end of March. I'll give this a play later when I have time. There were a couple of people who thought that as well! Luckily I released it on Mar 29th so in fact the game is real! 🙂 6 hours ago, Bomberman94 said: Congrats James - what a nice surprise and very well made! Would be great to see a PAL release sometime in the future ☺️ Thank you so much Bomberman! I'll be sure to make a PAL version, I'll add it to my to-do list! 6 hours ago, swlovinist said: What a well done game. Nice work! Thank you so much John, glad you enjoy it! Can't wait to add all the extra to it that I have planned. 4 hours ago, KevKelley said: Oh cool. I tried the Pico 8 version and it was a very neat little game that definitely looks like it belongs in the Atari library. The Pico-8 game is really well made, glad I ran across it! 4 hours ago, Martin72 said: Very nice game! We play the game with the family today and everybody loves it! Is it possible to add some code to store the high score (as long the Atari is powered) Thank you for sharing the game with your family, I'm so happy to hear they all enjoyed it! I'll definitely be adding a high score feature that can also be saved on the AtariVox/SaveKey/PlusCart! - James 4 Quote Link to comment https://forums.atariage.com/topic/364115-pac-line-2600-atari-2600-homebrew/#findComment-5440750 Share on other sites More sharing options...
Gray Defender Posted March 31 Share Posted March 31 Congrats on your new game James and ZPH! I've been playing it and it's really fun and has the let's try again factor... 2 1 Quote Link to comment https://forums.atariage.com/topic/364115-pac-line-2600-atari-2600-homebrew/#findComment-5440826 Share on other sites More sharing options...
CapitanClassic Posted April 1 Share Posted April 1 @ZeroPage Homebrew, since it came up during the show, the ghost behavior in Pico-8 upon being eaten is to take the shortest route back. You can see this in the source code (the website is currently having issues displaying it in the browser, but you can download the cart, and then load it in the https://pico-8-edu.com Educational Edition, and hit ESC to read the code. In Tab2, the Collision Check section it says the ghost face_left (moves) if the ghost X value is <64 (Ie the left side of the screen) If you want to get the speed “right” you will just need to do some math to approximate it for the width of the Pico-8 screen (128 pixels) and Atari 2600 (160), and then keep the ratio of the speed the same for Pico-8 Pac-Man and Ghost to screen width. it appears as if the PacLine (Pico-8) game doesn’t change the speed as the levels progress (adding that in as a game variation might be worth it for 2600). Pico-8 updates at 30 times (ticks) / sec, while the 2600 can do this 60 times / sec. Pac.X speed is 1.5 pixels per tick. Ghost.Speed is 1.65 pixels per tick. So in Pico-8, pac would take (128/1.5)=85.33 ticks to move across the screen (or 2.84 seconds), the Ghost would take 77.57 ticks (or 2.58 seconds). on the 2600, pac would need to move at 0.9375 pixels/tick (or with sub-pixel movement speed of 240/256 sub-pixels/tick) to move across the 160 pixels screen in 2.84 seconds. Subpixel movement for the ghost would be 1.03125 (or 1 + 8/256 sub-pixels). BTW, the fruit moves at 1.1 pixels in Pico-8, so in 2600 sub-pixels it would be 0.6875 (176/256) -- Collision Check SP=Pac.x EP=Pac.x+8 -- Pacman sprite start/end SG=Ghost.x EG=Ghost.x+8 -- Ghost sprite start/end If EP>SG and SP<EG then -- collision, sprites overlap If ghost.state==0 then -- Ghost states are 0 strong -- 1 weak (power pill) 2 flashing -- 3 just eyes, respawning Pac.Alive = false Ghost.Speed=0 elseif ghost.state==1 or ghost.state==2 then ghost.state=3 -- turn to eyes -- *** Here ******************* ghost.face_left=ghost.x<64 score+=Level*10 end end 1 1 Quote Link to comment https://forums.atariage.com/topic/364115-pac-line-2600-atari-2600-homebrew/#findComment-5440961 Share on other sites More sharing options...
CapitanClassic Posted April 1 Share Posted April 1 As far as colors go, I don't know if I would use the Pico-8 colors. Those were likely chosen because they were forced to use the 16 colors available (and may not have known about the Alt-color palette, 32 total colors). If you try to match the Arcade colors, you have better choices. Pac-Man Arcade colors RGB values, Game Element 252, 234, 63 - Pacman or ( 252,252,0 ) 252, 0, 0 - Blinky (red) 252, 180, 255 - Pinky (pink) 0, 252, 255 - Inky (cyan) 252, 180, 85 - Clyde (orange) 36, 36, 255 - Walls (indigo) 252, 180, 170 - Dots (salmon) 252, 252, 255 - Flashing ghost, score (white) Atari 2600 Colors (NTSC) FE (252,224,140) Pacman 34 (172, 80, 48) Blinky or 32 (Alt Darker) or 36 (Alt lighter) 5F (236,176,224) Pinky or 4F (Alt) or 6F (Alt lighter) 9C (144,180,236) Inky or 8C (Alt darker) or AF (Alt lighter) 2C (220,180,104) Clyde or FC (Alt) or 2A (Alt darker) 82 ( 28, 32,156) Wall, Flash Ghost or 80 (Alt darker) or 84 (Alt lighter) 3E (252,188,148) Dot 0F (236,236,236) Flash Ghost, Score 1 1 Quote Link to comment https://forums.atariage.com/topic/364115-pac-line-2600-atari-2600-homebrew/#findComment-5441019 Share on other sites More sharing options...
CapitanClassic Posted April 1 Share Posted April 1 9 hours ago, CapitanClassic said: In Tab2, the Collision Check section it says the ghost face_left (moves) if the ghost X value is <64 (Ie the left side of the screen) During testing of the Pico-8 game I got some unusual behavior, so I might be wrong about this. There must be some additional code regarding which way the eyes face (move) after being eaten that might override the initial direction. Quote Link to comment https://forums.atariage.com/topic/364115-pac-line-2600-atari-2600-homebrew/#findComment-5441135 Share on other sites More sharing options...
Recommended Posts
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.