Log In  


Cart #pico_ball-1 | 2025-07-30 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
16

A PICO-8 sports game starring Jelpi!
[8x8]

Play solo or together in a mashup of tennis, volleyball, squash, and wallball where the only rule is:

two bounces on one side is a point for the other.

Controls

I recommend that you PICO-8 veterans go to 'game settings' from the pause menu to make the controls work better for controller and z/x keys. The game is playable with just arrow keys for each player but it may make things a little harder for some if the settings aren't changed.

The controls should all be in the game, but for those who aren't familiar with PICO-8: ESDF is used for player 2 instead of WASD so it works on many international keyboards as well as QWERTY. (And the game does work with controllers!)

Gamemodes

Solo

  • 🏆Campaign: Help Jelpi ascend the ranks and meet an old comrade...

  • 🧱Wall: Play a solo match against the wall (The Unbeatable Opponent) to see how long you last (powerups come in handy here)

  • 👁️Spectate: Watch opponents previously defeated in campaign play against each other (could be together...)

Together

  • 👊💥Versus: Face each other in a PICO-BALL match, powerups add a lot of depth, craziness and sillyness

  • 🤝💖Co-op: Work together to keep the ball(s) in the air (the powerups both aid and hinder your juggling ability)

Campaign Opponents 💥🏆

  • Strider
    [8x8]
    Newcomer to the game, has a hard time getting shots that go way over their head

  • Heli
    [8x8]
    There isn't a rule against flying, but luckily this helicoper-creature isn't too good at catching up to a quick-moving ball

  • Frog
    [8x8]
    [8x8]
    A dapper frog that uses his tongue for some crazy trick shots (which work about half of the time)

  • Bird
    [8x8]
    This opponent is actually good at flying and is not afraid to come over to your side, so well-placed aggressive shots are the way to go here

  • Mimo
    [8x8]
    Jelpi's old friend and comrade with the same moves, gets more aggressive as the game goes on, which can be taken advantage of...
    ‎‎

You can wear hats that you unlock from beating each opponent!
[40x8]


So,
[56x16]
Have fun!
‎---------------------------------------
‎.
.
.

Development Notes


I had the idea for this game in the shower somewhere around three months ago from today. A simple multiplayer tennis-like that would be a fun, small little project. As you can probably see, this game didn't quite live up to that second adjective, but I'd say it has successfully fulfilled the first one (which is the more important one).

First I made a prototype with boxes and a non-functional net and the game proved to be fun! I had yet to fine tune the physics though, so it was a pretty chaotic and janky (even moreso than it is now :). Then I decided I needed to replace the boxes with characters. I had a hard time coming up with any humanoids within such small pixel counts...
[40x16]

Then, I had the idea of using Jelpi! (Jelpi is PICO-8's demo/example mascot for those who don't know) I'm so glad this bolt of inspiration struck me because it drastically changed the way the game was shaping up for the better. It gave me so many ideas for stories, situations, opponents, modes, and also gave the game a good artstyle (sorry old doodles of mine still at the back of the match-cart sprite-sheet...)
[8x8]
[8x8]

What's funny is that the menu cart's file size is bigger than the game cart's (this is a multi-cart game with two game files, one for the menus and cutscenes and another for the gameplay). I've also spent about the same amount of time working on both, which is rather ironic. I had to do a lot of token-saving on the menu cart, because the cutscenes take a lot of data, or at least they do in the way I programmed them. This was also my first time putting a lot of effort into a somewhat complex menu, leading to the increased time and spaghetti code invested there. If I were to do it again, I would probably do it quite differently.

I had a lot of fun conjuring up the story and making those cutscenes along with remixing the Jelpi music! I've remixed the main song for the title screen and one of the match themes, and the jungle and dragon theme for the other two match songs. The first half of jungle themed one ended up being based off of a song I made for fun a couple of months ago, unrelated to the game, the baseline/intro-melody being stolen directly from that. The dragon one is pretty untouched from me compared to the other tracks. My main addition of the raspy melody is supposed to be like the dragon's roar (it's based off the sound effect used in the intro cutscene), but I don't think that's very obvious.

Intro -> Menu Theme (starts at pattern 10):
[sfx]
The Three Match Tracks (patters 0, 16, and 32):
[sfx]
These tracks take three channels sometimes, and due to all the rapid sounds in-game they occasionally cut out, but I've tried to make it not too noticeable and I think it's worth it.

Balancing the opponents was tough because their difficulty changes a lot based on your playstyle. It's normal if you find the Bird or the Frog harder than Mimo, but hopefully you find Mimo a bit tougher than the Strider!

Over the first two months I was pretty inconsistent with my work on the game (I was also busy in those months), but in the last month I've done a ton of work which has brought me to finally complete the project! I'm really happy I used Jelpi for the project, not only because the project was positively affected, but because I feel like there aren't enough Jelpi based games. The only complete Jelpi game I can think of is Pico-Ware, so being able to add to the Jelpi universe is great. We've got to thank Zep for making these adorable characters.

If you want to try making a custom opponent it should be somewhat doable, I've put some simple instructions in the match-cart files. First use load #pico_ball_match and then follow what's in the top of that part. Be warned that a lot of my code in all of this project is a rather messy and uncommented.

Thanks for reading all these development notes! I'm glad someone's interested in them!

version history

By the way, the current version is visible in the in-game credits, it's currently 1.0.1.
The numbers go, gameNumber.featureUpdate.patchNumber.
It's quite likely that I'll have to fix a bug, and I might add some extra hats in the future (I didn't have time to rework the code to allow extra hats from co-op and wall high scores if I wanted to get the game out in July) so the latter two numbers may change, but I don't plan to make a sequel, so the first one probably never will!

  • 1.0.0: original release, 7/29/2025​
  • 1.0.1: patch, 7/30/2025; ​tweaked strider speed range, slowed the bird slightly to make the match a little easier, fixed the "rewatch intro" pause menu option from replaying the intro incorrectly when chosen while in a submenu, allowed spectate to let you see matches with the next opponent you have to beat in the campaign, removed arrows/esdf text from this Lexaloffle version (for console authenticity and because the people here are already familiar with PICO-8)


.
‎.
‎.
‎Here's the game's itch.io page: https://void-gamesplay.itch.io/pico-ball
‎‎‎.
‎.
.

Credits

Game (Code/Music/Sound/Story/Art) by @Munchkin (Lexaloffle BBS), a.k.a. PlayerTheMaker (itch.io)

Original Jelpi characters/themes/sound-effects/art and PICO-8 itself, @zep/Lexaloffle

Special Thanks

  • Friends and Family for playtesting the game and giving feedback (and being a great motivation for me to make the game!)
  • The PICO-8 community (yes you here on this BBS, and those in the Discord, and those who came from the subreddit), for contributing to this fun little gem of a community!
16


1

😮 This is great! Can't wait to show this to others


1

So well made! I love this


2

This is sooooooo good, but I need to come back when I have a controller handy because Strider keeps beating me when I use my laptop keyboard to play, haha.


Thank you all!
@2bitchuck when you use controller I recommend that you go to the pause menu and then 'game settings' to change things to feel better on controller.
Also, hint for the strider,

it often can't move quickly enough if you send shots over its head!


1

that was awesome, I played for 25 minutes lol

the animations for the story are awesome



[Please log in to post a comment]