
Overview
physics101-2D-platformer is a physics-based platformer developed using the Godot game engine. Our Physics 101 final project required us Computing Education students to develop something programmed. Our idea was to make a game that demonstrates physics concepts through an interactive game. In our game, we implemented several mechanics based on Classical Physics (Newton's Three Laws, Torque, Tension, etc.) such as collision systems, rope swinging and traversal, bounce pads, and piston-driven movement.
My Contribution
As a contributor, I mainly worked on level design, specifically on the layout and how the player has to navigate and solve obstacles in the level to get to the exit.
Responsibilities included:
- Designed and implemented level layouts and progression
- Implemented see-saw (levers) mechanics
- Implemented traverse rope (zipline) & swing rope physics
- Implemented player movement logic while attached to ropes
- Debugged level boundaries and collision-related issues
- Testing gameplay features and reporting bugs
Technologies Used
Godot Engine
The project was developed using Godot, an open-source game engine that provides built-in support for 2D physics, animation systems, and scene management.
GDScript
Gameplay logic was implemented using GDScript, Godot's Python-inspired scripting language.
Challenges
One of the primary challenges was balancing realistic physics with enjoyable gameplay. Because it was for a physics course, we initially wanted the game to be as realistic as possible movement wise, but upon testing, we realized it was just not as fun as normal platformer physics. I also had to fine-tune the rope movement to make it feel "right."
This required experimentation with:
- Gravity values
- Jump heights
- Movement acceleration
- Friction and deceleration settings
What I Learned
Through this project, I gained hands-on experience with:
- Godot's node and scene system
- PhysicsBody and collision systems
- Game loop design
- Player controller implementation
- Debugging gameplay mechanics
- Collaborative game development workflows
- Custom and modular scene tooling
Future Improvements
Potential enhancements include:
- Additional levels and environments
- SFX, BGM
- Improved animations and visual effects
- Save and checkpoint systems
- Mobile platform support
Repository
The project's source code can be found on GitHub