Jump to content
IGNORED

[WIP] Cone Ball


KevKelley

Recommended Posts

This was a little game my boys asked me to make during some of our pandemic time.  The basis for this game was a little sidewalk game I played with my boys.  They each set up four cones a few feet away from each other.  They took turns rolling a ball back and forth trying to push each cone across their designated goal.  It was a simple game but it was fun so my son had asked about making it into an Atari game so I said "Why not!"  

 

I decided on a simple standard kernel and I had used this to just practice some things and have been playing around with this one on my lunch breaks.  

 

Title:

Cone Ball

 

Gameplay:

Each player can shoot at or grab and throw a ball towards four "cones" trying to get the cones across the goal, or back wall of the opponents side of the screen. 

 

To do:

This game is essentially complete.  It has some glitches to work out but I do want to add the following:

  • Fix intermittent scanline issue.

CB_10_04_2021.bas.png

 

 

 

 

 

 

 

 

 

CB_10_30_2021.bas.bin

CB_2022_08_15b.bas.bin

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

When I was playing around with some of the various settings to try and give a nice distinguishable appearance I came across having the ball a different color than the playfield.  Thought that worked out perfectly, as each half of the screen and players are different colors so it helps the ball stand out.

Link to comment
Share on other sites

3 hours ago, chewy said:

can you explain how to play again but like at preschool level, i completely dont get it but the graphics and movement look nice.  

So the yellow player must hit the four yellow rectangles all the way over to the left of the screen with the ball. 

 

The green player must hit the green rectangles all the way over to the right with the ball.

 

Each player can shoot the ball or if they grab it they can hold onto it and either move it somewhere else or try to aim and throw it at a faster rate. 

 

Each player can also shoot the opponent causing them to disappear for a moment. 

  • Thanks 1
Link to comment
Share on other sites

Updated .bin

 

Changed the titlescreen and added a player victory screen that after a press of the fire button (depending on which player won that round) which will reset the screen and clear the score bars but not the player scores.

CB_10_07_2021.bas.png

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

Updated .bin in first post.

 

I added a simple AI and fixed a scanline issue. The AI doesn't do everything yet but it was a test.  So far I like it and it works as a basis. Also worked more on intro screen and added the option for one player or two player.  

 

Also changed how many pfpixels the blocks move when the ball hits them. Figured it may speed up gameplay but may have that added for difficulty level.

 

 

 

  • Like 1
Link to comment
Share on other sites

Updated .bin

 

Noticed I still had a scanline issue typically when the ball is thrown and hits a pfpixel.

 

Also noticed that the game doesn't immediately register it as single player until the player presses left. Also noticed that when starting the sound is sometimes stuck on and the missile0 seems to move in the direction of the player. This was due to me accidentally due to using a variable for multiple things. I fixed those couple things.After some consideration, I am considering eliminating the shooting for something else, as when I would try playing it the shooting didn't really come into play too much. I thought it was weird because all yesterday I didn't come up with any issues with the sound and missile but when I started it today it happened.

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

ZeroPage Homebrew is playing Cone Ball on tomorrow's (Tue Oct 12, 2021) stream LIVE on Twitch at 6PM PT | 9PM ET | 1AM GMT+1Day! Hope you can join us!


Games:
After Dark
  •  Starmaster (1982 Patch Attempt #1 ?/7600 @ Game 3/ Wing Commander) by Alan Miller

1935569473_20211012-LetsPlay.thumb.jpg.7f8cf50e59adb7c2e5ea1eecbdbfd7b8.jpg

  • Like 1
Link to comment
Share on other sites

Updated .bin in first post.

 

I was playing around with the new missile mechanics.  Right now I have it to where once you start each player's missile is on the top and bottom of the screen bouncing back and forth.  Each time you touch the ball the missiles will return to the player. Press fire and the missiles are set to go back and forth until the player touches the ball again.

 

The AI still needs some work but it is playable for now. 

 

I also tried to work on the scanline issue when the ball collides with the playfield pixels.  I fixed some but not all of the issues.  Trying to figure out the best way to rewrite some of the code but the occurrence is reduced from before (at least during my brief testing) and seems to only happen on occasion when throwing the ball or holding it and touching a pixel.  I'm thinking I will just have to define the temp variables based on three conditions - regular, thrown, and hold. Then I can try and consolidate and eliminate any conflicting code. 

 

My son playtesting before we return to classwork (he won but it got close):

IMG_20211012_115634.thumb.jpg.c6a0189693b41d615685b6648575398a.jpg

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

My son liked the new missiles. He liked the shooting before but it was hard to get an immediate result - you had to aim and shoot at your target and only if it hit something happen. With dropping the balls down and having them bounce back and forth it became a bit more frantic and he liked trying to lay traps while he moved on the ball. 

Link to comment
Share on other sites

Updated .bin in first post.

 

After watching the @ZeroPage Homebrewstream I made a couple changes.  I sped up the player movement a bit.  I had also added a menu to select whether or not you would like an angled shot or a straight shot. 

 

Also, during the main game if you hit the reset switch it will reset everything and start over.  

 

EDIT!

 

I had a chance to work on the game some more on lunch and so I programmed a color selection menu as well. 

 

So when the game starts it asks how many players, direction of shot, and then what color the players will be. 

 

I started to look into one more option - the choice for players to set their cones or go with standard playfield.

 

Then all that would remain would probably be some sounds.  I think if the ball makes sounds when it bounces, when the players throw the ball, when the players die, and maybe a winning game sound, like a few notes. 

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

Updated .bin in first post.

 

So working on this some more today since I actually had a moment and I added the playfield editor option...

 

So now you have the option of a 1 or 2 player game. You then select whether you shoot straight or angled. After that you select either the standard playfield or the choice to draw one.

 

If you draw your own field, you must draw a minimum of 4 blocks on either side of the screen.  You can draw more if you like. Once the desired number of blocks are drawn each player must touch their colored missile in the middle of the screen. This will cause the game to start.

 

So far I had only came across one issue in all my edits, where the blocks would not drop if they reached the end.  I've been trying to narrow down causes but it is not becoming obvious to me just yet.  It most likely is a result of some sloppy coding of mine while I was at work. I will give it a closer look at a later date while it eludes me. I had noticed in the past that the block drop code had some glitchiness, like sometimes it would pause when the fire button is pressed or would move along with a player.  

 

Apart from that issue, once I fix that I just have to add some sounds and this will essentially be done.  

 

 

CB_10_15_2021a.bas_6.png

CB_10_15_2021a.bas_5.png

CB_10_15_2021a.bas_4.png

CB_10_15_2021a.bas_3.png

 

CB_10_15_2021a.bas_7.png

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

10 minutes ago, ZeroPage Homebrew said:

Looks like you might have uploaded the uncompiled .bas file. I tried renaming it with .bin but it didn't run.

 

- James

I deleted that .bas file.  I guess I had it mixed with the pics when I selected them. I updated the first post with both a .bas and .bin.  

 

I had been playing around with some values and in my latest tests the block seems to drop now so hopefully the game is good for now.  I still need to revisit some code if the problem persists.

  • Like 1
Link to comment
Share on other sites

I was trying to increase my testing of this so I popped this on my AFP. Noticed it played well but did notice a couple graphical differences.

 

In Stella, Javatari, and Emu2600 the ball matches the color of the score. On the AFP the ball matches the color of the playfield and the left digit of the score is gone. Thought this was kind of curious. I assume this is just another AFP quirk. 

 

But as a side note, it definitely made play harder when it was difficult to differentiate the ball from the missile. Perhaps I can squeeze some non-couch compliant options with the switches.

IMG_20211015_204740.jpg

  • Like 1
Link to comment
Share on other sites

Worked a little bit on the AI to add some throwing and maybe some different behaviors when moving.  Tight on space so I am trying to work on some basic movements before I look to see how to get more.

 

I had a couple other thoughts.  I had programmed the AI one way where it kind of grabbed the ball and throw it but sometimes it would try to recover the ball quickly and throw it again in rapid succession.  This resulted in the blocks getting pushed quickly towards the goal and was actually pretty challenging but I ran out of space and the AI would kind of intercept the ball at every chance you gave it unless you hit it with the missile and rushed their goal.  

 

This AI is a little less aggressive but seems balanced.  

 

My other thought is to expand this to 16k simply to have another bank for the AI.  I kind of want to avoid doing this because I would rather try and work on my code first and see how well I can do it with the limited space.

 

Here is the working .bin of it.  

 

 

CB_10_16_2021ai2.bas.bin

  • Like 3
Link to comment
Share on other sites

.bin on first post updated!

 

Still working some things out to make the game more stable.  

 

I wound up expanding to 16k because it made it simpler to move things around and play around with some ideas.

 

In the process I fixed some behaviors of the missiles so that they do not get stuck in the walls resulting in some annoying sounds. I also tweaked some things when you grab the ball so that it does not have any conflicts when you walk through a block.  I had considered making the players automatically grab the ball, as suggested as a possibility in ZPH but I decided not to for a couple reasons.  One is that by not automatically capturing the ball it allows the player to have two different interactions - grab and throw or block and bounce it back.  The other reason is that I like grabbing things in Atari games, as is evidenced by my other games I am working on. 

 

I also tweaked the AI a bit more.

 

For the most part all the scan line issues have been fixed* but they only appear to be present in the single player mode so it leads me to believe it is a result of some of the AI code, which I admittedly just kept adding various lines until the AI did a variety of different things - move back and forth, chase the ball or player but not all the time, drop the missile and throw the ball, and probably most importantly, score some goals.  I am sure there is probably a line or two that conflicts with some other part of the code.  While I haven't had any issues on hardware yet, I just want to rule out any issues that may break the game.

 

I think that some of these changes really improved the enjoyment of the game so I hope you all enjoy and hopefully my next update brings this even closer to completion!

 

*I was going to go to bed but then noticed a couple issues still remained that didn't present themselves when I posted this.  I'll investigate tomorrow as to why but the only time I saw them come up was under single player or with angled shot.  So... I am getting closer to the cause! And the solution!

 

 

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

EDIT: Added a simple little intro "song," sounds when you select the menus, when you drop blocks in the Field Draw menu, and when either player wins a round.

 

.bin updated on first post.  

 

I started rewriting the AI from scratch.  I was taking a different approach to how its actions are determined, with certain conditions separated in blocks. I think with it this way I reduce the chance of any conflicts, as I was experiencing some scanline issues in single player mode and with angled shots. This new AI is much like the old one but with a few more tweaks it may be an interesting opponent.

 

I also started to try and consolidate any checks I had on variables or bits that may have resulted in these issues as well and so far things are progressing nicely.  

 

 

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

.bin updated in first post.

 

So still cant quite figure out the scanline issues I am getting from multiplayer mode but still working on it.  I tried it out on my Atari and TV for the first time and the only issue I would get would be the screen may move a few pixels down and then back.  

 

While I try to figure that one out, I had worked on a little more options.  I have added a "Teddy Bear" mode, that when pressing down on the player select menu would turn on the "Teddy Bear" mode.  This makes an easier AI and takes away the enemy's missile.  This is in part because I wanted to make this game playable for all and because my children helped come up with the rules.  It would kind of suck if they couldn't play the game they helped develop. 

 

I had also made the color switch change the player of the ball.  I may use the game select switch or if I feel up to it make another menu select for it...

CB_10_29_2021ai3_4.bas.png

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

Still fiddling with the code trying to minimize the scanline issue. I may post the source file if anyone wants a peak but my code is super sloppy.

 

Also, playing around with adding an additional option of allowing cones to be hit both back and forth. 

 

And I realized it is not 100% Couch Compliant, as to fully reset the game one would have to use the switch so I will probably make the option to do a full reset after each round or to continue play. 

 

I ran out of time on my lunch to post a new .bin but will work on finishing up these things before I do. Just a quick update!

  • Like 2
Link to comment
Share on other sites

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


Games:

(WATCH AT 1080P60 FOR FULL QUALITY)

 

  • Like 1
Link to comment
Share on other sites

On 11/8/2021 at 7:04 PM, ZeroPage Homebrew said:

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


Games:

1326174817_20211109-LetsPlay.thumb.jpg.fde03c28aaeed0a72b31e8f4ba03441f.jpg

I had full intentions of tuning in. My wife was even down to watching with me. And then I fell asleep! I hope it was a good show and can't wait to watch!

  • Like 3
Link to comment
Share on other sites

4 hours ago, KevKelley said:

I had full intentions of tuning in. My wife was even down to watching with me. And then I fell asleep! I hope it was a good show and can't wait to watch!

It happens! ? It was indeed a good show. There were some good suggestions on possible balance tweaks, too.

  • Thanks 2
Link to comment
Share on other sites

43 minutes ago, Karl G said:

It happens! ? It was indeed a good show. There were some good suggestions on possible balance tweaks, too.

Cant wait to hear them, as I mostly make them and play by myself so it is definitely helpful with the kind of feedback everyone provides! 

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