Oh hey, this game. The win32 version of this game uses MIDI for its music, and it's a tiny stand-alone executable, so this was my real-world test case for validating changes to MIDI support code in Wine. The music is very ...assertive... and the voice samples are terribly encoded. I can still hear it.
I wrote the “ai” for one of the early popular forks of Slime Volleyball. I have a lot of fond memories! Recently I wrote a modern interpretation of the game in pure TypeScript/html canvas. It requires a real keyboard or gamepad - sorry no phones. Some of the single player ooponents are pretty fun. It’s at https://tippycoco.com and it’s all open source.
I remember this being the first executable that I ever downloaded from the Internet as a kid (around 1998?)!
I can still picture the Internet Exporer progress bar showing 4 KB/s while I waited almsot an hour for this to arrive. That moment of having new software on my computer without having to leave the house left a lasting impression on me.
The voice samples still float around in my backup files.
Ok I spent way too long trying to beat this, but I finally did at 15-11.
Basics: You can spike the ball and influence the direction. Holding up makes it a garbage hit so you must release jump immediately after jumping. This does not affect jump height. The two useful options are holding left and holding down, but not both (another garbage angle). Left is your bread and butter. Most shots should be left. Down works if you're right next to the net only, and will depend on where the ball is.
Generally speaking, don't try to spam strikes. Just stay on the ground to set the ball. You want to get it nice and slow in your center, which will bait ai pikachu into coming forward. then you do a left shot to try and get him.
The first few second are the easiest to score on. If ai pikachu is serving jump a bit after him and left spike. I score about 20% of the time on this return. There's a good chance that he will return in a way that is vulnerable to a down spike at the net or another left spike, but if you fail to score here, go to the neutral game setting tactic.
If you're serving don't hit the ball. Walk forward an inch to set the ball in your court and then left spike him after one toss. Gets me a point on serve about 1/3 of the time.
Don't jump to anticipate where the ball will go. Wait until he hits it at least.
You can also do behind the back spikes which works well for left spikes but is a suicide for down spikes.
I only really figured out the downspike at the end. I think I could crush him with this knowledge but that took too long.
It wasn't super obvious from the original link but unlike the typical web adaptations of old games - cross-compilation and emulation, this one was reverse engineered and the logic re-created from scratch. The code looks commented with more details, e.g. :
I randomly remembered this game that we played in high school on school computers a lot. I thought that it would be nice to find it, reverse engineer it and port it to some modern target, but it seems someone beat me to it already for a web version.
We used to have the shareware version of Skyroads on our school computers. They couldn't get rid of it. They'd delete it off most of the computers. But a copy would always survive and get propagated via USB.
Reminds me of a game a built years ago while messing around with Godot. The game was called Mortal Pong. It was a mix of Mortal Kombat and Pong.
The way it worked was similar to MK except the actual gameplay was two character sprites acting as the paddles. You had a MK background. Every time you hit the ball blood would squeeze out of it. Then the winner of the match would get to perform a fatality. But the fatalities were super crude and not well done.
It was a fun game to build and sadly I lost the source.
Yeah, I spent too much time this morning mastering this (thanks for sharing!). For me the key was realizing that - unlike most modern platformer controls - jump height isn't affected by the length of the key press. So you can quick tap jump, then use the direction keys to aim your spikes. The ground-dive is also quite useful.
Once you grasp these controls, you stand a chance. Once you master them, the AI becomes trivial to beat by this method: When serving, jump and perform a horizontal spike at the apex. The AI will defend it, then reliably do his own horizontal spike from the backcourt. Meet it at the net and spike it diagonally downwards. Works every time! And now I can rest (work).
Yeah, I can defeat it. It doesn't defend long shots very well. It's also generally better to try to return its shots immediately instead of juggling, so it can't position well for the return. If the opponent is close to the net then you can try hitting the ball up for it to quickly bounce back down behind him. You can also try kill shots near the net, but those can be risky.
I could only win because I found a trick to score when AI serves, jumping backwards one second after AI jumps returning long, but timing must be exact, also if you stay in the middle 90% of their shots are towards the back very predictable and lastly is about the timing every time the opponent returns the ball it jumps so when you see a jump you can meet the ball in the air for a quick return.
I can score every time it serves by jumping in the back row and power hitting the ball to the far side. That keeps it from scoring 2 points in a row which makes the game quit winnable.
I can still picture the Internet Exporer progress bar showing 4 KB/s while I waited almsot an hour for this to arrive. That moment of having new software on my computer without having to leave the house left a lasting impression on me.
The voice samples still float around in my backup files.
Basics: You can spike the ball and influence the direction. Holding up makes it a garbage hit so you must release jump immediately after jumping. This does not affect jump height. The two useful options are holding left and holding down, but not both (another garbage angle). Left is your bread and butter. Most shots should be left. Down works if you're right next to the net only, and will depend on where the ball is.
Generally speaking, don't try to spam strikes. Just stay on the ground to set the ball. You want to get it nice and slow in your center, which will bait ai pikachu into coming forward. then you do a left shot to try and get him.
The first few second are the easiest to score on. If ai pikachu is serving jump a bit after him and left spike. I score about 20% of the time on this return. There's a good chance that he will return in a way that is vulnerable to a down spike at the net or another left spike, but if you fail to score here, go to the neutral game setting tactic.
If you're serving don't hit the ball. Walk forward an inch to set the ball in your court and then left spike him after one toss. Gets me a point on serve about 1/3 of the time.
Don't jump to anticipate where the ball will go. Wait until he hits it at least.
You can also do behind the back spikes which works well for left spikes but is a suicide for down spikes.
I only really figured out the downspike at the end. I think I could crush him with this knowledge but that took too long.
https://github.com/gorisanson/pikachu-volleyball/blob/main/s...
There is even p2p multiplayer implemented.
The way it worked was similar to MK except the actual gameplay was two character sprites acting as the paddles. You had a MK background. Every time you hit the ball blood would squeeze out of it. Then the winner of the match would get to perform a fatality. But the fatalities were super crude and not well done.
It was a fun game to build and sadly I lost the source.
https://www.macintoshrepository.org/5394-mortal-pongbat
Once you grasp these controls, you stand a chance. Once you master them, the AI becomes trivial to beat by this method: When serving, jump and perform a horizontal spike at the apex. The AI will defend it, then reliably do his own horizontal spike from the backcourt. Meet it at the net and spike it diagonally downwards. Works every time! And now I can rest (work).