name: ftc-decode description: Expert knowledge about FTC DECODE game (2025-2026 season). Use when planning autonomous strategies, understanding scoring rules, discussing field layout, working with artifacts, pattern matching, gate mechanics, or optimizing game-specific robot behaviors.
FTC DECODE Game Skill
This skill provides comprehensive knowledge about FTC DECODE, the 2025-2026 FIRST Tech Challenge game season. Use this when planning strategies, programming autonomous routines, or making game-specific decisions.
Game Concept
DECODE is a competition where two alliances of two teams each compete to:
- Score artifacts (purple and green balls) into their alliance's goal
- Build patterns on the classifier ramp matching the obelisk's motif
- Return to base before time expires for endgame bonuses
The game features a randomized element through an obelisk that determines one of three color patterns (GPP, PGP, or PPG) for bonus points.
Game Phases
Autonomous Period (30 seconds)
Robots operate independently with pre-programmed instructions. Scoring opportunities:
- Leave: 3 points (moving completely off launch lines)
- Classified artifacts: 3 points each (artifacts through goal and onto ramp)
- Overflow artifacts: 1 point each (artifacts bypassing ramp/classifier)
- Pattern matching: 2 points per correctly positioned artifact
Teleop Period (2 minutes)
Driver-controlled gameplay with continued scoring plus additional opportunities:
- All autonomous scoring continues (leave, classified, overflow, pattern)
- Depot scoring: 1 point per artifact positioned over depot zone
- Partial base return: 5 points (robot partially in base zone)
- Full base return: 10 points (robot fully supported by base zone tile)
Endgame Requirements
Base return must occur before match time expires:
- Partial return: Robot touching base zone but also supported by other field elements
- Full return: Robot only supported (directly or transitively) by the tile in the base zone
Field Layout
The playing field is approximately 144" × 144" and includes:
Goals (2 - one per alliance)
- Triangular opening at top for artifact entry
- Archway exit where artifacts emerge
- Connected to classifier mechanism
- Located on opposite sides of field for each alliance
Classifiers (2 - one per alliance)
Attached to each goal with three components:
- Square: Collection area beneath goal
- Ramp: 9 indexed positions for pattern building (3×3 arrangement)
- Gate: Push-to-open mechanism that releases classified artifacts
Obelisk (1 - outside field)
- Triangular prism positioned outside playing field
- Displays one of three patterns via rotation
- Randomized before match starts
- Defines the motif for pattern scoring
Loading Zones (2 - one per alliance)
- Areas where human players can manage artifacts
- Used for staging artifacts for robot pickup
- Location for human player interaction during match
Base Zones (2 - one per alliance)
- 18" × 18" areas for endgame parking
- Robots must return here for base points
- Two levels of achievement: partial and full return
Launch Zones (multiple per alliance)
- Triangular areas from which robots can propel artifacts
- Starting positions for autonomous period
- Multiple options for strategic positioning
Game Elements: Artifacts
Total: 36 artifacts
- 24 Purple (P) artifacts
- 12 Green (G) artifacts
Specifications:
- Gopher ResisDent balls
- Approximately 5 inches in diameter
- Two distinct colors for pattern building
- Can be controlled, transported, and scored
Control Limit: Maximum 3 artifacts in simultaneous robot possession
Scoring Breakdown
Autonomous Period (30 seconds)
| Action | Points | Notes |
|---|---|---|
| Leave | 3 | Robot completely off launch lines |
| Classified artifact | 3 | Artifact enters goal and reaches ramp |
| Overflow artifact | 1 | Artifact enters goal, bypasses ramp |
| Pattern match | 2 per artifact | Artifact correctly positioned in pattern |
Maximum theoretical autonomous: ~150+ points (with perfect execution)
Teleop Period (2 minutes)
All autonomous scoring continues PLUS:
| Action | Points | Notes |
|---|---|---|
| Depot artifact | 1 | Artifact positioned over depot zone |
| Partial base return | 5 | Robot touching base, supported by other elements |
| Full base return | 10 | Robot only supported by base zone tile |
Ranking Points
Teams earn bonus ranking points (RP) for achieving thresholds:
- Movement threshold (leave points)
- Goal scoring threshold (classified + overflow)
- Pattern completion threshold (pattern matching)
Ranking points determine tournament seeding and advancement.
Pattern Mechanics
The Three Motifs
The obelisk reveals one of three patterns before each match:
- GPP - Green, Purple, Purple
- PGP - Purple, Green, Purple
- PPG - Purple, Purple, Green
Pattern Application
The selected motif is repeated 3 times to create a 9-position pattern on the ramp:
Example - GPP motif selected:
Ramp positions (3×3 grid):
[1][2][3]
[4][5][6]
[7][8][9]
Pattern:
[G][P][P]
[G][P][P]
[G][P][P]
Position indexing: Check official manual for exact ramp position numbering.
Pattern Scoring Strategy
- Each artifact correctly positioned: +2 points (autonomous or teleop)
- Artifacts must be in correct position AND correct color
- Can complete pattern incrementally throughout match
- Strategic decision: balance pattern scoring vs overflow scoring
Gate Mechanics
The gate is a robot-activated, push-to-open mechanism:
Functionality
- Located at the bottom of the classifier ramp
- Releases classified artifacts when opened
- Allows artifacts to exit and potentially be re-scored
- Can be used strategically for cycling
Strategic Considerations
- Timing: When to open gate for artifact release
- Cycling: Re-scoring artifacts for additional points
- Denial: Keeping gate closed to maintain pattern
- Opponent interaction: Gate can affect both alliances' strategies
Strategic Concepts
Autonomous Strategy
High-priority goals:
- Leave - Easy 3 points, required for ranking points
- Classified artifacts - 3 points each, builds toward pattern
- Pattern positioning - Additional 2 points per correct placement
- Speed vs accuracy - Balance quantity of artifacts vs pattern correctness
Autonomous autonomous considerations:
- Pre-load artifacts for scoring
- Path planning to loading zones or pre-placed artifacts
- Vision detection for pattern identification
- Precision placement for pattern matching
Teleop Strategy
Scoring priorities:
- Continue pattern building - 5 points per artifact (3 classified + 2 pattern)
- Overflow scoring - 1 point fallback if pattern complete
- Depot scoring - 1 point for simple placement
- Prepare for endgame - Position for base return
Time management:
- First 90 seconds: Maximize artifact scoring
- Last 30 seconds: Position for base return
- Final 10 seconds: Execute full base return if possible
Endgame Strategy
Base Return Options:
- Partial return (5 pts): Easier, robot touching base but can be supported by other elements
- Full return (10 pts): Harder, robot ONLY supported by base zone tile (directly or transitively)
Risk vs Reward:
- Going for full return risks missing partial return window
- Partial return is safer but worth half the points
- Consider alliance partner coordination
Pattern vs Overflow Decision
Pattern scoring (classified + pattern match):
- 3 points (classified) + 2 points (pattern) = 5 points per artifact
- Requires precision and correct color placement
- Limited by pattern positions (9 total)
Overflow scoring (classified only):
- 1 point per artifact (if bypasses ramp)
- OR 3 points per artifact (if classified but no pattern bonus)
- Easier, higher throughput
- Unlimited capacity
Decision factors:
- Pattern completion status
- Robot precision capabilities
- Time remaining
- Artifact colors available
Integration with pedroPathing
When planning autonomous paths for DECODE:
Field Coordinates
Define key positions in your autonomous:
// Example positions (adjust to actual field measurements)
val startPose = Pose(9.0, 9.0, Math.toRadians(0.0))
val goalPose = Pose(120.0, 120.0, Math.toRadians(45.0))
val loadingZone = Pose(12.0, 60.0, Math.toRadians(-90.0))
val basePose = Pose(18.0, 18.0, Math.toRadians(0.0))
Common Autonomous Patterns
Pattern 1: Score pre-load + pickup + score
SequentialCommandGroup(
FollowPedroPath(pathing, paths.startToGoal),
ScoreArtifact(spiceRack, shooter), // Score pre-load
FollowPedroPath(pathing, paths.goalToLoading),
IntakeArtifact(intake, spiceRack), // Pick up from loading
FollowPedroPath(pathing, paths.loadingToGoal),
ScoreArtifact(spiceRack, shooter), // Score second artifact
FollowPedroPath(pathing, paths.goalToBase) // Park for leave points
)
Pattern 2: Parallel intake while driving
ParallelRaceGroup(
FollowPedroPath(pathing, paths.startToArtifact),
RunIntake(intake)
).andThen(
FollowPedroPath(pathing, paths.artifactToGoal),
ScoreArtifact(spiceRack, shooter)
)
Vision Integration
Use Limelight for pattern detection:
// Detect obelisk pattern before autonomous
val detectedPattern = limelight.getMotif() // GPP, PGP, or PPG
// Adjust scoring strategy based on pattern
when(detectedPattern) {
Motif.GPP -> scoreGreenFirst()
Motif.PGP -> scorePurpleFirst()
Motif.PPG -> scorePurpleFirst()
}
Codebase Integration
Subsystems Used for DECODE
From common/subsystems/:
- Drivetrain - Navigate field, approach goals and loading zones
- Odometry - Track position for autonomous navigation
- Shooter - Launch artifacts into goal (if using shooter mechanism)
- SpiceRack - Index and manage artifacts with color detection (green/purple)
- Intake - Collect artifacts from field and loading zones
- Limelight - Detect obelisk pattern (GPP, PGP, PPG) and AprilTags for localization
- Turntable - Aim toward goal (if needed for scoring)
Color Detection
SpiceRack already includes color detection for DECODE artifacts:
// From Constants.kt and codebase
ARTIFACT_GREEN // Green artifact detection
ARTIFACT_PURPLE // Purple artifact detection
Use this to:
- Identify artifacts before intake
- Sort artifacts for pattern matching
- Verify correct artifact before scoring
Pattern Matching Logic
Implement pattern verification:
data class Pattern(val positions: List<ArtifactColor>) {
companion object {
val GPP = Pattern(listOf(GREEN, PURPLE, PURPLE, GREEN, PURPLE, PURPLE, GREEN, PURPLE, PURPLE))
val PGP = Pattern(listOf(PURPLE, GREEN, PURPLE, PURPLE, GREEN, PURPLE, PURPLE, GREEN, PURPLE))
val PPG = Pattern(listOf(PURPLE, PURPLE, GREEN, PURPLE, PURPLE, GREEN, PURPLE, PURPLE, GREEN))
}
}
fun getRequiredColor(pattern: Pattern, position: Int): ArtifactColor {
return pattern.positions[position]
}
Quick Reference
Scoring Values
- Leave: 3 pts
- Classified: 3 pts
- Overflow: 1 pt
- Pattern match: 2 pts (per artifact)
- Depot: 1 pt
- Partial base: 5 pts
- Full base: 10 pts
Key Numbers
- Match duration: 2:30 (30s auto + 2:00 teleop)
- Total artifacts: 36 (24 purple + 12 green)
- Control limit: 3 artifacts
- Base zone: 18" × 18"
- Field size: 144" × 144"
- Artifact diameter: ~5 inches
- Pattern positions: 9 (3×3 grid)
Three Patterns
- GPP - Green, Purple, Purple (repeated 3×)
- PGP - Purple, Green, Purple (repeated 3×)
- PPG - Purple, Purple, Green (repeated 3×)
Priority Checklist
- Leave starting zone (+3 pts, required for RP)
- Detect obelisk pattern (vision/manual)
- Score pre-loaded artifacts
- Collect and score additional artifacts
- Build pattern on ramp for bonus points
- Return to base before time expires (+5 or +10 pts)
Common Questions
Q: Can we score artifacts in opponent's goal? A: Check official manual - typically no, only alliance-specific goals.
Q: What happens if we control more than 3 artifacts? A: Penalty - see official manual for violation consequences.
Q: Do pattern points apply in both autonomous and teleop? A: Yes, pattern matching scores 2 additional points per correctly placed artifact in both periods.
Q: Can we move artifacts from ramp back to field? A: Yes, using the gate mechanism to release classified artifacts.
Q: Is there a penalty for entering opponent's zones? A: Check official manual for zone restrictions and penalties.
Resources
- Official Manual: https://ftc-resources.firstinspires.org/ftc/game/cm-html/DECODE_Competition_Manual_TU17.htm
- FTC Resources: https://ftc-resources.firstinspires.org/
- Game Updates: Check for Technical Updates (TU) regularly
- Forum: FTC Community forums for rule clarifications
- This Project's Vision:
common/subsystems/Limelight.ktfor pattern detection - Color Constants:
common/Constants.ktfor ARTIFACT_GREEN and ARTIFACT_PURPLE
Version
This skill is based on:
- Competition Manual Version: TU17 (Technical Update 17)
- Season: 2025-2026 DECODE
- Last Updated: January 2026
Check for game updates and technical updates throughout the season for rule changes or clarifications.