# Godot First Playable Loop

Build the smallest playable loop before adding art, menus, inventory, or online systems.

## Outcome
Create a tiny game loop with input, movement, collision, a goal, and reset.

## Safe first step
Write the player action in one sentence before adding systems.

## Ladder steps
### 1. Define the verb
A first playable starts with what the player does repeatedly.

Check: The verb fits in one sentence.

### 2. Create movement
Use a simple test body and one input method.

Check: The player can move and stop predictably.

### 3. Add a goal
A goal makes the loop testable.

Check: The scene has a win, score, pickup, timer, or target.

### 4. Add reset
Fast resets make iteration possible.

Check: The loop can restart without rebuilding the project.

## Examples
### Test the current Godot scene
```sh
Project -> Run Current Scene
```
Expected signal: The scene launches without requiring the full game menu

### Name actions before binding keys
```sh
Input Map: add move_left and move_right
```
Expected signal: Action names appear under Project Settings

### Keep art out of the first loop
```sh
Use test shapes
```
Expected signal: Collision and movement can be tested early

## Common traps
- Building menus before the loop.
- Adding inventory before one action feels good.
- Waiting for final art before testing movement.

## Practice task
Make a one-room prototype where a test player reaches a goal and resets.

## Next steps
- Add one obstacle.
- Add one sound cue.
- Write an export checklist.

## Related
- [Git workflow for small projects](/learn/git-workflow-for-small-projects/)
