A SoftDes project made by @awoolf07, @Nyxune, and @happysmaran
This is a video game designed using the pygame-ce library. It uses a custom 2D physics engine inspired by games like Red Ball, with a focus on collisions and realistic forces.
After getting jettisoned by Chell in Chapter 9 "Finale" of Portal 2, Wheatley is now floating in space with nothing to do. He eventually crash lands on an alien planet with a multitude of structures, and he, not having anything better to do, performs the parkour.
- Fully custom 2D Physics Engine
- Concave polygon Collision Support
- Level design using cutomizable JSON files
- On-Demand Bouncy Platform Physics on red platforms
- Wheatley
The player controls a simple character, shaped like a ball, and traverses a level via interacting with objects to proceed.
Keyboard Inputs:
- W/Up - Jump
- S/Down - Avoid Bounce
- A/Left - Roll Reft
- D/Right - Roll Right
- R - Reset to Beginning
Jumping will not directly go up, but rather will apply a force to push the player away from whatever the character sits/hits. It is recommended to hold jump instead of click it when you want to jump, as the current collisions sometimes make jumping on demand difficult.
Rolling is subject to how an object behaves in the real world with rotational velocities. Left and Right will not immediately grant left and right movement.
"Down" simply refers to the ability to prevent bouncing on surfaces, especially on the dedicated bouncing surfaces. It is helpful to hold down when going downhill or wanting to gain speed.
The GitHub page for this project can be found here.
The GitHub code can be directly downloaded here.
The project website can be found here.
The latest pre-built releases can be found here for Windows and macOS (Apple Silicon).
[WARN] Your computer should not be on "Efficiency" or "Battery Saver" mode for ideal results
- Python 3.14.4 or later
pygame-ce
(requirements.txt has this information)
If you don't care about having the source code or do not want to use Python, use the pre-packaged variant.
- Download the source files from the main project via the green "Code" button
- Extract the downloaded ZIP file
- In the terminal, run
pip install -r requirements.txtinside the newly made folder - Run the
main.pyfile
- Download the package for your correct system from the
Releasessection - Run it
