# Fry Fly Swarm

> Fry Fly Swarm is a world event in tibo.dog: “A swarm of fry flies!”

Source page: https://www.tibodog.wiki/events/fly-swarm · Wiki updated 6 Nov 2026, 03:55 UTC · Game version 75 (`main-CSuyb4iv.js`, data synced 5 Nov 2026, 21:45 UTC)

Breadcrumb: [Main page](/) › [Events](/events)

| Fry Fly Swarm | |
|---|---|
| Announcement | “A swarm of fry flies!” |
| Kind | `swarm` |
| Enemy | [Fry Fly Swarm](/enemies/swarm-fly) |

**Fry Fly Swarm** is a world event in tibo.dog. On screen: “A swarm of fry flies!”

## Overview

Fry Fly Swarm is the most frequent scheduled event. The [wave table](/bosses) fires it at 2:00, 5:00, 8:00, 11:00, 15:00, 18:00 and 20:00, and after 20:00 it alternates with [Ring of Hay Bales](/events/bale-ring), taking every even minute. At 8:00 and 15:00 it arrives together with [Harvest Moon](/events/harvest-moon).

After the announcement, 26 [Fry Fly Swarm](/enemies/swarm-fly) pests enter from beyond the edge of the view and fly straight across. They are fragile (10 base HP) but fast (speed 100). Each one deals 5 contact damage and gives 1 XP, with a 2% gold chance. Every fly disappears 14 seconds after it spawns. Don't confuse them with the ordinary [Fry Fly](/enemies/fry-fly) of [Fry-Oil Desert](/biomes/fry-oil-desert).

## How it works

- **Geometry.** The game picks a random direction. The flies spawn at the normal spawn distance on the opposite side, in a block 240 units wide (120 to each side of Tibo's position) and up to 60 units deep, and all fly the same way.
- **No homing.** Each fly keeps flying in a straight line at its own speed and never turns towards Tibo. [sim-BkfBhQfw.js: ``case`swarm`:i.vx[t]=i.tx[t]*i.speed[t],i.vy[t]=i.ty[t]*i.speed[t]``]
- **Count.** 26 × the enemy-count multiplier, capped at 2×. With Standard's active late-game scaling, the count multiplier stays 1, so the requested swarm size stays 26 after 20:00 too. Endgame encounters can affect the available enemy pool; this is not a guarantee that all 26 remain alive. [sim-BkfBhQfw.js: `d=Math.round(t.count*Math.min(2,Ja(e.scale,e.cfg,e.runClock).count))`] [sim-BkfBhQfw.js: `e.speed=Math.min(r.maxSpeedMult,1),e.count=1,e.rate=1`]
- **Despawn.** A fly is removed 14 seconds after it spawns, or as soon as it is about 460 units from Tibo, and drops nothing. [sim-BkfBhQfw.js: `r.tx[f]=c,r.ty[f]=l,r.despawnAt[f]=e.time+14`]
- **Full field.** The event is skipped (with no announcement) if the enemy pool is at its hard cap (550 on Easy/Normal, 700 on Hard, 850 on Nightmare). If the cap is reached partway through, fewer flies spawn.

**Measured** (headless `tools/play.mjs`, build `main-B2gf34bA`, standard mode, `--god`, seed `wiki`; the clock warped to 1 s before each minute, with all pests removed every tick so the 550 cap could not cut a swarm short): the swarm fired at 2:00, 5:00, 8:00, 11:00, 15:00, 18:00, 20:00, 22:00 and 24:00. It had 26 flies every time before overtime, on all four difficulties. On Normal the 22:00 and 24:00 swarms had 52; on Easy they had 39 and 52. One run counted 25 at 8:00 because one fly was removed on the tick it spawned. Without the per-tick clearing, a stationary Tibo's field reached the 550 cap and the Normal 22:00 swarm stopped at 49.

## Tips

- The flies don't steer, so moving sideways to their path gets Tibo out of the band. At base speed, Tibo covers the 120 units to the edge of the band in about 2 seconds.
- With 10 base HP, the flies die quickly to area weapons. Standing your ground also works if your build already clears crowds.

## Effect

| Parameter | Value |
|---|---|
| `kind` | swarm |
| `enemy` | swarm-fly |
| `count` | 26 |
| `width` | 120 |

This event is not tied to a landmark biome in the content tables.

## Names in other languages

**Verified**: the name the game shows when another language is selected in Settings, from its translation files. [i18n-ja-content-DO6GrqHt.js: `"content.event.fly-swarm.name":["フライバエの群れ"]`] See [Languages](/controls#languages).

<details class="raw"><summary>Show names in 26 languages</summary>

| Language | Code | Name |
|---|---|---|
| 简体中文 · Simplified Chinese | `zh-CN` | 苍蝇群 |
| 繁體中文 · Traditional Chinese (Taiwan) | `zh-TW` | 蒼蠅群 |
| 日本語 · Japanese | `ja` | フライバエの群れ |
| 한국어 · Korean | `ko` | 튀김 파리 떼 |
| Español · Spanish | `es` | Enjambre de moscas de fritura |
| हिन्दी · Hindi | `hi` | फ्राई मक्खी झुंड |
| Deutsch · German | `de` | Fliegenschwarm |
| Français · French | `fr` | Essaim de mouches à frites |
| Português (Brasil) · Brazilian Portuguese | `pt` | Enxame de moscas |
| Türkçe · Turkish | `tr` | Kızartma Sineği Sürüsü |
| Bahasa Indonesia · Indonesian | `id` | Kawanan Lalat Gorengan |
| Русский · Russian | `ru` | Рой фритюрных мух |
| Bahasa Melayu · Malay | `ms` | Kawanan Lalat Goreng |
| Filipino | `fil` | Kawan ng Langaw ng Fries |
| मराठी · Marathi | `mr` | फ्राईज माश्यांचा थवा |
| Tiếng Việt · Vietnamese | `vi` | Đàn Ruồi Chiên |
| తెలుగు · Telugu | `te` | ఫ్రై ఈగల గుంపు |
| தமிழ் · Tamil | `ta` | ஃப்ரை ஈக் கூட்டம் |
| বাংলা · Bengali | `bn` | ফ্রাই মাছির ঝাঁক |
| ไทย · Thai | `th` | ฝูงแมลงวันมันทอด |
| Hausa | `ha` | Garken Ƙudan Soya |
| Naijá · Nigerian Pidgin | `pcm` | Fry Fly Swarm |
| <bdi>العربية</bdi> · Arabic | `ar` | <bdi>سرب ذباب القلي</bdi> |
| <bdi>فارسی</bdi> · Persian | `fa` | <bdi>دسته‌ی مگس روغنی</bdi> |
| <bdi>עברית</bdi> · Hebrew | `he` | <bdi>נחיל זבובי צ׳יפס</bdi> |
| <bdi>اردو</bdi> · Urdu | `ur` | <bdi>فرائز مکھیوں کا غول</bdi> |

</details>

## Sources

Game version 75: `main-CSuyb4iv.js` / `boot-CPW8VVmR.js` / `sim-BkfBhQfw.js` from https://tibo.dog/, researched 2026-11-05. See [Versions & updates](/versions).
- Content registry exported by `boot-CPW8VVmR.js`; boss definitions and order exported by `sim-BkfBhQfw.js`; lazy endgame definitions from `endgame-content-CyuS5vbP.js` and `catalog.generated-JnyrtBzy.js`
- English names and descriptions from `i18n-en-content--0ALgcKX.js`
- Names in other languages from the 26 `i18n-<code>-content` files of `main-CSuyb4iv.js` (`data/i18n-names.json`)
