KevKelley Posted October 5, 2021 Share Posted October 5, 2021 (edited) 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_30_2021.bas.bin CB_2022_08_15b.bas.bin Edited August 16, 2022 by KevKelley 10 Quote Link to comment Share on other sites More sharing options...
KevKelley Posted October 5, 2021 Author Share Posted October 5, 2021 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. Quote Link to comment Share on other sites More sharing options...
KevKelley Posted October 5, 2021 Author Share Posted October 5, 2021 I also got excited with this because my son started Computer Science but I didn't realize how different they teach programming nowadays. My son calls this stuff "back in the day" kind of stuff. Lol Quote Link to comment Share on other sites More sharing options...
chewy Posted October 5, 2021 Share Posted October 5, 2021 can you explain how to play again but like at preschool level, i completely dont get it but the graphics and movement look nice. 1 Quote Link to comment Share on other sites More sharing options...
KevKelley Posted October 5, 2021 Author Share Posted October 5, 2021 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. 1 Quote Link to comment Share on other sites More sharing options...
KevKelley Posted October 8, 2021 Author Share Posted October 8, 2021 (edited) 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. Edited October 8, 2021 by KevKelley 2 Quote Link to comment Share on other sites More sharing options...
KevKelley Posted October 9, 2021 Author Share Posted October 9, 2021 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. 1 Quote Link to comment Share on other sites More sharing options...
KevKelley Posted October 9, 2021 Author Share Posted October 9, 2021 (edited) 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 October 9, 2021 by KevKelley 3 Quote Link to comment Share on other sites More sharing options...
+ZeroPage Homebrew Posted October 11, 2021 Share Posted October 11, 2021 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! ZPH Twitch Stream: https://www.twitch.tv/zeropagehomebrew/ Games: ISS (2021 | 2600) by @donnerkuh Keep Them Out (2021 WIP | 2600) by Vladimir Zuñiga @vhzc Lawn Boy (2021 WIP | 2600) by Kevin Kelley @KevKelley Cone Ball (2021 WIP | 2600) by Kevin Kelley @KevKelley After Dark Starmaster (1982 Patch Attempt #1 ?/7600 @ Game 3/ Wing Commander) by Alan Miller 1 Quote Link to comment Share on other sites More sharing options...
KevKelley Posted October 12, 2021 Author Share Posted October 12, 2021 (edited) 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): Edited October 12, 2021 by KevKelley 2 Quote Link to comment Share on other sites More sharing options...
KevKelley Posted October 12, 2021 Author Share Posted October 12, 2021 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. Quote Link to comment Share on other sites More sharing options...
KevKelley Posted October 15, 2021 Author Share Posted October 15, 2021 (edited) 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 October 15, 2021 by KevKelley 1 Quote Link to comment Share on other sites More sharing options...
KevKelley Posted October 15, 2021 Author Share Posted October 15, 2021 (edited) 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. Edited October 15, 2021 by KevKelley 1 Quote Link to comment Share on other sites More sharing options...
+ZeroPage Homebrew Posted October 15, 2021 Share Posted October 15, 2021 13 minutes ago, KevKelley said: Updated .bin in first post. Looks like you might have uploaded the uncompiled .bas file. I tried renaming it with .bin but it didn't run. - James 1 Quote Link to comment Share on other sites More sharing options...
KevKelley Posted October 15, 2021 Author Share Posted October 15, 2021 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. 1 Quote Link to comment Share on other sites More sharing options...
KevKelley Posted October 16, 2021 Author Share Posted October 16, 2021 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. 1 Quote Link to comment Share on other sites More sharing options...
KevKelley Posted October 16, 2021 Author Share Posted October 16, 2021 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 3 Quote Link to comment Share on other sites More sharing options...
KevKelley Posted October 20, 2021 Author Share Posted October 20, 2021 (edited) .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 October 20, 2021 by KevKelley 1 Quote Link to comment Share on other sites More sharing options...
KevKelley Posted October 24, 2021 Author Share Posted October 24, 2021 (edited) 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 October 26, 2021 by KevKelley 1 Quote Link to comment Share on other sites More sharing options...
KevKelley Posted October 30, 2021 Author Share Posted October 30, 2021 (edited) .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... Edited October 30, 2021 by KevKelley 1 Quote Link to comment Share on other sites More sharing options...
KevKelley Posted November 4, 2021 Author Share Posted November 4, 2021 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! 2 Quote Link to comment Share on other sites More sharing options...
+ZeroPage Homebrew Posted November 9, 2021 Share Posted November 9, 2021 ZeroPage Homebrew is playing Cone Ball on tomorrow's stream LIVE on Twitch, hope you can join us! Tue Nov 9 @ 6PM PT | 9PM ET | 1AM GMT+1Day WATCH: https://www.twitch.tv/zeropagehomebrew/ Games: Qix (2021 Exclusive WIP Update | 2600) by John Champeau @johnnywc, Nathan Strum @Nathan Strum (Graphics), Bob DeCrescenzo @PacManPlus (Sound) Tober's Nightmare (2021 WIP Update | 2600) by Mick Crocker @mickmuze Cone Ball (2021 WIP Update | 2600) by Kevin Kelley @KevKelley (WATCH AT 1080P60 FOR FULL QUALITY) 1 Quote Link to comment Share on other sites More sharing options...
KevKelley Posted November 10, 2021 Author Share Posted November 10, 2021 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! Tue Nov 9 @ 6PM PT | 9PM ET | 1AM GMT+1Day WATCH: https://www.twitch.tv/zeropagehomebrew/ Games: Qix (2021 Exclusive WIP Update | 2600) by John Champeau @johnnywc, Nathan Strum @Nathan Strum (Graphics), Bob DeCrescenzo @PacManPlus (Sound) Tober's Nightmare (2021 WIP Update | 2600) by Mick Crocker @mickmuze Cone Ball (2021 WIP Update | 2600) by Kevin Kelley @KevKelley 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! 3 Quote Link to comment Share on other sites More sharing options...
+Karl G Posted November 10, 2021 Share Posted November 10, 2021 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. 2 Quote Link to comment Share on other sites More sharing options...
KevKelley Posted November 10, 2021 Author Share Posted November 10, 2021 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! 1 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.