Jump to content
IGNORED

Popeye 7800: Mini-game


darryl1970

Recommended Posts

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.

 

  1. You have one life and one level, so it's like an Odyssey 2 game with better graphics.
  2. The scoring is based on the arcade
  3. 24 hearts clears a level. Level 2 adds some additional logic to Brutus.
  4. I added basic sound, because I felt it was too quiet.

 

9/1/2020 -- Minor Updates.

PopeyeMiniGame.beta3-1.a78

PopeyeMiniGame.beta3-1.bin

 

image.thumb.png.c9efecfcdead684f3bdbc3555182ea85.png image.png.118890c23a08f8da438280f3429067b3.png

  1. Used "double buffer" to get rid of the random garbage (Cannot shake the screen with the double buffer) :(
  2. Added proper heart for level clear
  3. Cleared the screen on "Game Over", like the arcade (Clear with yellow text)
  4. 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

 

    image.thumb.png.3c2651eaaec65c2996771c94d4a19f9d.png image.png.29f3481476eb3fd5229dfb4de5e4ec0c.png

 

 

 

 

8/25/2020 - Full screen adjustments and tweaks

PopeyeMiniGame_beta2.a78

PopeyeMiniGame._beta2.bin

    image.thumb.png.ee654cc92268a97f046d1a7077fe346e.pngimage.thumb.png.8b72578f326c9d7a75bb485f410df15a.png

Added

  1. 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.
  2. Added screen shaking when Brutus hits the wall
  3. Made adjustments to find the top and bottom of steps easier
  4. Cleaned up some sound effects
  5. 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.
  6. Eliminated the 30pts when punching the bag. Sprites were not getting drawn.
  7. 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.
  8. Tweaked jumping off the top levels
  9. Adjusted the punch to lunge less, like the arcade.

 

    Considerations

  1. As time allows, I will consider adding bottles. I am not sure what the sprite limitation will be.
  2. As time allows, I would like to consider multiple hearts.
  3. I'd like to clean up the sprites.
  4. 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

 

image.thumb.png.40c5f3f3254f78e243abf77eabd7136b.png image.thumb.png.fee82d6f65f43ba8cb87bbd1b341f872.png

 

image.thumb.png.1207184ba17dafadd32f59ba8191f5c8.png image.thumb.png.da76ccef96f8c4d9d9e9d7f6163536ad.png

 

image.thumb.png.c85e7241b3b3c14146344867fcc4b1a9.png

 

 

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.

image.thumb.png.3804476d6193d074f9151c2e0285c380.png

 

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.

image.thumb.png.7c4f0550c9151d206967f4824a1449bf.png

 

image.thumb.png.8db019462e61ffeb17360bca47b26bc3.png

 

I had given up, but decided to start over on the 14th.

image.thumb.png.a1dcd0a5d8aad034ed8f060d4cbad1a1.png

 

By the 15th, I started to get it.

 

image.thumb.png.ec0cc28b2b6f0916bcbe47362a781b24.png

 

On the 16th, I finally got it. The steps looked kind of narrow.

 

image.thumb.png.9721f99dadd8d441bf566d4864c86b90.png

 

On the 17th, I decided to start the playfield over.

image.thumb.png.d166d40fc2e8c2014e9d159bc3df5ec8.png

 

 

 

image.thumb.png.6b94c03aac219fc678bcd74b2cf09e3a.png

 

I changed it up a little

image.thumb.png.cbcf41086e86a584afd307cbfbe7457a.png

 

By the 18th

image.thumb.png.9f1c94c43d441538604051718036ec09.png

 

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

 

image.png

PopeyeMiniGame_beta1a.a78 PopeyeMiniGame_beta1a.bin PopeyeMiniGame_beta1b.a78

image.png

Edited by darryl1970
Update version
  • Like 31
Link to comment
Share on other sites

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 by darryl1970
Link to comment
Share on other sites

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. :D

 

It makes me want to play even more with the 7800.

  • Like 3
Link to comment
Share on other sites

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. :D

 

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.

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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. ?

 

  • Like 2
Link to comment
Share on other sites

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

 

  • Like 1
Link to comment
Share on other sites

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

 

 

Link to comment
Share on other sites

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.

  • Like 2
Link to comment
Share on other sites

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.  ? 

  • Like 2
Link to comment
Share on other sites

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.

  • Like 1
Link to comment
Share on other sites

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?

 

Link to comment
Share on other sites

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.

  • Like 1
Link to comment
Share on other sites

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 by Muddyfunster
  • Like 1
Link to comment
Share on other sites

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.

  • Like 1
Link to comment
Share on other sites

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!

  • Like 3
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

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