Export win-x86, win-x64, linux-x64 and mac-universal builds headless from the godot-builder image and upload them as ReleaseAssets (<project>-<version>-<target>.zip, single root folder). Mac is one universal (intel + arm) build with Godot's built-in ad-hoc codesign; per-arch export is not possible with the official export templates. ETC2 ASTC texture import is enabled because the arm64 slice requires it. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Pong
The classic two-player Pong, made in Godot (4.x). First player to out-rally the other — every missed ball is a point for the opponent.
Controls
| Action | Left player | Right player |
|---|---|---|
| Paddle up | Q |
O |
| Paddle down | A |
L |
Space confirms in the menu, Esc quits the game.
Development
The project uses the godot-tools
templates: build logic lives in the Makefile, the web export
configuration in export_presets.cfg (the Web preset, threads
disabled).
make run # run the game locally
make build # headless import (.godot cache, project check)
make web # export web build to dist/web/
make export VERSION=x # package dist/web/ into pong-x.html.zip
make clean # remove dist/ and the import cache
Requirements: godot (4.x editor binary) on PATH with the matching web
export templates installed, plus make and zip. .vscode/tasks.json
(copied from godot-tools, not tracked) provides the same targets as
VS Code tasks.
CI/CD
Woodpecker builds every push (.woodpecker.yaml): version → headless
web export (barichello/godot-ci image) → upload to the droparea →
/update?platform=godot on teletypegames.org. The version comes from
metadata.json (non-main branches get a dev- prefix). Keep the
barichello/godot-ci image tag in sync with the Godot version the
project is edited with.
Detailed documentation lives on the wiki: /development/godot.