Files
pong/README.md
T
2026-08-05 20:32:02 +02:00

46 lines
1.6 KiB
Markdown

# Pong
The classic two-player Pong, made in [Godot](https://godotengine.org)
(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](https://git.teletypegames.org/tools/godot-tools)
templates: build logic lives in the `Makefile`, the web export
configuration in `export_presets.cfg` (the `Web` preset, threads
disabled).
```sh
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 via `/build/upload`
`/build/publish?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`.