I was playing with some 3D rendering stuff and ended up making a tennis game.
Play against AI or with up to 4 players.
Z to hit the ball. To hit the ball in different directions you need to hit it when it's off to your side. So the further to your right the ball is when you hit it the more it will go left.
X to do a power shot. Whenever you return the ball during a rally you will build up power. You can do a power shot anytime you have power in your meter, but the more it builds up the faster your shot will be.
UPDATE 1.2
- As per Felice's comment I changed the display when a point is scored to make it easier to understand. It will now display PLAYER 1 POINT in blue. There's is also a message above that in orange for things like OUT or FAULT etc.
- Also adjusted the service so hitting a fault isn't unpredictable. Now the only way you should get a fault is if you over angle the ball (by moving sideways after you've thrown the ball, but before you hit it)
UPDATE 1.21
- Corrected the range from which you can hit the ball because it was WAY too far.
UPDATE 1.22
- Readjusted the hit distance to be a little more forgiving. Still not a broad as it was in the early version.
- Power shots are now a bit easier to direct. I was previously culled the angle on them a bit too much to account for the extra speed.
- Made a slight change so the AI isn't quite so strong. Basically just dumbed it down a bit more. I'd need to add some more advanced logic to make it more fun to play against. I've managed to get about 300 tokens, so I might look into it if I have time.
UPDATE 1.3
- Added new label image.
- Reduced AI difficulty slightly (particularly for Normal mode).
- Fixed a bug that caused the game to go into an inescapable AI match if the menu screen was left on for about 10 to 15 minutes.
UPDATE 1.4
- Changed matches to be best-of so they'll now end when a player/team has won more than half of the sets.
Now available on itch.io https://paranoidcactus.itch.io/pico-tennis


I love the players. They're incredibly well... scaled I want to say. They just work very well.


This should not exists. Yet it does. Amazing.


This is lovely. Quite difficult for me, but I think that's largely because I suck, and not because it's balanced poorly.
I would suggest making it clearer who got the point when it says "POINT". It seems to display the exact same message regardless of whether the AI or the player score, which can be confusing at times, especially for those of us only passingly familiar with tennis.


I've corrected the distance from which the player can hit the ball. I had extended it after watching a friend fail to hit the ball many times, but clearly I over compensated. I also found that I had an algorithm in there that was wrong and was probably making it worse in certain situations.


Holy smoke!
The screenshot looked great but the title screen is awesome!
The game is pretty cool. Love the customization of the players. I wonder if moving the camera a bit during the game to follow the players would help ... or get annoying.
Great work!


This is phenomenally good (and polished!) - amazing work!
I did find the collision a tad harsh, but perhaps I'm also just crap at this! (found myself yelling McEnroe-style "You CANNOT be SERIOUS!!" a lot!)
Also really love your intro/logo - simple but VERY effective!


I love the presentation, menu, visuals, title music, and especially character customization.
However, I cannot for the life of me seem to reliably figure out the hitbox for the ball. I think it's a combination of it being too small (in my opinion) and the swing animation being a bit weird, making it very hard to judge where to stand to hit the ball, nevermind aim it. Maybe you could made a system that extends the racket to reach it if it's within a certain distance?


Good but very difficult. Compare this with Atari 2600 Tennis and all you had to do was be there to whack the ball.
No height was involved so you could always hit the ball as long as it was in front of you.
This game instead has accurate physics that make it tough to play. The ball can well be lobbed right over your head - making it difficult if not impossible to return.


Very good indeed, but I really... I mean... REALLY suck at it.


Really nice job! Would love an "easy version" that auto-hits to just chill and relax with....


For the last week this is a game which I play when I have a spare 10 minutes of free time. It's really good, hard (I managed to win only one match on normal difficulty level) but fair. Great work and thank you for sharing this masterpiece.


What does "gawibosudu" mean? I used to be able to search for pico tennis and see the actual name come up as the cart title, haha. Not that it matters, I found it.


@gradualgames, Pico-8 defaults to a random "pronounceable" word now when you upload a cart without choosing an exact name.
Here, I uploaded it to:
"picotennis"


To load this game type:
load #picotennis |
Hope This Helps !


I think where it was confusing to me was that the search result itself had the cart name rather than the title.


This is so neat! I'm amazed at the kind of things people can pull off in PICO-8. Once I got the hang of the positioning and timing I was able to reliably demolish the lower AI settings, I'll have to try it on Normal next.
One minor thing is that I was expecting the 3-set and 5-set options to be "best of", like an actual tennis match, but they aren't. I selected 3 sets, won the first two sets and wasn't expecting to have to play the third, but I did. Would it be possible to make it "best of" instead? idk how tight you are for tokens, and how many that would take.


What is a good starting point to learn on how to program a tennis game? There is such little information on how to develop a sports game in general. I love this game you made!
[Please log in to post a comment]