Where to find this Community Page > My Groups > Select a group > Leaderboards > Create a new Obstacle Course leaderboard
Obstacle Courses are a dynamic competition format in Gaggle. By combining No-Fly Zones, Waypoints, and Navigation Tasks, you can create custom flight challenges that reward skill, accuracy, and planning. This document covers how to set up an Obstacle Course, the detailed scoring rules behind it, and the two scoring methods supported: Best Flight and Best Task.
An Obstacle Course in Gaggle transforms routine flights into thrilling challenges. Pilots collect waypoints, navigate precise routes, and avoid no-fly zones to maximize their scores. This format is perfect for informal meetups, club competitions, and even large fly-in events where organizers want to blend fun and friendly rivalry.
Key Features:
Meetups When an Obstacle Course is created as part of a meetup, all pilots—regardless of subscription status—can participate and submit flights for scoring. This opens up Obstacle Course fun to everyone in your group.
A No-Fly Zone is any area a pilot must avoid, defined by a shape (polygon or circle) on the map.
A Waypoint is a circular area on the map, defined by a center point and a radius.
A Navigation Task is a defined route pilots attempt to follow precisely, made of one or more legs (straight lines or smooth curves).
During flight, events are logged:
Obstacle Courses support two main scoring methods. NFZ penalties apply per flight regardless of the method.
Navigation scoring rewards precision. Here’s the principle:
ScoreFraction ≈ 1 - (DistanceToCenter / HalfCorridorWidth)
Where DistanceToCenter
is how far the pilot is sideways from the ideal line, and HalfCorridorWidth
is half the total width of the allowed corridor. If DistanceToCenter
is zero (on the line), the fraction is 1 (100%). If the pilot is at the edge (DistanceToCenter = HalfCorridorWidth
), the fraction approaches 0.Detailed Constant Speed Scoring:
Constant speed scoring aims to reward pilots who maintain a consistent speed throughout a designated leg.
Speed Data Collection: As a pilot flies the leg, the system collects speed data at various points (sampled points) along the route. For each sampled point within the allowed corridor, the pilot’s speed is recorded and added to a running total for that specific point (speedSum
), and a count of readings is maintained (speedCount
).
Global Average Speed Calculation (Per Leg): At the end of the navigation task, before finalizing scores, the system calculates a single global average speed for each leg that required constant speed. This average is determined by taking the total of all recorded speed readings (speedSum
) across all sampled points within that leg and dividing it by the total count of those readings (speedCount
). Formula: Average Speed (Leg) = (Total of all speed readings for the leg) / (Total count of speed readings for the leg)
Constant Speed Score Calculation (Per Sample Point): Points for constant speed are awarded for each individual sampled point on the leg. The score for a single sample point depends on how much its local average speed (the average speed specifically at that point: speedSum / speedCount
) deviates from the global average speed calculated for the entire leg.
Calculating Deviation: The system finds the absolute difference between the Global Average Speed (for the leg) and the Local Average Speed (at the sample point). Formula: Speed Deviation = abs(Global Average Speed - Local Average Speed)
Determining Score Percentage: A percentage of the maximum possible constant speed points for that sample point is awarded based on this deviation. The scoring uses a quadratic formula, meaning the further your speed at a sample point is from the global average for the leg, the fewer points you get for that sample. There’s a defined constantSpeedMaxDev
value for the task; if the Speed Deviation is greater than or equal to this value, the score for that sample point drops to zero. Formula: Score Percentage = max(0, 1 - (Speed Deviation / constantSpeedMaxDev)^2)
Calculating Sample Point Score: The actual constant speed points awarded for that specific sampled point are the maximum possible points for that sample (constantSpeedScorePerSample
) multiplied by the calculated Score Percentage. Formula: Constant Speed Score (Sample Point) = constantSpeedScorePerSample * Score Percentage
Constant Speed Score
earned at each individual sampled point is added up to get the total constant speed score for the entire leg.Example Calculation (Illustrative):
Imagine a leg requires consistent speed and has a constantSpeedMaxDev
of 2.5 km/h. Each sampled point on this leg is worth a maximum of 5 constant speed points (constantSpeedScorePerSample
).
Scenario 1: Flying inconsistently at one point Suppose at a specific sampled point, your recorded speeds average out to a Local Average Speed
of 50 km/h. However, the Global Average Speed
for the entire leg (calculated from all speed readings) is 40 km/h.
abs(40 km/h - 50 km/h) = 10 km/h
max(0, 1 - (10 km/h / 2.5 km/h)^2) = max(0, 1 - 4^2) = max(0, 1 - 16) = 0
5 points * 0 = 0 points
In this case, the significant deviation from the leg’s average resulted in no constant speed points for this particular section.
Scenario 2: Flying consistently near the average Now, suppose at another sampled point, your speeds average out to a Local Average Speed
of 41 km/h, and the Global Average Speed
for the leg is still 40 km/h.
abs(40 km/h - 41 km/h) = 1 km/h
max(0, 1 - (1 km/h / 2.5 km/h)^2) = max(0, 1 - 0.4^2) = max(0, 1 - 0.16) = 0.84
5 points * 0.84 = 4.2 points
Here, a small deviation resulted in earning most of the available constant speed points for this section.
The total constant speed score for the leg is the sum of the scores from all the sampled points on that leg. This approach rewards pilots who keep their speed consistent relative to their own average speed on that specific leg, rather than requiring adherence to a fixed speed range throughout the entire flight.
Penalties reduce a flight’s score for rule violations.
SubsequentScore = OriginalScore * (1.0 - PenaltyFactor)
For example, if a PenaltyFactor
of 0.1 (10%) is applied, all points earned for waypoints or navigation tasks after that event are multiplied by (1.0 - 0.1) = 0.9, effectively reducing them by 10%.Name: Club Fun Fly Obstacle Course
Objective: Combine elements using Best Flight scoring.
Description:
Meetup Usage: Non-subscribed pilots can participate if the course is part of a Meetup.
Need More Help?
- Check Gaggle Release Notes.
- Join Gaggle community channels (e.g., Discord).
Happy Flying!