Once upon a time, cute and fluffy street thugs decided to settle a score they had with a friendly round of street ball. Their skirmishes grew intense and it wasn’t long before weapons got involved. Their game of street ball evolved into Bullet Ball. Since then, they’ve forgotten why they were even fighting and continue their battle today.
The object of the game is to get the ball into the opposing team’s hoop. You will have an arsenal of 8 weapons and power ups to aid you or your team to victory.
You can run, jump, aim (in 8 directions), shoot and toss weapons or toss ball.
Player 3 to Player 4: Configure your controllers how you wish.
WARNING: 4 PLAYER HAS NOT BEEN TESTED WITH CONTROLLERS YET!
Ctrl+R will instantly reset the game.
WARNING: if you reset your game and you made a custom map with the map editor, it will default back to the skeleton map. You will have to rebuild it. If you want to leave your current round, but keep your custom map, press ENTER and select "exit round". This will reset the game, but map selection will still have your map as the first one.
Starting a Game
Select 2 or 4 player. Set score limit if you wish. Default is 10 points to win. The game will begin with the characters in their default spawn positions on the second map, unless a custom map was made and saved. Then the game will start on the first map. The first map is blank and reserved for the map editor. The game has 11 default maps as shown:
Scroll LEFT or RIGHT to pick a level and press X. You can now select your character by pressing UP or DOWN and pressing X. Once both (or all 4 if in 4 player) players have chosen their character, the game will start. You can choose one of the following 4 badass characters: Fluffy the bunny, Muffin the mouse, Stubbs the dog, and Patchy the cat.
Get the ball in the opposing team’s hoop. The first to score 10 points wins the round.
You can only hold one item: the ball or a weapon. Once a weapon is discarded, either by touching the ball, using up ammo, or tossing it (knife and star), another weapon will immediately spawn in a random position on the map.
Powerups will also randomly spawn on the map after some time. Regular powerups restore 1 heart of health. Each character has a special powerup that will grant them full health and invincibility for 5 seconds. If the player touches a powerup that does not match the character, the powerup will act like a regular powerup and only restore 1 health.
You have 3 hearts of health. If you lose all 3, you die and respawn. When you respawn, you are invincible for 1 second.
Using The Map Editor
Press Z to bring up your editor panel and press Z again to hide it.
Press X to make your selections.
Use arrow keys and X to design your map. You can erase a tile, simply by moving the cursor onto it and pressing X.
You can mix and match your tiles. You have a lot of freedom in the editor so be creative and have fun. Just remember, that if you want to share maps (via image post here), make sure they are symmetrical, so that both sides have equal chance.
NOTE: Leave at least 2 open vertical spaces at the first column of tiles (left of screen) and last (right of screen). The game code picks these spaces as spawn areas. If you make a column of blocks from the floor up to the block that holds the hoop, with no spaces, the players will end up spawning inside the blocks. This may cause a crash or other unintended effects.
FILL will set all the visible tiles to whatever tile you have selected.
SAVE will activate the map and add it to the beginning of the map list.
EXIT will go back to the main menu. If you saved your map and start a new game, your custom map will be the first choice.
Thank you. I checked out Killer Queen. Pretty interesting. I knew right from the get go that there would be strategy involved, especially in 4 player. It's going to take a lot of beta testing I think to shape up the maps, and timing for different elements of the game. One of my most favorite games over the past 2 decades has been Soldat www.soldat.pl, and getting the right balance in that game took years. Some players still aren't satisfied with it.
I was tempted to put Bullet Ball in the completed carts section, but if I got this far and it has been a bit of a battle, then I'm going to see it through until I and everyone who plays it is satisfied with it.
Thank you so much Krystman. My first beta tester suggested 10 new and even more outrageous and hilarious weapons, so there most likely will be a Bullet Ball 2. However, before getting ahead of myself, I still have just a bit more to finish on this version. I should have it updated by tomorrow, and will be moving it to the finished carts section. YAY! I squashed the last bug (which actually wasn't so much a bug - just that the ball needs to fall, if the carrier dies), added a score limit option to the main menu and am currently in the process of doing some last minute sfx updates. I've optimized the crap out of it and squeezed out about 200 tokens, which I then used for the updates.
I do apologize that you can't play it against someone currently. I really wanted AI for single player. I've looked into multi-cart loading, but not sure if I could cleverly run blocks of code from a second cart (cheating the current restrictions).
My ultimate plan is a NES rom with 16x16 sprites.. but again, I have to swat that fairy away until I'm ready for that if I should get to that point.
Also, since you inspired my to finish this, and that you've shared so much (all those tutorial videos, the post mortem, projects you've done), in the same spirit, I'm going to post a very thorough tutorial post on how I made the base platforming code for the game. It can be condensed down to I dare say 60 lines and uses look up tables, just like Super Mario Bros does. The tutorial will be aimed at newbies (those with no coding experience or struggling with coding). It's very verbose at the moment, because, I seem to type faster than I think I feel. XD
Thank you again. :)
This rocks haha. The items and physics definitely make this feel like a 'real' game (hopefully that's not a too backhanded complement in the Pico community). My only request, if I had one, would be a game speed option. Tried it with a friend and our stupid brains would benefit from it being half or 2/3 speed. Good luck with the NES port!
Yea I've been told this by beta testers as well. If the consensus is that the floors feel too slippery, I'll upload an update with a bit more friction.
I have a variable that acts as a slowdown timer when you are either in the air or on a surface. In the air it's set to 4, on a surface, set to 2. I find that if I set it to 1, the surfaces (to me) feel sticky. The magic number would be between the two, but that's not possible with the timer. I've tried my best to emulate the same physics as Mario on the NES, but it's still not perfect.
So we'll see, if the surfaces are too slippery, then I have no problem uploading an update. It should be fun, not frustrating. :P
This is just a quick update. There was a problem with 4 player (no proper collision or animation). I still had some code in from when 2 player was being tested and missed updating those bits of code. This is fixed now, so 4 player is fully functional.
On the note of 4 player being functional, it seems I was able to get 4 NES dpads working. I have a NES FourScore which I plug into a 2NES2USB adapter. While I'm probably the ONLY Pico-8 dev/player who has that particular adapter, what is good is that this time it worked. I used Gamepad Tool to configure the NES pads (I only had to do 1 pad), and all of them functioned for all 4 players. Not sure what changed, but I think then if 4 USB controllers are plugged into a computer - Pico-8 might pick them all up. Joy2Key may no longer be needed for player 1 and 2. We'll see.
[Please log in to post a comment]