Jump to content
IGNORED

[WIP] Litterbug!


KevKelley

Recommended Posts

TITLE

Litterbug!

 

GAMEPLAY

Litterbug is a simple game.  You play as the diligent park ranger Ranger Boy!  Your job is to keep the grounds clean and pick up trash as people rudely leave them behind on your pristine pasture.  You are equipped with Litter Picker Stick and must walk around but it is park policy to have a non-confrontational approach.  You must avoid contact with the offending guests while picking up their trash but if you happen to bump into them too many times they will run off. 

 

Good, right?

 

Wrong!

 

The "Karen" of the park will come and walk to make sure you are doing you job.  It is also best to avoid her as well or else she will get angry, but then what doesn't get her angry?  Every piece of trash she walks past gets her angrier and if her anger level maxes out she will pick up her pace on the way to "talk to your manager," whoever that may be.  

 

If you pick up the trash before she leaves you postpone that moment and the "Karen" leaves but things aren't over yet.  The Litterbug is back to make a bigger mess.  Can you keep up with the Litterbug and keep the "Karen" from crossing your path?

 

Each piece of trash gets you one point.  You get bonus points for the amount of patience the "Karen" has left so it is best to pick up the trash while avoiding her as fast as possible!

 

As the game progresses the grass will start to sway.  This will result in the view of some trash being momentarily obscured with each passing breeze. 

 

After the swaying grass the breeze will pick up and some of the litter will now move.

 

And after the swaying grass and litter blowing around (mildly) a powerline will fall on the park (probably a result of some Lineman trying to rescue balloons for a child)!  Don't touch the powerline while on the wet grass or else you will see your status bar diminish.

 

Also, as the game gets farther along, the amount of trash that is dropped in between the Litterbug and Karen screens will increase.

 

You get an extra life after a certain number of consecutive pickups while avoiding either the Litterbug or the powerline or you get an extra life if you successfully pick up all the trash without the Karen bumping into you or any piece of litter.

 

There is also a two-player mode!

 

If the fire button is pressed on the second joystick on the titlescreen then a second player will appear.  The first player can then start the game as normal but now the second joystick controls the movement of the Litterbug.  The litter will still automatically drop litter but at half the frequency and the second player can drop litter by pressing the fire button.  When on the second Karen screen, the second joystick can change the speed of the Karen by pressing fire.  This will result in her moving a bit slower.

 

If you want to start the game with more lives you can use the Game Select switch on the titlescreen to add more lives (or start with less).

 

TODO

 

While I got the code to work to get the trash to move, it still needs some tweaking.  I didn't want anything to crazy but just something to increase difficulty mildly.

 

I never really intended to make this game, as I am in the middle of other projects, but I was looking over my old videos and thought it best if I work on some older projects.  This game was a result of me messing with Lawn Boy and trying to come up with some alternate gameplay ideas.  This had me messing around with Superchip Ram which resulted in me making up this after we had a focus on picking up at work ("Don't Pass It Up, Pick It Up").  As with many of my other games, barring the few exceptions, this is a labor-related theme so while it may be work in real life, in Atari land it is a game.  And who knows, this may find its way back into Lawn Boy, since as of right now the actual game does not take up too much space and could probably fit nicely in a bank of Lawn Boy... that is if I ever finish that game.

 

Here is a video of the gameplay!

 

Enjoy!

 

LITTERBUG_2022_05_05_score.bas_1.png

 

LITTERBUG_2022_06_13c.bas.bin

LITTERBUG_2022_06_14c.bas.bin

LITTERBUG_2022_06_18d.bas.bin

Edited by KevKelley
  • Like 11
  • Haha 1
Link to comment
Share on other sites

I just updated the .bin on the first post.  I wound up adding the continue and game over screens. I fixed a couple little issues I experienced, like picking up litter when transitioning from screens, issues with reflection of sprite on the "Ready" screen, some sound issues, variable resets, etc.

 

I wound up working on these since I couldn't quite figure out how to get it to where after a while the litter will randomly move for added difficulty. So now that is the next big thing to add. Ideally I want it to where after a while a litter will move either one pfpixel to the left or right.  For some reason it just eluded me tonight and while I had the opportunity to play around with this all day I am done for the night!  

 

Also need to figure out when an added life will be rewarded.  

 

Also, mostly couch compliant.  I forgot to place switch reset code in the "Ready" "Continue" and "Game Over" screens but the game does cycle by pressing the fire button.

Link to comment
Share on other sites

Updated the .bin in the first post.  Added a two-player feature, ability to start with more lives, and fixed some minor bugs.

 

I want to work on trying to get the trash to randomly move back and forth for the final level of difficulty and then probably tweak things here or there.

  • Like 2
Link to comment
Share on other sites

37 minutes ago, Fort Apocalypse said:

This is really fun!

Thanks! It is good simple fun. I was finding myself getting into it trying to avoid the litterbug and getting those video game frantic frustrations when I miss a piece of trash and the Karen is coming.

 

Link to comment
Share on other sites

I updated the .bin in the first post.  

 

I added the difficulty progression that incrementally increases each cycle you move through (Litterbug to Karen back to Litterbug).

 

  • After 3 cycles the grass will sway (the litter will slowly be covered up and revealed)
  • After 5 cycles the litter will periodically move in a various direction depending on the "breeze."
  • After 10 cycles a fallen powerline will periodically cross the grass.  You must avoid the powerline on the wet grass by moving to the sidewalk while it passes.
  • After 20 and 30 cycles the amount of litter dropped in between the Litterbug and Karen screens increases.

I also added bonus lives.  You receive an extra life by one of two ways - collect enough litter consecutively while avoiding both the Litterbug or powerline or completely avoid the Karen and pick up all the trash.

 

Some of the minor details need to be tweaked, like the litter moving.  As for difficulty, I have yet to test this on hardware so I do not know how hard or easy this would be using a joystick or d-pad as I have been using my keyboard but while playing myself I have found that I can generally do alright so I figure using a joystick would increase the challenge a bit (based on my own abilities lol).

 

Hopefully not too many more adjustments to be made as this was just a side project of a side project of a side project...

 

 

 

  • Like 2
Link to comment
Share on other sites

After some thought about the gameplay variation and after playing around with the theme of litter dropping (playfield pixels) and then picking them up, I made a third Kaboom-style screen where the Litterbug drops garbage and you catch it in a wastebasket. Once your wastebasket fills up (you will see the trash start to come out of the can) you press fire to empty the trashcan and get your points.  If you don't the trash will accumulate on the ground and the Litterbug will get closer.  If you miss catching a piece of trash the same will happen.

 

The way this screen is accessed is in a cycle.  I am currently thinking maybe once every 5 or 10 screens so it would start with the Litterbug to Karen to Litterbug to Drop to Karen to Litterbug etc...

 

There are still some kinks I need to work out, as of right now the drop screen cycles every go around and it does not display a Ready screen so you gotta be prepared to catch that litter but I was just seeing how it worked and it was a fun experimenting integrating it into the existing code.  I was happy that I got it to work in the amount of time I had today to play around with it.  

 

I had noticed that unlike when the Litterbug drops garbage and you pickup the same exact ones in the Karen screen, when you pickup the trash on the Karen screen after the drop screen there are always some left over.  This is because of how I draw the litter in the drop screen (when it drops it sometimes erases an existing block). I may change this but I don't think it is too much of a big deal.  Whenever I tested proper accounting of litter I came across a problem where it would be off by more than I needed so you never could complete the Karen screen.   

 

I will change this after some more testing it seems that sometimes it removes more playfield pixels then it tallies so when you go to the next screen you cannot pick them all up.  I had tried various attempts at tallying them correctly, whether checking if a playfield pixel is on or off before drawing and tallying it but from what I gather sometimes the movement of the coordinates and converting them to playfield coordinates can sometimes result in some discrepancies. So I'll probably swap the pfpixel with the missile and change the wastebasket sprite at the bottom.  This can probably make for a little more variation, like a speed up in dropping or more fluid motion or better collision. 

Edited by KevKelley
Link to comment
Share on other sites

  • 2 weeks later...

Updated .bin in first post.  

 

I fixed the dropping pixels staying for the Karen screen.  Also added 2-player capabilities for that screen as well.  If the second player fires they will drop litter.  They can press fire shortly afterwards to shift direction they travel.  

 

I also fixed some minor things like some scanline issues during screen transitions.

 

There are some minor things I want to fix, like an animation issue on the litter dropping screen and perhaps moving when the litter dropping screen appears. I may also tweak when some of the difficulty progression elements appear but overall I like the direction this is going.

  • Like 1
Link to comment
Share on other sites

Even though I updated last night I had a chance to fix some things.  I previously had it to where it would cycle from the normal litter screen to the dropping Kaboom-style screen to the Karen screen but it bothered me that there could be pixels from the first screen that seemingly got erased so I changed the order in which the screens appear, so that it would alternate from the first screen to the Kaboom-style screen every 3 cycles.  This just required moving a couple checks but that also helped resolve some other issues, like the animation problem I had late last night. 

 

Now if all is good and no bugs present themselves I just want to add a little more in terms of difficulty progression, as I wanted to make this a rather straightforward game with some variation between screens that stick to a theme.  So I will label this as 99% complete. 

 

Some of the ideas I am playing around with are using the switch to determine how many cycles play before switching screens or as the game gets more difficult like if you try to empty the trashcan before it is full you get penalized or speeding up the dropping of the litter or the Karen.  

 

  • Like 2
Link to comment
Share on other sites

Updated .bin in first post.

 

So far the only additions I had worked on was that if the Karen runs into a certain amount of litter or bumps into you she will move a little faster.  I also have the litter drop pick up speed after a certain number of cycles and as well as having to empty the trashcan precisely when it gets full after a few cycles. 

 

I am trying to think of other little things to add along the way, like maybe having the Karen bump the ranger out of the way later on.  

  • Like 2
Link to comment
Share on other sites

  • 2 weeks later...

Updated .bin in first post.

 

I thought I had a few minutes to fix a few things that I started a few days ago but my battery is dying and my son wants me to fix his domino truck so I figured I'd upload this update while my tablet charges.

 

Essentially this update ads a bit to the difficulty progression, namely the Karen bumping you later on.

 

The other thing I was fixing was that in the transition to the litter drop screen, I didn't like how the player character just kind of teleports to the bottom of the screen.  I had also originally had the player kind of teleport up a bit afterwards.  This kind of bothered me becuase it just seemed weird.  Initially I had it because the litter drop code was separate and I swapped which player sprite is used for each so I can get the right color for the litter dropping.  I fixed the player going down to the bottom of the screen but was working on the transition from the litter drop screen to the litter picking up screen.  But until then here is a nice little update!

  • Like 2
Link to comment
Share on other sites

Saw there is a big where after you try to continue you can't move. This is probably when I moved that code to before the Karen. I had a check that if continued would only flip a certain bit. I have to look over the code but I think I have to check the reset of variables after continue so that it can move on. So for now this is a "feature." Lol

Link to comment
Share on other sites

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

 
Games:

(WATCH AT 1080P60 FOR BEST QUALITY)

 

 

  • Like 3
Link to comment
Share on other sites

@ZeroPage Homebrew I look forward to watching your program tomorrow!! It luckily coincides with my work schedule and I will be able to watch!

 

I just updated the .bin in the first post.  I had come across a couple small bugs on testing on hardware and ironed them out.  I think I got most everything else cleaned up apart from a small scanline issue that appears later in the game.  It jumps to 263 scan lines so not sure if it will cause any problems.  

 

I will also have to compile a list of all the ways this gets progressively difficult, as I had added things along the way that I can't remember all of the details.  But essentially what you got to look forward as the game moves along are the following:

 

  • grass moving over the litter - the litter becomes momentarily obscured
  • the litter moving - the litter may move left or right one space at random
  • a powerline coming across the - a black line will sweep across the screen.  If it touches you while on grass your status bar diminishes
  • the Karen will start to move quicker
  • the litter drop becomes faster
  • the Litterbug will move differently in the litter drop screen
  • the litter will start moving differently when dropped
  • you must empty your trashcan precisely when it is full and no earlier or else risk spilling it.
  • more trash spawning

I may have forgotten some other changes along the way but I tried to make them subtle and spaced evenly so that the difficulty doesn't hit you like a brick.

 

Enjoy

 

UPDATE: 

 

I took another look at the scanline issue after trying to use the debugger to find out when the scanline count would jump to 263 and noticed it would occur later in the game and only when I pressed the fire button.  I changed some code for how the the difficulty increases and looked at how many lines call on the joy0fire and replaced that with a boolean operator since I define a bit for when the fire button is pressed or not.  During my limited tests I did not come across a scanline issue so I am hoping this leaves to any other potential bugs to a minimum.  

Edited by KevKelley
  • Like 1
Link to comment
Share on other sites

Thank you @ZeroPage HomebrewHomebrew for playing my game. 

 

I was starting to look at just what to do to make the 2-Player mode a bit more balanced, at least in that first screen seeing that James was so devious in his takedown in how he dropped the litter. 

 

I also adjusted the the things like the power line to start a little earlier. I may also slow down the Karen a little, being that it seemed joystick vs keyboard seemed way harder.

 

I will have to figure out the "sky trash" bug, as I had never experienced that before in recent testing. Seeing it's placement or patterns I think that comes from when litter is generated on the far left or far right of the screen but I have a check that skips placing litter if it is in those zones.

 

I'll have to watch the replay to see the exact playing conditions, if it were single or two player mode and what screen (I think it was the drop screen). For the mean time I shortened the zone to more central screen before I test next.

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

As for the 2 player mode, I thought I could cause a bit more of a delay in placement or prevent dropping in long lines or maybe have a grace period before the Karen starts getting mad so if you make a run on the top line you have a chance... Any suggestions welcome but it may be hard as I have kind of filled up that first bank. 

 

But I had found a couple strategies while playing, as I saw last night you guys had some as well. For instance, you can kind of try to hit the litter in her path and go back and forth until you have a good gap to hit the bottom litter. Or you could let her hit the top few and focus on the bottom. Or try to line up just right and pick up double litter. Definitely interesting to see how others play it. 

  • Like 1
Link to comment
Share on other sites

So I cannot seem to replicate the "sky trash." I tried to push the boundaries to get anything to appear. I found one way for the Litterbug to drop trash and have it appear on the other side of the screen but it didn't appear in the sky. I added a check for the player coordinates once converted to playfield coordinates so that it may skip the litter code and that seemed to prevent that. 

 

The only other thing I could think of is that between the litter drop screen and pick up screen since the player sprites swap somehow during that transition it activated the litter code resulting in some sky trash. 

 

Apart from that I do wonder if it could be a hardware thing. I will have to test it on my console a little more. I only did a brief test a couple days ago and played poorly since I used my crappy joystick (that's my story anyway).

 

I also found that I can get a scan line jump if pressing the fire button during transition when the player is set at the bottom of the screen. I am working on adding checks to those but that is inconsequential to gameplay.

 

Another odd thing I noticed is that I mentioned picking up two pieces of litter at once. I had done this many times where if two pieces of litter are one on top of the other if you strike close to the middle of both you can pick up from two lines on the y-axis. I tried doing this today and the pickup seemed more precise despite me not editing any of that code. I tested in two player mode and it seemed almost down to the pixel when picking up trash which definitely makes it harder! Not sure what changed there.

 

Now I have to do some critical thinking! ?

  • Like 3
Link to comment
Share on other sites

Updated first post with new .bin.

 

I still have not gotten any Sky Trash but I slowed down the Karen a bit and have her incrementally speed up as the game progresses.

 

I also reworked the pickup code a little bit as I noticed a change I had made prevented picking up multiple pieces of trash at once.  Not quite sure how my change made that happened but @Arenafoot gave me the idea to have the more precise picking up as a switch option.  I think I may do that as well as add it down the line for more difficulty.

 

I also altered the two player mode a bit, slowing down the litter placement on the first screen and changing the Karen movement when the fire button is pressed on the second screen.  Still thinking of ways to tweak it to make it more balanced.

 

I also think I figured out my Scan Line issue.  I had noticed it was originally occurring later on in gameplay and while I thought it was an issue with pressing fire I think I isolated it to the wind code, where a piece of litter may randomly move or disappear.  After some reworking I think I eliminated the issue.  While I had originally added it thinking it would increase difficulty because the trash may move right when you go to pick it up, when testing it didn't really impact gameplay so I may eliminate this section altogether or find a different way to make the litter move. 

 

 

  • Thanks 1
Link to comment
Share on other sites

So I got the Sky Trash! 

 

I used my Harmony cart on my Sears Video Arcade II (as my other 2600s are all finicky).

 

And then when I pressed continue the litterbug started at the top of the screen and went to the bottom line during a transition and then the Karen appeared when no litter was on the screen with no trash. When she gets to the bottom you lose a life like normal and then the continue works as normal.

 

So not sure if this has to do with how the resets work during the transition, as I had not experienced this while testing on my computer.

 

So now I wonder if the Sky Trash and Continue bug are a result of hardware versus emulation and I have no idea where to start on that. So I guess more reading for me!

 

IMG_20220618_131638.jpg

Edited by KevKelley
  • Like 1
  • Haha 1
Link to comment
Share on other sites

Another strange bug I noticed a couple days ago was that in the beginning during the first few litter drops if you press the fire button nothing happens if you try to empty the basket prematurely. But when I played the other day if you pressed fire the litter on the playfield would generate. 

 

This makes me lean more towards thinking this has something to do with variables resetting. I know I had asked a question a month or two ago about Superchip variables resetting. Maybe the weird issues are a result of it booting up and having random values.

  • Confused 1
Link to comment
Share on other sites

  • 1 year later...
4 hours ago, StormyWeathers said:

is this still on? 

Still on as in being worked on?

 

It is almost finished up. I was testing to make sure there wasn’t any crazy bugs that were somehow missed but I haven’t experienced anything. I still have to double check on hardware regarding the last time I tested I had some issue. I was also playing around with some art for labels but not sure where I will go from there. 
 

I had about 7 or 8 projects I am wrapping up simultaneously, some more complete than this. I had completely forgot about one of the above mentioned bugs but I was hoping to finish soon but I doubt I will get done by end of year, as we now approach my busy time at work, and that is usually when I program. 

Edited by KevKelley
  • Like 1
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...