Bugs, and exterminators
The game has been extended to include multiple levels. It uses gravity and bouncing for the ball, the gravity reverses after reaching the last stage, and then the player has to return to the beginning to win. If you fall back through the hole you came through, then you die.The theme of two worlds is the world before and after gravity reversal. It should be somewhat fun. I want to add more features and make some interesting twists. The stages were created with text files, which is something I got from "which way is up" (although I did not like the way the files were read, so I only used the design, not the code). The stages are hard to design since they have to be effective both forward and in reverse.
I spent a lot of time on a specific bug that popped up in the gameplay. I have modeled the gravity off Richard Jone's pygame tutorial gravity. I even used the block sample he had for the game. However, in his code, the player gets stuck as it tries to move left and right. You can only move when jumping. Unlike his gravity, the ball in this game bounces. so it should bounce off the ground and ceiling and be blocked by the sides. However, it seems to get stuck on the ground sometimes and unintentionally continue falling and bouncing at the same time until it gets "spring loaded" and flies away.
I tried to determine whether this bug was "playable". I think it is severe enough that it requires more work, but I would hate to sacrifice all the features to solve one bug. This is programming though, and features be damned. I will try to at least produce a menu and win/lose screen. I will try to use masks instead of rects, but I have found I have made things worse at times. Games are very difficult to test and, since i have been lax on version control, revert.