Language Reference
PlayScript is the instruction language built into FF Playbook Pro. Write plain-English descriptions of what each player does — the app turns them into route diagrams, play sheets, and wristband cards automatically. No AI, no API, no internet required.
Overview
A PlayScript program is a series of instructions, one per line. Each instruction describes what a single player does on a play — run a route, block, motion before the snap, carry the ball. The parser reads every line, maps it to coordinates on the field, and produces a play object that gets stored in your library and can be printed, shared, or loaded into the canvas editor.
Here's a complete play written in PlayScript:
pass play X runs a hitch at 5 yards A runs a hitch at 5 yards C runs a hitch at 5 yards Y runs a hitch at 5 yards B is in the flat right read order: X, A, C, B
Syntax Rules
- One instruction per line
- Case-insensitive —
A runs a GO=a runs a go - Lines starting with
#or//are comments - Extra whitespace, commas, and periods are ignored
- Order of most instructions doesn't matter (put metadata first by convention)
- Unrecognized lines are silently skipped
# This is a comment — great for coaching notes embedded in the play // This is also a comment # metadata pass play # play type Y runs a seam # route instruction
Positions
Six positions in 6v6 flag football. Use the short code in instructions.
Play Type
Declare the play type once per play. Affects filtering, icons, and layout.
| Keyword | Aliases | Use |
|---|---|---|
pass play | passing play | Forward pass (default) |
run play | running play | Rushing / jet sweep |
trick play | — | Double pass, reverse, etc. |
Metadata
Metadata lines use a keyword: value format and can appear anywhere in the play, though convention puts them first.
| Keyword | Description | Example |
|---|---|---|
name: [text] | Play name on printed diagrams | name: BLUE — Hitch |
call: [text] | Wristband call name (short) | call: BLUE |
wristband: [N] | Wristband number 1–8 | wristband: 1 |
note: [text] | Coaching note below diagram | note: QB reads X, A, B |
Route Instructions
Route instructions always start with a position, followed by a verb, then the route name with optional yardage and direction.
# Syntax patterns [POS] runs a [ROUTE] [POS] runs a [ROUTE] at [N] yards [POS] runs a [ROUTE] left|right [POS] runs [N] yards then [ROUTE] [POS] is in the flat left|right [POS] releases deep
Deep Routes
| Route | Aliases | Default depth | Description | Example |
|---|---|---|---|---|
go | fly, streak, bomb | End zone | Straight up the field, full speed | X runs a go route |
seam | seam route | End zone | Up the hash/seam, slight angle toward center | Y runs a seam |
fade | fade route | 15 yds | Arcing route toward back corner of end zone | X runs a fade |
Short / Possession Routes
| Route | Aliases | Default depth | Description | Example |
|---|---|---|---|---|
hitch [N] | hitch route | 5 yds | Up N yards, stop facing QB | A runs a hitch at 5 yards |
stop [N] | sit | 5 yds | Up N yards, stop (shorter plant than hitch) | B runs a stop at 4 yards |
flat | flat route | 3 yds | Quick short route to flat (receiver's natural side) | B is in the flat |
flat left | — | 3 yds | Flat route to the left | A runs a flat left |
flat right | — | 3 yds | Flat route to the right | B runs a flat right |
screen | screen route | — | Release to screen area (slightly behind LOS) | A runs a screen |
Breaking Routes
| Route | Aliases | Default depth | Description | Example |
|---|---|---|---|---|
slant | — | 8 yds diagonal | Diagonal cut toward center from LOS | A runs a slant |
slant left | — | — | Diagonal cut breaking left | Y runs a slant left |
slant right | — | — | Diagonal cut breaking right | X runs a slant right |
out [N] | speed out | 8 yds | Up N yards, hard break to sideline | X runs an out at 6 yards |
in [N] | — | 8 yds | Up N yards, hard break toward middle | Y runs an in at 8 yards |
corner [N] | corner route | 10 yds | Up N yards, break to corner of end zone | Y runs a corner at 10 yards |
post [N] | post route | 10 yds | Up N yards, break toward goalpost (center) | X runs a post at 10 yards |
comeback [N] | comeback route | 12 yds | Up N yards, come back toward QB | X runs a comeback at 12 yards |
curl [N] | curl route | 8 yds | Up N yards, curl back toward center | A runs a curl at 8 yards |
dig [N] | dig route | 12 yds | Deep in-route — up N, hard break inside | Y runs a dig at 12 yards |
Horizontal / Crossing Routes
| Route | Aliases | Default depth | Description | Example |
|---|---|---|---|---|
cross [N] | drag, crossing route | 6 yds | Runs across the field horizontally at depth N | C runs a cross at 8 yards |
Specialty Routes
| Route | Aliases | Description | Example |
|---|---|---|---|
wheel | wheel route | Flat then wheel upfield — great for running backs | B runs a wheel route |
Compound Routes
Chain two moves with then. The player runs straight upfield for N yards, then executes the named route from that point.
A runs 5 yards then slant left X runs 8 yards then corner route Y runs a post at 10 yards B runs 3 yards then cross
Motion
Pre-snap motion. The player's starting position shifts before the snap, and a dashed motion arrow is shown on the diagram.
[POS] motions left|right [POS] goes in motion left|right [POS] shifts left|right # Examples A motions left B goes in motion right
Run Play Instructions
Declare who carries the ball. The renderer draws a bold line for the ball carrier's route.
[POS] carries [POS] takes the handoff [POS] takes the pitch [POS] takes the snap # QB sneak [POS] sweeps left [POS] sweeps right [POS] is the ball carrier # Full run play example (ROCKET — Jet Sweep) run play A motions left A sweeps left X releases deep Y runs a go route B blocks
Blocking
Blocking positions don't show a route on the diagram — they stay in formation.
[POS] blocks [POS] pass blocks [POS] stays in to block [POS] releases after blocking
QB Instructions
QB rolls left|right QB bootlegs left|right QB fakes to [POS] QB keeps # scramble QB backward pass to [POS] # trick play
Read Order & Primary Receiver
Optional — highlights the read progression on printed diagrams.
[POS] is primary [POS] is the primary receiver [POS] is secondary [POS] is the check-down read order: X, A, B # comma or space separated
Full Play Examples
All six default plays written in PlayScript.
pass play X runs a hitch at 5 yards A runs a hitch at 5 yards C runs a hitch at 5 yards Y runs a hitch at 5 yards B is in the flat right read order: X, A, C, B
pass play C runs a cross at 8 yards X runs a cross at 8 yards Y runs a corner at 10 yards A is in the flat left B runs a stop at 5 yards B is primary
run play A motions left A sweeps left X releases deep Y runs a go route B blocks
pass play X runs a go route Y runs a go route A runs 5 yards then out right B is in the flat right X is primary Y is secondary
pass play Y runs a seam X runs a slant right A runs an out at 6 yards B is in the flat right Y is primary X is secondary
trick play QB fakes to A QB backward pass to B X runs a go route Y runs a cross at 8 yards A fakes sweep left
Live Tryout
Write PlayScript instructions below and see the play rendered in real time.