Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Implement, tune, debug, or validate soft wall-aware fog of war and gameplay perception in Three.js action games. Use for orthographic or isometric visibility masks, obstacle-aware line of sight, player and enemy vision ranges, hidden-enemy targeting rules, fog shader artifacts such as spokes or seams, mobile ray budgets, lifecycle and menu-state integration, and deterministic fog-of-war tests.
.claude/skills/mengto-implement-fog-of-war/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-02 | ✗→✓ | ▲ Improved | 23% | 0% |
| case-16 | ✗→✓ | ▲ Improved | -16% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 40% | 0% |
| case-07 | ✗→✓ | ▲ Improved | -13% | 0% |
| case-10 | ✗→✓ | ▲ Improved | -5% | 0% |
Build fog of war as a shared perception system with a restrained presentation layer.
Keep these responsibilities separate:
Read mechanics.md before implementing or changing the algorithm. It records the proven obstacle model, shader composition, calibrated values, state rules, enemy behavior, lighting constraints, and telemetry.
max, then cap final opacity.Do not hide bad obstacle data with extra blur. Do not make the entire scene darker to compensate for weak visibility boundaries.
Read validation.md before claiming completion. Run:
Use normal gameplay for visual verification when review modes intentionally disable fog. Judge motion, camera movement, wall edges, gates, seams, and menu transitions—not only a still frame.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-02 | fail→pass | 20,686 | 14,245 | -31% | 1 | 1 | 0% | 3,309 | 4,055 | +23% | 0 | 0 | — |
case-09 | pass→pass | 12,185 | 9,295 | -24% | 1 | 1 | 0% | 2,007 | 2,578 | +28% | 0 | 0 | — |
case-16 | fail→pass | 15,198 | 7,456 | -51% | 1 | 1 | 0% | 2,648 | 2,218 | -16% | 0 | 0 | — |
case-01 | fail→fail | 21,694 | 21,350 | -2% | 1 | 1 | 0% | 4,739 | 6,016 | +27% | 0 | 0 | — |
case-03 | fail→pass | 24,733 | 26,230 | +6% | 1 | 1 | 0% | 4,329 | 6,061 | +40% | 0 | 0 | — |
case-04 | pass→pass | 14,899 | 15,830 | +6% | 1 | 1 | 0% | 2,895 | 4,128 | +43% | 0 | 0 | — |
case-05 | fail→fail | 14,776 | 12,971 | -12% | 1 | 1 | 0% | 2,863 | 3,432 | +20% | 0 | 0 | — |
case-06 | pass→pass | 16,661 | 14,558 | -13% | 1 | 1 | 0% | 3,076 | 4,033 | +31% | 0 | 0 | — |
case-07 | fail→pass | 14,035 | 4,004 | -71% | 1 | 1 | 0% | 2,292 | 2,004 | -13% | 0 | 0 | — |
case-08 | pass→pass | 17,146 | 10,608 | -38% | 1 | 1 | 0% | 2,829 | 3,171 | +12% | 0 | 0 | — |
case-10 | fail→pass | 11,759 | 4,322 | -63% | 1 | 1 | 0% | 2,187 | 2,086 | -5% | 0 | 0 | — |
case-11 | fail→pass | 13,965 | 4,346 | -69% | 1 | 1 | 0% | 2,427 | 2,005 | -17% | 0 | 0 | — |
case-12 | fail→fail | 16,471 | 13,946 | -15% | 1 | 1 | 0% | 3,072 | 3,707 | +21% | 0 | 0 | — |
case-13 | fail→fail | 16,980 | 8,354 | -51% | 1 | 1 | 0% | 2,867 | 2,126 | -26% | 0 | 0 | — |
case-14 | fail→pass | 15,185 | 7,243 | -52% | 1 | 1 | 0% | 2,606 | 2,612 | +0% | 0 | 0 | — |
case-15 | fail→fail | 11,965 | 6,776 | -43% | 1 | 1 | 0% | 1,969 | 2,387 | +21% | 0 | 0 | — |
case-17 | fail→pass | 16,527 | 8,381 | -49% | 1 | 1 | 0% | 3,042 | 2,825 | -7% | 0 | 0 | — |
case-18 | pass→pass | 12,963 | 13,661 | +5% | 1 | 1 | 0% | 2,193 | 3,031 | +38% | 0 | 0 | — |
case-19 | pass→pass | 12,831 | 6,084 | -53% | 1 | 1 | 0% | 2,273 | 2,253 | -1% | 0 | 0 | — |
case-20 | fail→pass | 13,510 | 5,563 | -59% | 1 | 1 | 0% | 2,263 | 2,259 | -0% | 0 | 0 | — |
case-21 | fail→pass | 13,507 | 13,915 | +3% | 1 | 1 | 0% | 2,178 | 3,729 | +71% | 0 | 0 | — |
case-22 | pass→pass | 11,787 | 4,421 | -62% | 1 | 1 | 0% | 1,975 | 1,930 | -2% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +45 percentage points is the difference between those two pass rates over the 22 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.