Portfolio: Slime Volleyball
Back in High School, one of my classmates found a simple online Java game called Slime Volleyball. It was simple enough to pick up within a few rounds, and never seemed to get old. There were plenty of variations on the original (Cricket, Basketball, and many more), as well as one- and two-player versions. It was an ideal candidate to help us get through the last ten minutes of class when we were in the computer lab.
Owing to the fact that Slime Volleyball was a such a simple-yet-fun game, I decided to attempt to recode it for a number of my own simple game projects. I've worked on a version in C# for the PocketPC, and most recently, a 3D version built in C++ with the Zenilib game library, one I learned from my years with Camp CAEN. The 3D version was built while I was an assistant instructor, to help me learn the library so I could help students as they came up with questions of their own.
The game itself isn't as polished as I'd like it to be, but it still works pretty well. In adapting the game from 2D (as it was in the original version), I found that some changes had to be made. The biggest change is that instead of losing instantly when the ball touches your side, a point is scored after the ball bounces on your side three times without being touched by your slime. This helps adjust for the fact that it's much harder to play in 3D compared to 2D; shadows have been added to help judge where the ball will fall, but it's still a lot harder than you'd expect.
I tried to keep as much of the original game's features in the new version as possible. My favorite feature is that the slime's eyes follow the ball across the court, and also that they occasionally blink. One notable omission is that while there is a net in the game, there's no collision detection performed, it's just for decoration (this was another change made to help play the game in 3D...just kidding, I ran out of time).
A copy of the game will be posted soon. If you're interested in the source code, contact me, and I'll see what I can do.