Saturday, February 9, 2019

Car Spawning Continued


Got the second on third car spawning with different movements each.
  • The red car on top moves at an average speed.
  • The yellow truck moves at a slow speed.
  • The pink car moves quickly and alternates between the two lanes above and below the truck.  

They spawn at different score intervals.  This variable speed allows for the Bag Boy to weave in and out with the shopping cart with moderate difficulty.  There is also the added element of the second customer who attempts to take the shopping cart from you and eventually the customer waiting at the top will have random movements so that one cannot simply head to the top and wait or predict the position with great reliability.

The shopping cart will also chase the red car to keep it constantly moving upwards but it would be able to collide with the other cars so you cannot just sit at the top and wait for the cart to arrive.

Friday, February 8, 2019

Car Spawning!

I have finally moved onto car spawning!

While I had the one car at the top of the screen that always passed, I have started to experiment in getting other cars. 

First I tested utilizing other banks.  I wasn't quite sure how to put code in another bank and have it interact with the rest of the program.  It didn't really take long and wasn't quite difficult.  I have plenty of open space in a few banks so I was planning on trying to use each bank for a purpose to be determined at a future time.

Once I got the code I used the score to initiate a new gameplay element but had trouble figuring out how to do so.  I eventually learned how by defining the segments of the score and then having the game check when a value is met.

So now once the score reaches 100 a yellow truck appears.  I will of course have to determine how the second customer and cart interact with these new obstacles but the game is looking more and more like a game so I am excited!

Teleportation fixed!

Flipped some order of the code regarding collision checks and changed the line that verified if the sprites were not touching and lo and behold the teleportation was fixed and collision detection worked! 

Thursday, February 7, 2019

Stumped On Cart Teleport

Still stumped regarding the teleportation of the shopping cart but I did solve the wandering cart problem - when collision between Bag Boy and the shopping cart occurs I told the game to skip over the chase code for the shopping cart so that it wouldn't pull away and go after the car. I will have to fix the spawning of the second customer because I have noticed that they now meet off screen so I may make the second customer appear only when the cart hits a particular y-coordinate.  I still have not touched the car spawning code.  Once I do I will introduce other cars and determine how the cart will interact with the other cars.

I am thinking I may just have the cars alternate lanes at first but when the difficulty increases, I will have the cart chase the car with the greatest distance between them to provide more of an opportunity for Bag Boy to intercept.  I think I may also let the second customer get hit by the cars.

Wednesday, February 6, 2019

Cleaning code, fixing things...

I had cleaned up about 500 bytes of code. Still trying to figure out why the cart teleports when touching the virtual sprites. I did create a purpose for the second customer. Should he grab the shopping cart he will hold onto it and sap your score. 

Tuesday, February 5, 2019

Added Customer/Collision Detection

Still working with collision detection causing the shopping cart to jump to the location of the Bag Boy when he lingers over a virtual sprite. I am sure I am probably missing something simple since I am not 100% finished updating my collision detection.

And just for fun I had added another customer Sprite who will chase the shopping cart in the parking lot. If he touches the cart it will deduct points. You must touch that customer to get rid of him (or grab the cart and out run him). I had considered introducing him should a player take too long or just to add a little difficulty by making a moving obstacle. If this works out I may revisit the dog idea I had when I first started making this game, where the dog will chase the player.

Monday, February 4, 2019

Collision Detection

I was confused why everytime I would detect collision between Bag Boy and the customer or car and the shoppimg cart but after reading that since they were all virtual sprites and technically copies of each other I had to do a different method of collision detection. With help from the AtariAge forums I made code that essentially creates a box around the sprites and when the x or y coordinates overlap in a given 8x8 pixel sprite area collision is detected. I also included a line that if pixels do not touch in this box than to ignore.

This method seemed to have worked. Now the cart doesn't seem to linger or hip around. I went ahead and programmed collision between Bag Boy and the car but did not make ant loss of life - I had a hard time utilizing life counters or life bars with this kernel and am not certain whether or not they would be compatible. If not I might be able to utilize a missile to serve this purpose. Unlike in the original Bag Boy!, where the car had a health bar, I have considered making the bar act as a timer for getting the cart to a customer in addition to the score. This may help provide difficulty and some other strategies.

But before I start on the life counters I want to work on car spawning. I have considered keeping a particular car for each lane, each with their own movement. For this I may add a global counter with each car reacting differently to it.

Friday, January 25, 2019

Basic Gameplay!

Here is a quick look at some basic gameplay for Bag Boy!

Movement!



I have been hard at work programming. Got some simple movement programmed for the player, customer, cart, and car.

While playing around with the code, I changed up a game play aspect involving the cart. In the previous standard kernel Bag Boy the player would basically intercept a cart before it hit the car. In this version the player grabs a cart and returns it to a customer walking in front of the grocery store.  Once delivered the cart re-spawns.

A couple issues I am having are that the car constantly spawns on the bottom aisle, the player has a hard time holding the cart, and when the cart touches the customer it can sometimes linger gaining extra points or bounce around, get loose, and head back to the car.

I had also shortened Bag Boy's legs by one line.  I had thought he was looking rather tall, especially when compared to the cars.  I am still looking to see if I can stretch out the cars a bit so they don't seem so disproportionately small but I kind of like the way they look. 

Thursday, January 24, 2019

DPC+ Sprites

Still working on reprogramming the original Bag Boy over to the DPC+ kernel and have been working on new sprites.

Here is what I have gotten so far:


I have a player, cart, customer, and 2 cars.

My thoughts on game play is having difficulty get progressively more difficult with the cars going down the various lanes while the shopping cart may move towards one of them.  I am thinking as things get harder the cars may present more obstacles.  I was also considering using the customer as either a hazard, as in he will chase after you if the cart is in play for too long or possibly have a wave where the cars are parked and you must get to the customer first from when they leave the store to when they get to the car. Once you touch them they turn into a cart that you return to the store.

These are just all thoughts that are floating around right now and is way in the future but I feel that I have more opportunities with the DPC+ kernel than the standard one, which I found I reached 8k rather fast and it had very simplistic graphics.

Saturday, January 19, 2019

DPC+ Experimentations


Progress has been slow on my game due to life but I have been slowly working on it but if my understanding is correct I will need to rewrite a lot of the code to try and keep it at or under 8k.  Plus I had used up all of my variables early on when I used them a lot when I had first started not understanding the Atari's limitations fully. 

Because of these reasons, and my wife's insistence that the square car better resemble a car it had led me to try and experiment with other kernels, such as the multi-sprite or DPC+ kernel.  While I was doing alright with the multi-sprite kernel, I had felt that the DPC+ might provide with more opportunities for the game that may cater better to my skill level and desire.  I would still like to finish up Bag Boy! using the standard kernel but I think while I work on rewriting the code I can plug it into the DPC+ kernel with some graphical improvements and some game play tweaks that might be positive. 


So the standard kernel would be "Bag Boy!" but I am considering the DPC+ version be something like "Bag Boy Plus!" or something along those lines to differentiate the two.  I think doing a standard kernel version would be a great challenge and learning tool.

Anyway, here is a simple screenshot of what the new playfield and sprite for Bag Boy looks like at the moment:

This could be seen as an improvement over this:


Manatee Madness!

Stage work is coming along nicely, with the foundations laid down for the Rain, Snow, and Volcano stage. The Black Friday stage is proving ...