Prototype Godot 4 project for a macOS-playable 3D arcade badminton game. The design target is Pong with 3D court movement: readable rallies, simple controls, solo play against AI, and a clean path to native Mac export.
This repo now contains:
- A Godot 4 project scaffold rooted at project.godot
- Playable scene flow from menu to match and back
- Core rally systems for shuttle flight, player movement, AI movement, scoring, pause, and match end
- Placeholder 3D court and character scenes
- Headless smoke-test scripts for rules and simulation logic
A / D: move left and right across the courtW / S: move into and out of court depthSpace: swing or serveLeft Shift + Space: lob / clearEsc: pause during a match
The first playable keeps the controls intentionally simple. Smashes are biased from aggressive forward movement timing rather than a dedicated button.
- Install a
Godot 4.xeditor or export template build. - Open this folder in Godot.
- Run the main scene or launch the project directly.
The main scene is scenes/MainMenu.tscn.
If godot4 is installed locally, run:
godot4 --headless -s tests/headless/test_runner.gdThis executes logic-level checks for:
- score rules
- shot profile tuning
- landing prediction
A starter macOS preset is included in export_presets.cfg with Apple Silicon enabled first. Before distributing a real .app, fill in signing and notarization values for your Apple developer account.
- Launch the project and start a match from the menu.
- Verify the player and AI remain on their own court halves.
- Rally until one side wins a game.
- Confirm
Escpauses and resumes the match without advancing the shuttle. - Confirm the end screen can restart the match or return to the menu.