A simple 3D first-person game with bunnyhopping mechanics built using the Ursina Engine.
- Python 3.7+
- Ursina Engine
Install the required packages:
pip install ursina
Run the main entry point:
python main.py
- W, A, S, D: Move forward, left, backward, and right
- Mouse: Look around
- Space: Hold to bunnyhop continuously (you must be moving)
You can modify the following parameters in the controllers/bunny_hop_controller.py
file to adjust the bunnyhopping mechanics:
max_speed_multiplier
: Maximum speed multiplier (default: uncapped)per_hop_multiplier_amount
: How much speed boost you get per hop (default: 0.25)diminish_value
: Regular speed decay rate (default: 0.05)long_distance_diminish
: Reduced decay rate for long-distance travel (default: 0.01)jump_cooldown_max
: Time between jumps (default: 0.2)
The codebase follows a modular structure:
main.py
: Entry point for the gamegame.py
: Main game class that initializes and manages the gamecontrollers/
: Player movement and controlbunny_hop_controller.py
: Bunnyhopping mechanic implementation
world/
: Environment and terrain generationenvironment.py
: Procedural world generation
ui/
: User interface elementshud.py
: Heads-up display elements like speed and distance