Monthly ·
Pitch — Turn-Based Tactical Soccer
Turn-based tactical soccer on a 15×10 grid. 5 action points per turn. Walk, run, shoot, pass, defend. Solo vs AI (3 difficulties) or 2-player same-device. Shrinking turn timer, per-action undo, keyboard + touch support.
The Game
Pitch is turn-based tactical soccer on a 15×10 grid. Two teams of three — cyan vs orange — face off with 5 action points per turn. Walk, run, shoot, pass, or defend. First to 3 goals wins. Solo against AI (easy / medium / hard) or pass-the-device 2-player.
Actions & Costs
| Action | Cost | Effect |
|---|---|---|
| Walk | 1 move | One cell in any of 8 directions (orthogonal or diagonal). Can carry the ball. |
| Run | 2 moves | Two cells in a straight line (orthogonal or diagonal). Faster than walk but costs double. Can carry the ball. |
| Shoot | 1 move | Ball flies 3–6 cells toward goal with random lateral spread. Can be intercepted by defended cells. |
| Kick | dist moves | Kick ball to any cell 1-3 away. 1 cell = 1 move, 2 cells = 2 moves, 3 cells = 3 moves. Can be intercepted by opponents on the path. |
| Defend | 1 per square | Protect your cell + adjacent cells (up to 4). Intercepted enemy shots/passes deflect away. |
| Tackle | Walk/Run cost | Walk or run into an enemy ball carrier's cell. 50% steal, 30% miss, 20% foul (ball scatters). Commentary announces the result. |
Turn Flow
- Select a player (click/tap or Tab)
- Choose an action (click/tap button or keyboard shortcut)
- Target a cell (click/tap on grid)
- Repeat until you've spent your moves
- Submit — actions animate in sequence
- Opponent takes their turn
- First to 3 goals wins · 30-turn limit = draw
Timer
Each turn has a countdown timer that shrinks as the match progresses:
- Turn 1–2: 30 seconds
- Each round: −2 seconds
- Minimum: 15 seconds
- Timeout: auto-submits queued actions, or skips turn if empty
A colored bar at the top of the screen shows time remaining — green → yellow → red.
Undo & Cancel
- Undo (↶ button or Backspace): removes the last queued action and refunds its move cost
- Clear All (↩ button or Escape): clears the entire queue and restores all moves
Actions only commit when you hit Submit. Until then, everything is reversible.
Controls
Mouse / Touch
| Action | How |
|---|---|
| Select player | Tap/click your player on the grid |
| Choose action | Tap/click action button (Walk, Run, Shoot, Pass, Defend) |
| Target cell | Tap/click destination cell on grid |
| Defend count | After selecting Defend, choose 1–4 squares from inline buttons |
| Undo | ↶ button |
| Clear All | ↩ button |
| Submit | ✓ button |
Keyboard
| Key | Action |
|---|---|
| WASD / Arrows | Walk selected player one cell |
| Shift + direction | Run 2 cells (no ball) |
| Tab | Cycle through teammates |
| Space | Shoot (if player has ball) |
| Enter | Submit turn |
| Backspace | Undo last action |
| Escape | Clear all actions |
| M | Toggle mute |
Action Previews
When you select an action, valid target cells light up on the grid:
- Walk: adjacent cells glow cyan
- Run: 2-cell destinations glow with a directional arrow
- Shoot: yellow cone shows the 3–6 cell landing zone
- Pass: eligible teammates glow green with pass cost overlaid
- Defend: cells that would be protected glow purple
After queuing actions, ghost markers show projected positions — dashed lines from origin to destination, ghost circles at landing spots, ghost ball at projected location, and a queue counter at the bottom of the field.
Modes
| Mode | Details |
|---|---|
| Solo vs AI | Easy / Medium / Hard. Easy walks only and shoots from close range. Medium adds run + pass. Hard adds defend, longer shoot range, and smarter positioning. |
| 2 Players | Same device. Players alternate turns. Turn indicator shows "PLAYER 1 TURN" / "PLAYER 2 TURN". Timer applies to both. |
AI Difficulty
| Tier | Smart % | Actions | Shoot Range |
|---|---|---|---|
| Easy | 15% | Walk, Shoot | 2 rows from goal |
| Medium | 45% | + Run, Pass | 3 rows from goal |
| Hard | 70% | + Defend | 4 rows from goal |
Match Rules
- First to 3 goals wins
- 30-turn limit — draw if no winner
- Conceding team kicks off after a goal
- Defended cells persist until that team's next turn starts
- Ball scatters to empty cells on interception (never lands on players or in goals)
- Walk-in goals count (dribble into the opponent's goal to score)
Visual Design
Dark neon aesthetic matching Pulse — black background, glowing green grid lines, color-coded goals (orange tint at top, cyan tint at bottom), player circles with role labels (D/M/F), ball carrier glows brighter. Interceptions trigger a red flash overlay. All audio is procedural via Web Audio API — no audio files.
Design Notes
The game is entirely self-contained — single HTML file, vanilla JavaScript + Canvas, no dependencies, no backend. The redesign from real-time drag-to-play to turn-based grid was driven by the finding that tactical decisions need deliberation, not reflexes. The action-point system creates strategic tension: do you spend all 5 moves advancing one player, or spread them across positioning, passing, and defense?
The shrinking timer prevents analysis paralysis — early turns give you 30 seconds to think, but by turn 8 you're down to 14 seconds, forcing instinctive decisions. The per-action undo lets you experiment with plans without commitment, while Clear All provides an escape hatch for bad plans.
Walk (1 cell for 1 move) and Run (2 cells for 2 moves) both allow carrying the ball — the tactical choice is precision vs speed. A tackle from an opponent strips possession, so running through traffic carries risk.
Second release in the Apps & Games monthly series — a new game every month.
对战回合制足球投掷
基于15×10网格的战略对战足球游戏。每回合5个行动点。可进行走、跑、射门、传球和防守。单人对AI(3种难度)对决,或双人同设备游玩。缩短回合计时器,每个动作可撤回,支持键盘和触摸操作。
游戏
Pitch 是一种回合制战术足球游戏,在一个15×10的网格上进行。两队各有三名队员——青色对橙色——每回合有5个行动点数对决。可以走动、奔跑、射门、传球或防守。首先到达3个进球的一方获胜。单人对抗AI(简单/中等/困难)模式,或者通过接力两位玩家。
动作与费用
| 动作 | 费用 | 效果 |
|---|---|---|
| 走动 | 1步移 | 在8个方向中的任意一个移动一格(正交或斜向)。可以携带足球。 |
| 奔跑 | 2步移 | 在直线上移动两格(正交或斜向)。不能携带足球——快速的离球再定位。 |
| 射门 | 1步移 | 足球以随机横向偏移飞出3-6个网格单元朝向球门,可以被防守方网格拦截。 |
| 传球 | ceil(dist/3) 步移 | 将足球传给队友。可以被路上的对手拦截或防守方网格拦截。 |
| 防守 | 每格一单位 | 保护你的细胞和相邻的4个网格(最多)。被防守球射或传送攻击的敌人被击中后会被弹开。 |
回合流程
- 选择一名玩家(点击/轻触或Tab切换)
- 选择一个动作(点击/轻触按钮或快捷键选择)
- 瞄准一个网格单元(点击/轻触网格区域)
- 重复直到你用完你的步移
- 提交 —— 动作按顺序显示动画效果
- 对手进行他们的回合
- 第一个到达3个进球的一方获胜 · 每轮最多30个回合结束为平局
- Turn 1–2: 30秒
- Each round: -2秒
- Minimum: 15秒
- Timeout: 自动提交队列动作,或跳过回合如果为空
屏幕顶部有一条颜色渐变的进度条显示剩余时间 —— 绿色 → 黄色 → 红色。
撤消 & 取消
- 撤销 (↶按钮或退格键): 从队列中移除上一个动作并退还其行动费用
- 清空所有 (↩按钮或Esc键): 清空整个队列并恢复所有动作
直到提交为止,一切操作都是可逆的。
控制
鼠标 / 触摸
| 操作 | 如何 |
|---|---|
| 选择玩家 | 在棋盘上点击/触碰你所选的玩家 |
| 选择行动 | 点击/触碰棋盘上的行动按钮 (走位、跑动、射击、传球、防守) |
| 目标细胞 | 点击/触碰棋盘上的目的地细胞 |
| 设置防守范围 | 选择“防守”后,从内联按钮中选择1-4个区域 |
| 撤销 | ↶按钮 |
| 清空所有 | ↩按钮 |
| 提交回合 | ✓按钮 |
键盘
| 键盘键 | 动作 |
|---|---|
| WASD/方向键 | 选择玩家后点击移动一格 |
| Shift + 方向键 | 移动两格(无球情况下) |
| Tab | 循环切换队友 |
| 空格键 | 射击(如果玩家有球) |
| 回车键 | 提交回合 |
| 退格键 | 撤销上一个动作 |
| Esc键 | 清空所有操作 |
| M键 | 切换静音 |
动作预览
当你选择一个行动时,棋盘上的有效目标细胞会亮起。
- 走: 周围的单元格会发出淡蓝色光晕
- 跑: 2步到达的目标会有一个箭头方向的方向指示箭
- 射击: 黄色锥体显示3到6步着陆区
- 通过: 合格的队友会发绿色光标,并显示过路成本
- 防守: 被保护的单元格会发出紫色光芒
在排队行动后,幽灵标记会显示出投影位置 — 从起点到终点的虚线、落点处的虚圆圈以及投影位置上的幽灵球,在场边会有一个队列计数器。
模式
| 模式 | 详情 |
|---|---|
| 单人对AI模式 | 容易 / 中等 / 困难。只有走步,近距离射击。中等级别加入了跑 + 跳接。困难级别添加了防守、更远的射程以及更好的位置判断。 |
| 双人模式 | 同一设备上进行。玩家交替行动。显示指示器显示 "PLAYER 1 TURN" / "PLAYER 2 TURN"。计时器适用于双方。 |
AI 难度
| 级别 | 智能 % | 动作 | 射击距离 |
|---|---|---|---|
| 容易 | 15% | 走 + 射击 | 目标区2行范围内 |
| 中等 | 45% | + 跑 + 接球 | 目标区3行范围内 |
| 困难 | 70% | + 守护 | 目标区4行范围内 |
- 第一至三球获胜
- 限制30回合,若无胜者则平局
- 获胜队伍在进球后换开场权
- 防守区域持续到该队下一轮开始前
- 抢截后球弹散落空位(不会落在玩家或球门内)
- 自助进球计分
视觉设计
暗色霓虹风格匹配Pulse — 黑背景,绿色发光网格线,色彩编码的球门(顶部橙色,底部天蓝色),角色标签的玩家圈(D/M/F),球权持有者更亮。抢截触发红色闪屏遮罩。所有音频均通过Web Audio API生成——无音频文件。
设计笔记
游戏完全自包含 —— 单个HTML文件,纯JavaScript + Canvas,无需依赖,无后端。从实时拖拽式对战转为回合制网格的设计驱动力是战术决策需要深思熟虑而非本能反应。行动点系统创造战略张力:你是否用掉所有的5次行动来推进一个玩家,还是分散到定位、传球和防守上?
缩短计时器防止分析性瘫痪——前几回合你有30秒思考时间,但到了第8回合只剩14秒,迫使做出本能决策。每次操作的撤销功能允许你试验计划而无需投入,而Clear All提供了一个应对坏计划的安全出口。
```md Run vs Walk creates a meaningful tactical split: Walk is for ball-carrying dribble (1 cell in 8 directions, ball stays with you), Run is for fast off-ball repositioning (2 cells in a straight line, 8 directions, but costs 2 moves and you can't carry the ball). This makes passing strategically essential — you run a defender forward, pass to them, then they walk-dribble toward goal.
▶ 玩球场
第二季度的每月应用与游戏系列——每个月一款新游戏。 ```
More Monthlies Stories
Content on Anagnorisis is summarized, paraphrased, and editorialized from publicly available sources for length and clarity. Original sources are linked where available. All trademarks belong to their respective owners.
