A Godot 4 game for learning to use a gamepad: stick training, movement training, and a maze, with stars, cheers, and rumble.
  • GDScript 91%
  • Kotlin 4.6%
  • PowerShell 4.4%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Adam Brown 6c7ee9d8ce
Give main menu buttons a visible fill, border, and focus ring
Default theme buttons blended into the dark background. Buttons now
use a lighter slate fill with a border, brighter hover/pressed states,
and a bright blue focus outline for gamepad navigation.
2026-08-14 16:31:12 -07:00
.export Initial commit 2026-08-14 12:17:35 -07:00
docs Keep the README screenshot out of the game pack 2026-08-14 12:42:43 -07:00
scenes Give main menu buttons a visible fill, border, and focus ring 2026-08-14 16:31:12 -07:00
scripts Initial commit 2026-08-14 12:17:35 -07:00
tools Initial commit 2026-08-14 12:17:35 -07:00
.editorconfig Initial commit 2026-08-14 12:17:35 -07:00
.gitattributes Initial commit 2026-08-14 12:17:35 -07:00
.gitignore Initial commit 2026-08-14 12:17:35 -07:00
export_presets.cfg Initial commit 2026-08-14 12:17:35 -07:00
HOW-TO-RELEASE.md Initial commit 2026-08-14 12:17:35 -07:00
icon.svg Initial commit 2026-08-14 12:17:35 -07:00
icon.svg.import Initial commit 2026-08-14 12:17:35 -07:00
LICENSE Add MIT license and README 2026-08-14 12:32:08 -07:00
logo.svg Initial commit 2026-08-14 12:17:35 -07:00
logo.svg.import Initial commit 2026-08-14 12:17:35 -07:00
project.godot Add MIT license and README 2026-08-14 12:32:08 -07:00
README.md Add Stick Training screenshot to README 2026-08-14 12:38:45 -07:00
splash.png Initial commit 2026-08-14 12:17:35 -07:00
splash.png.import Initial commit 2026-08-14 12:17:35 -07:00

Controller Dojo

A small Godot 4 game for learning to use a gamepad. It is aimed at kids who are still figuring out that the stick has directions and that pushing it further means going further, so every mode is built around one skill at a time, with stars, cheers, and rumble for getting it right.

Stick Training: the stick has landed in the prompted ring and direction

Play it at https://stumpy-dog-studios.itch.io/controller-dojo

Modes

Mode Skill
Stick Training Push the left stick to a prompted direction and distance, one target at a time
Movement Training Steer freely toward targets while a mini stick indicator mirrors your input
Maze Navigate a generated maze to the goal; hard mode adds three strikes for touching walls
Test A plain input readout: both sticks, buttons, and the detected device

Navigation is D-pad plus A throughout. Select or Start opens the back button from inside a mode, so the whole game is playable without touching a keyboard.

Running from source

Requires Godot 4.7. Open project.godot in the editor, or:

godot --path .

Building

HOW-TO-RELEASE.md covers the export presets, the itch.io push, and the Android quirks. The short version: tools/setup.ps1 creates the export directories and installs the Android build template, then each preset exports into .export/<platform>/.

Android needs a custom gradle build because Godot's Android port has no backend for Input.start_joy_vibration. tools/android/ControllerRumblePlugin.kt drives the pad's own vibrator instead, and scripts/haptics.gd picks between the plugin and the engine at runtime.

License

MIT, see LICENSE.