+darryl1970 Posted August 23, 2020 Share Posted August 23, 2020 (edited) This is NOT the Popeye arcade game!!!!! Please do not expect the arcade version. This was my learning tool. There is a history of my journey below the latest version. When I finally figured out how to plot a background, I made Popeye follow the board. Brutus just went back and forth, jumping up occasionally. ...Then I added extra punch frames. ...Then I added Olive. ...Then I made Brutus follow the screen, collision detection, spinach, a heart, etc. ...It would require almost a full re-write to change this up, because there wasn't a lot of planning behind the current code. I just kept adding things. It would take planning to consolidate and add anything more. I also lack the time to dedicate. I wasn't planning on releasing this, but I figure somebody might enjoy it. It's almost like having Popeye. In the past 3 days, I've added basic logic to Brutus, scoring, sound, and cheesy title/level end screens. It's become kind of an obsession. Every time I think I am content, I decide to add something new. This doesn't play like Popeye. It is a little faster. Just try to see how much you can score before Brutus gets you. The hearts will also fall into the water. You have one life and one level, so it's like an Odyssey 2 game with better graphics. The scoring is based on the arcade 24 hearts clears a level. Level 2 adds some additional logic to Brutus. I added basic sound, because I felt it was too quiet. 9/1/2020 -- Minor Updates. PopeyeMiniGame.beta3-1.a78 PopeyeMiniGame.beta3-1.bin Used "double buffer" to get rid of the random garbage (Cannot shake the screen with the double buffer) Added proper heart for level clear Cleared the screen on "Game Over", like the arcade (Clear with yellow text) Added pauses before rounds ------------- End 9/1/2020 ------------- 8/31/2020 -- Added Sea Hag, bottles, up to 3 hearts at one time, and other adjustments -- More Info Here PopeyeMiniGame_beta3.a78 PopeyeMiniGame_beta3.bin 8/25/2020 - Full screen adjustments and tweaks PopeyeMiniGame_beta2.a78 PopeyeMiniGame._beta2.bin Added Utilized full screen width. This compromised the number of sprites per row. To remedy this, I drew the hearts, spinach, bucket, and punching bag on the correct size sprite, instead of using an entire 16x16. I redrew the spinach platforms as part of the screen, instead of using sprites. Added screen shaking when Brutus hits the wall Made adjustments to find the top and bottom of steps easier Cleaned up some sound effects Re positioned the heart count. I tried to draw all of the hears, but it cause major slow-down. I might try a couple other ideas later, but this is on hold. Eliminated the 30pts when punching the bag. Sprites were not getting drawn. Slowed down the speed of the hearts on the first two levels. This makes it easier to camp out, but doing so will lose out on a chance to use the spinach and bucket. Tweaked jumping off the top levels Adjusted the punch to lunge less, like the arcade. Considerations As time allows, I will consider adding bottles. I am not sure what the sprite limitation will be. As time allows, I would like to consider multiple hearts. I'd like to clean up the sprites. If the above go well, I may consider refining the logic, to consider a full game. End 8/25/2020 8/23/2020 Bugfix I consider this a beta, because I might take some time to fix some of the quirks. PopeyeMiniGame_beta1.a78 PopeyeMiniGame_beta1.bin End 8/23/2020------------------- Update 8/24/2020 -- ** Bug Fix **: I figured out how to reproduce the bug. It occurred if Popeye started up stairs just as the spinach wore off. I think this has squashed it. PopeyeMiniGame_beta1b.a78 PopeyeMiniGame_beta1b.bin End 8/24/2020 HISTORY: I didn't set out to make this into a game. Here is the general order of things. I wanted to learn about the 7800, so I downloaded 7800Basic on the 9th. It took me 3 days to figure out how to create a PNG file that would display on screen. Once I figured that out, I created a really rough Brutus sprite. He was animated for left and right movement, but moved anywhere on the blank playfield. Eventually, I made Brutus go back and forth. Popeye was controlled by the stick, and Brutus would jump up if Popeye got too close. It took me another 3 days to figure out how to draw a playfield. Even after that, it was pretty ugly. I had given up, but decided to start over on the 14th. By the 15th, I started to get it. On the 16th, I finally got it. The steps looked kind of narrow. On the 17th, I decided to start the playfield over. I changed it up a little By the 18th By the 19th, it resembled the current version. I started adding play elements. Once I finalized the background, I started adding things. I decided to add sound yesterday, 8/22/2020. I used the samples from Atari Basic. Today, 8/23/2020, I learned how to tweak the sound. It isn't much, but it's better than silence. --Darryl PopeyeMiniGame_beta1a.a78 PopeyeMiniGame_beta1a.bin PopeyeMiniGame_beta1b.a78 Edited September 1, 2020 by darryl1970 Update version 31 Quote Link to comment Share on other sites More sharing options...
+Cafeman Posted August 23, 2020 Share Posted August 23, 2020 Very cool graphics, but is Brutus wearing a Brutus mask? Pretty fast creation, a couple weeks it seems. Didn't play yet though. 2 Quote Link to comment Share on other sites More sharing options...
+SmittyB Posted August 23, 2020 Share Posted August 23, 2020 You should be proud, it plays well and I wouldn't have been able to tell that it was done as a learning exercise. Here's a link to it running in JS7800 for those curious to try. 4 1 Quote Link to comment Share on other sites More sharing options...
roadrunner Posted August 23, 2020 Share Posted August 23, 2020 Cool, thanks 2 Quote Link to comment Share on other sites More sharing options...
+darryl1970 Posted August 23, 2020 Author Share Posted August 23, 2020 (edited) 25 minutes ago, Cafeman said: Very cool graphics, but is Brutus wearing a Brutus mask? Pretty fast creation, a couple weeks it seems. Didn't play yet though. Thanks. That is how he grins in the arcade, but the sprites are more than double the resolution. It's not as bad on the crt, but I still might consider simplifying that. It looks pretty good when he's in 320 mode, but my colors aren't set up to handle that. Ever since I added the background, 320 mode looks even worse than before. I still need to figure that out. Edited August 23, 2020 by darryl1970 Quote Link to comment Share on other sites More sharing options...
+darryl1970 Posted August 23, 2020 Author Share Posted August 23, 2020 (edited) 18 minutes ago, SmittyB said: You should be proud, it plays well and I wouldn't have been able to tell that it was done as a learning exercise. Here's a link to it running in JS7800 for those curious to try. Thanks. Still a lot to learn. Edited August 23, 2020 by darryl1970 Quote Link to comment Share on other sites More sharing options...
Jinroh Posted August 23, 2020 Share Posted August 23, 2020 Phenomenal for a learning experience! Shows more of the prettyness that can be had on the 7800 in talented hands. :3 Really cool to see the process you went through in creating the mini-game. The sprites look pretty great to the arcade version despite the limitations. The sounds are not bad either for being placeholders. I would bet a great full port could be had on the 7800 someday. It makes me want to play even more with the 7800. 3 Quote Link to comment Share on other sites More sharing options...
Shawn Posted August 23, 2020 Share Posted August 23, 2020 Nice work! 2 Quote Link to comment Share on other sites More sharing options...
+darryl1970 Posted August 23, 2020 Author Share Posted August 23, 2020 1 hour ago, Jinroh said: Phenomenal for a learning experience! Shows more of the prettyness that can be had on the 7800 in talented hands. :3 Really cool to see the process you went through in creating the mini-game. The sprites look pretty great to the arcade version despite the limitations. The sounds are not bad either for being placeholders. I would bet a great full port could be had on the 7800 someday. It makes me want to play even more with the 7800. I don't have enough free variables to use Pokey sound. Even so, I had to up the game to 48K, due to the amount of graphics. My Ballblazer EPROM cart can't handle anything over 32K, and that's my only way of experiencing POKEY on my actual console. Of course, TIA notes don't match perfectly either. I figure it's better than silent, as long as it doesn't sound like 7800 DK or Mario Bros. Quote Link to comment Share on other sites More sharing options...
SlidellMan Posted August 23, 2020 Share Posted August 23, 2020 I have to admit, that was a solid, fun little demo. Will the Sea Hag make an appearance? 1 Quote Link to comment Share on other sites More sharing options...
+darryl1970 Posted August 24, 2020 Author Share Posted August 24, 2020 3 minutes ago, SlidellMan said: I have to admit, that was a solid, fun little demo. Will the Sea Hag make an appearance? I am out of variables. I didn't start the "project" as a full fledged game, so I was pretty wasteful with resources. It makes my eyes go crossed trying to work in it now. It would take a lot of rewriting to make it right. I figure the lack of extra enemies justifies the ramped up difficulty. I am glad you enjoyed it. Quote Link to comment Share on other sites More sharing options...
SlidellMan Posted August 24, 2020 Share Posted August 24, 2020 You can either use var0-var99 or the RAM section $2200-$27FF if you need any more. 1 1 Quote Link to comment Share on other sites More sharing options...
+darryl1970 Posted August 24, 2020 Author Share Posted August 24, 2020 3 minutes ago, SlidellMan said: You can either use var0-var99 or the RAM section $2200-$27FF if you need any more. I am using a-z and var0-26. I didn't realize I had up to var99... Hmm. 3 Quote Link to comment Share on other sites More sharing options...
SlidellMan Posted August 24, 2020 Share Posted August 24, 2020 Glad to help out, and you're free to take a gander at what I'm working on. 1 Quote Link to comment Share on other sites More sharing options...
RevEng Posted August 24, 2020 Share Posted August 24, 2020 28 minutes ago, darryl1970 said: I am using a-z and var0-26. I didn't realize I had up to var99... Hmm. You have more than that, friend. As SlidellMan was saying, you have the memory from $2200-$27FF free for your game. That's 1.5K of ram just waiting to be used. ? To use it just do dim it with the location. e.g. "dim myvariable = $2200". I hear the frustration in your progress log, but honestly, it's an impressive demo for such a short time-frame, from someone new to the language. ? 2 Quote Link to comment Share on other sites More sharing options...
+darryl1970 Posted August 24, 2020 Author Share Posted August 24, 2020 10 hours ago, RevEng said: You have more than that, friend. As SlidellMan was saying, you have the memory from $2200-$27FF free for your game. That's 1.5K of ram just waiting to be used. ? To use it just do dim it with the location. e.g. "dim myvariable = $2200". I hear the frustration in your progress log, but honestly, it's an impressive demo for such a short time-frame, from someone new to the language. ? Thanks. That's good to know. I figured heart and bottle arrays were out of the question. I tried to plot the hearts on the house, and things slowed to a crawl. There are little things like that I need to figure out. The color configuration for 320 sprites is something else I'd like to figure out, as well as other background configurations. The 32 tile width makes the game feel a little cramped. It might not be with 320 sprites. Is this 32 tile a limit of BASIC or Maria in general? I am not sure if 20 doubled would work. These are all things I need to wrap my head around. Thanks for the props. It was fun! I appreciate that BASIC is available, so I could tinker with the 7800. --Darryl 1 Quote Link to comment Share on other sites More sharing options...
+darryl1970 Posted August 24, 2020 Author Share Posted August 24, 2020 10 hours ago, SlidellMan said: Glad to help out, and you're free to take a gander at what I'm working on. Thanks. I'd like to check it out. I saw the Lady Lady teaser, and that looks really great!!!!! If there's anything else, PM me. I need to jump off of here and start work. What are you using to draw your graphics? I tried Gimp, but I couldn't find any way to limit the PNG palette. Nothing was working for me. I was limited to the editor in the Visual Studio Code plugin. It's actually a great tool, but it would be nice to be able to see a bigger picture for some things. Thanks again, Darryl Quote Link to comment Share on other sites More sharing options...
+SmittyB Posted August 24, 2020 Share Posted August 24, 2020 1 hour ago, darryl1970 said: Is this 32 tile a limit of BASIC or Maria in general?I Iam not sure if 20 doubled would work. It's a limit with MARIA. Using 2 maps together is very typical and 7800BASIC has a few parameters to make it easier to draw pieces of a single large tile map without splitting up the data. 2 Quote Link to comment Share on other sites More sharing options...
+Karl G Posted August 24, 2020 Share Posted August 24, 2020 It looks great! Now that you know you have more RAM to work with, it seems you have interested players if you want to extend it. If not, there's also no harm in calling it done because it achieved what you wanted it to, and moving on to something new. Either way, great work. ? 2 Quote Link to comment Share on other sites More sharing options...
RevEng Posted August 24, 2020 Share Posted August 24, 2020 1 hour ago, darryl1970 said: The color configuration for 320 sprites is something else I'd like to figure out, as well as other background configurations. The 32 tile width makes the game feel a little cramped. It might not be with 320 sprites. Is this 32 tile a limit of BASIC or Maria in general? I am not sure if 20 doubled would work. These are all things I need to wrap my head around. Thanks for the props. It was fun! I appreciate that BASIC is available, so I could tinker with the 7800. You're welcome - glad you had fun in the end. Smitty's reply is right on the money, as usual. I'm not quite sure if you by "20 doubled" you mean 20 double-wide characters, or 20 characters+20 characters plotted side-by-side. Either one is an option, and if you use the tiled+plotmapfile it works around the 32 byte limit. 1 Quote Link to comment Share on other sites More sharing options...
+darryl1970 Posted August 24, 2020 Author Share Posted August 24, 2020 11 minutes ago, RevEng said: You're welcome - glad you had fun in the end. Smitty's reply is right on the money, as usual. I'm not quite sure if you by "20 doubled" you mean 20 double-wide characters, or 20 characters+20 characters plotted side-by-side. Either one is an option, and if you use the tiled+plotmapfile it works around the 32 byte limit. I did use the tiled map, but I couldn't seem to get a 40 width to work. Are you saying that it will essentially map it in two parts for me if I do it right? Quote Link to comment Share on other sites More sharing options...
+darryl1970 Posted August 24, 2020 Author Share Posted August 24, 2020 18 minutes ago, Karl G said: It looks great! Now that you know you have more RAM to work with, it seems you have interested players if you want to extend it. If not, there's also no harm in calling it done because it achieved what you wanted it to, and moving on to something new. Either way, great work. ? It's tempting. Maybe I would. I'd need to clean up my quicky sprites and add a lot more. I guess I could always tap some assistance from the community too. It would be nice to have a proper Popeye. 1 Quote Link to comment Share on other sites More sharing options...
+Muddyfunster Posted August 24, 2020 Share Posted August 24, 2020 (edited) Just to add to the comments from everyone else, this looks great, very arcade-esque and I love the sprites. For drawing tiles I use a combination of the tool in Visual Studio Code and GIMP. VSC needs a rotate function but it's great for most things. I've been looking at solutions for pixel animating like aesprite. On GIMP you need to go to Image > Mode > Indexed - you can then clamp the palette to 4 or 12 depending whether you are 160A palette or 160B - hope that helps your palette problem! Edited August 24, 2020 by Muddyfunster 1 Quote Link to comment Share on other sites More sharing options...
+darryl1970 Posted August 24, 2020 Author Share Posted August 24, 2020 10 minutes ago, Muddyfunster said: Just to add to the comments from everyone else, this looks great, very arcade-esque and I love the sprites. For drawing tiles I use a combination of the tool in Visual Studio Code and GIMP. VSC needs a rotate function but it's great for most things. I've been looking at solutions for pixel animating like aesprite. On GIMP you need to go to Image > Mode > Indexed - you can then clamp the palette to 4 or 12 depending whether you are 160A palette or 160B - hope that helps your palette problem! I might have to download GIMP again. How does one edit 320 sprites. Prior to my background, I switched them to 320, and they looked good. The "odd" color was an issue. I assume there's no way to know how they'll look until they are deployed to the game. 1 Quote Link to comment Share on other sites More sharing options...
Trebor Posted August 24, 2020 Share Posted August 24, 2020 The sprites look good and move along smoothly. Popeye's stepping up and down can sometimes be tricky to manage, but it flows really well here. Nice job! Wondering if there's any consideration to widening the playfield some though (?) It almost feels like it is better aligning for a 3:4 aspect screen game instead of a 4:3 screen. Leveraging anywhere there is either gray floor and black/blank background or there is the top with the green floor and blank/back background, widening that area so it better utilizes the screen space available. The hearts fall very rapidly for the first round. Perhaps there's the possibility to slow them down (?) The only other item is when the bucket falls and nails Brutus, unsure if it is the flashing bonus or some other item(s), but everything else slows down to about half speed. If you're looking to invest more time in this perhaps the above points may be entertained in the future. Regardless, it is a great learning exercise, for sure. Thank you for sharing, it is appreciated! 3 Quote Link to comment 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.