← COCOFLY
Наука · что настоящее

Наука в COCOFLY: что настоящее, а что карикатура

English below

COCOFLY — игра, а не симуляция. Ниже честно перечислено, что взято из реальной биологии Drosophila melanogaster, где именно в коде это лежит, и где игра намеренно упрощает или выдумывает. Все утверждения о мозге ниже относятся к взрослой мухе; ссылки — в общей библиографии в конце документа.

Главный дисклеймер. Поведенческая модель Коко (web/src/core/sim.js, actions.js, brain/neuro.js) — это набор игровых показателей 0–100 и функций полезности. Она не является симуляцией коннектома: ни один из 25,6 млн синапсов не участвует в выборе, что Коко будет делать. Облако нейронов на вкладке «Мозг» подсвечивается заранее рассчитанными клипами активности, которые выбираются по текущему действию, а не рассчитываются в реальном времени.

1. Атлас нейропилей — настоящий

Файл web/src/core/brain/atlas.js, массив NEUROPILS (28 областей). Названия и аббревиатуры — по единой номенклатуре мозга насекомых Ito et al. 2014 (LA, ME, LO, LOP, AME; PB, FB, EB, NO; CA, PED, доли ГТ; AL, LH; SMP, SIP, SLP; AOTU, BU, LAL; AVLP, PLP, WED, AMMC; GNG; VES; SPS). Описания функций каждой области (role) — сжатые пересказы учебниковых данных с указанием ключевых нейронов (T4/T5, LPLC2, E-PG, Δ7, R5, dFB, клетки Кеньона, MBON, PAM/PPL1, гломерулы DM1/DM2/DM4, V, DA1, DN1, LNv/LNd, P1). Координаты на схеме — иллюстративные (фронтальный вид, не в масштабе), группировка по цветам — игровая.

Каждая область ссылается на онтологию анатомии дрозофилы FBbt через поиск в EBI OLS (ols(label)) или Virtual Fly Brain. Единственный проверенный идентификатор, зашитый в код: FBbt:00003678 — эллипсоидное тело (ellipsoid body). Остальные термины связаны по названию, а не по ID: при добавлении ID проверяйте их в OLS.

2. Коннектом — настоящие данные, но выборка

Вкладка «Мозг» рисует точки из web/assets/brain/brain.bin по манифесту brain.json:

Для сравнения в atlas.js (FACTS) хранится и число нейронов женского мозга по FlyWire (139 255; Dorkenwald et al. 2024; Schlegel et al. 2024). Точные условия лицензии и форму цитирования MaleCNS нужно сверить со страницей релиза (см. THIRD_PARTY_NOTICES.md).

3. Модель драйвов — карикатура с реальными якорями

web/src/core/brain/neuro.js (computeNeuro) переводит игровые показатели в уровни 0–1: «голод», «жажда», «давление сна», «свет», «испуг», «запах еды», «CO₂» и т. д., затем усредняет их по спискам drives каждой области → «активность» нейропиля для подсветки атласа. Параллельно вычисляются 17 «нейромодуляторов» (MODULATORS в atlas.js) как простые формулы от тех же показателей. Их роли и источники — настоящие, формулы — выдуманные:

МодуляторРоль в игре (по atlas.js)Источники из кода
Дофамин (DA)награда PAM / наказание PPL1 в ГТ, бодрость, новизна; переключатель сна в dFBLiu 2012; Pimentel 2016; Aso 2014
Октопамин (OA)возбуждение и поиск еды при голоде, агрессия, бодрствованиеYang 2015; Zhou 2008; Crocker & Sehgal 2008
Серотонин (5-HT)способствует сну, насыщениеYuan 2006; Alekseyenko 2010
NPFголодная мотивация, риск ради едыWu 2005; Krashes 2009
sNPFстимулирует еду, регуляция снаLee 2004; Shang 2013
AKHгормон голодания, гиперактивностьLee & Park 2004; Isabel 2005
dILPинсулиноподобные пептиды, сытость, долголетиеRulifson 2002; Broughton 2005
DH44датчик питательного сахара в мозгеDus 2015
Лейкокинин (LK)размер порции, вода, сонAl-Anzi 2010; Cavey 2016
Аллатостатин A (AstA)«поесть или поспать»Hergarden 2012; Chen 2016
Дросульфакинин (DSK)насыщение, агрессияSöderberg 2012; Wu 2020
Тахикинин (TK)агрессия за едуAsahina 2014
Huginтормозит еду, включает ходьбуMelcher & Pankratz 2005; Schoofs 2014
PDFвыход часов из LNv, утренний пикRenn 1999; Grima 2004
SIFamideголод усиливает еду, подавляет ухаживаниеMartelli 2017
DH31пробуждение перед рассветом через DN1Kunst 2014
CCHamide-1порог пробуждения во снеFujiwara 2018 (verify)

Контуры (CIRCUITS, 11 штук) описаны в том же файле с источниками: часы (Konopka & Benzer 1971; Renn 1999; Grima 2004; Stoleru 2004), гомеостат сна (Hendricks 2000; Shaw 2000; Liu 2016; Donlea 2014), голод (Dus 2015; Krashes 2009; Kim & Dickinson 2017), вкус (Dahanukar 2007; Cameron 2010), обоняние (Suh 2004; Semmelhack & Wang 2009), память (Aso 2014; Hige 2015), испуг (Card & Dickinson 2008; von Reyn 2014; Ache 2019), груминг (Seeds 2014; Hampel 2015), навигация (Seelig & Jayaraman 2015; Namiki 2018), социальность (Kurtovic 2007; von Philipsborn 2011; Asahina 2014), температура и влажность (Hamada 2008; Gallio 2011; Enjin 2016).

4. Что из поведения настоящее

Числа в atlas.js (FACTS и описания областей): ~2000 клеток Кеньона на полушарие, ~150 часовых нейронов, ~1300 пар нисходящих нейронов (verify — оценки в литературе расходятся), взмах крыла ~200 Гц, длина тела ~2,5 мм, ≈50 гломерул в антеннальной доле, 30–100 яиц в день, сон 10–14 ч в сутки.

5. Генетика — настоящие аллели, игровые эффекты

web/src/core/genetics.js: 29 аллелей, каждый — реальный мутант с задокументированным фенотипом; эффекты (множители к чертам) — карикатура. Наследование в режиме «Поколения» — гаплоидная карикатура: каждый родительский аллель передаётся с p = 0,5, плюс небольшая мутация; несовместимые пары исключаются (per⁰ вытесняет perˢ/perᴸ, vg — Cy, sss — Sh).

АллельРеальный фенотипИгровой эффектИсточник
w¹¹¹⁸ whiteбелые глаза без экранирующего пигмента; хуже зрение при ярком светезрение при свете ×0,7, испуг медленнееMorgan 1910
e ebonyтёмная кутикулабыстрее греется на солнце, предпочитает −2 °C(классический маркер)
y yellowжёлтая кутикула, изменённая песня ухаживанияобщительность ×0,85Drapeau 2003 (verify)
vg vestigialкрохотные крыльяне летает, ходит быстрееWilliams 1991
Cy Curlyзагнутые крылья (доминантный маркер)полёт медленнее и дороже(классический маркер)
B Barузкие глаза, меньше омматидиевиспуг медленнееSturtevant 1925
Sh Shakerкалиевый канал; спит на треть меньше, живёт корочесон ×0,66, жизнь ×0,8Cirelli 2005
sss sleeplessсон урезан на ~80 %сон ×0,4, ошибки ×1,5, жизнь ×0,75Koh 2008
inc insomniacфрагментированный сонкачество сна ×0,6, просыпается ×2Stavropoulos & Young 2011
fmn fuminдефект транспортёра дофамина, гиперактивностьскорость ×1,3, сон ×0,7, расход энергии ×1,3Kume 2005
per⁰, perˢ, perᴸаритмия / сутки 19 ч / 29 чамплитуда часов 0 / период ×19/24 / ×29/24Konopka & Benzer 1971
mth methuselah+35 % к жизни, стрессоустойчивостьжизнь ×1,35, стресс/голод ×1,3Lin 1998
Indy I'm not dead yetэкономный метаболизмжизнь ×1,25, голод ×0,8Rogina 2000
chicoинсулиновый рецептор: меньше, дольше, меньше яицжизнь ×1,3, размер ×0,8, плодовитость ×0,6Clancy 2001
dnc duncecAMP-фосфодиэстераза, не учитсяобучение ×0,3Dudai 1976
rut rutabagaаденилатциклаза, плохо учитсяобучение ×0,5Livingstone 1984
amn amnesiacкороткая памятьобучение ×0,6, новизна ×1,4Quinn 1979
Orcoобщий обонятельный корецепторзапах 0Larsson 2004
norpAфототрансдукция сломаназрение 0, свет не мешает снуBloomquist 1988
Gr64f⁻не чувствует сахарнаграда от сладкого ×0,2Dahanukar 2007
TrpA1не избегает жарыплита и утюг опаснееHamada 2008
Antp Antennapediaгомеозис: лапки вместо антеннзапах и слух ×0,4Schneuwly 1987
chpd cheapdateчувствительность к этанолуэтанол ×2Moore 1998
hppy happyhourустойчивость к этанолуэтанол ×0,4Corl 2009
hang hangoverнет толерантности к этанолуэтанол ×1,5, стресс ×0,8Scholz 2005
Adh-Fбыстрая алкогольдегидрогеназаэтанол ×0,6(классический полиморфизм; verify)
Hsp70+дополнительные копии Hsp70жара ×1,4, стресс ×1,15Feder & Hofmann 1999

6. Развитие и продолжительность жизни: реальные и игровые сроки

При 25 °C настоящая дрозофила развивается около 10 дней: яйцо ≈ 1 день, личинка ≈ 4 дня (I ≈ 1, II ≈ 1, III ≈ 2), куколка ≈ 4–5 дней; взрослая муха в лаборатории живёт обычно 40–60 дней (сильно зависит от линии, корма и температуры) (Ashburner 1989; Linford 2013). Игра сжимает это (web/src/core/modes.js):

СтадияРеально (25 °C)В игре (STAGES)
Яйцо~1 день8 игровых часов
Личинка I~1 день8 ч
Личинка II~1 день10 ч
Личинка III~2 дня12 ч
Куколка~4–5 дней24 ч
Итого до взрослой~10 дней62 ч ≈ 2,6 игровых суток
Взрослая жизнь40–60 днейADULT_LIFESPAN_DAYS = 30 × аллели × случайный множитель 0,85–1,15

Игровая минута = 1 секунда реального времени при скорости ×1 (в режимах «Жизнь» и «Поколения» по умолчанию ×8). Смерть от старости наступает по истечении lifespan; голод и жажда сокращают его. Причины смерти (DEATH_CAUSES): старость, голод, обезвоживание, холод (>12 ч оцепенения), перегрев, паук, аэрозоль, липкая лента, сон в ванне. В режиме «Обычный день» Коко не умирает вообще.

7. Что выдумано

Квартира, посылки, мама, работа в офисе, монеты, кофе как источник кофеина, телевизор, винил, стиральная машина — всё это метафоры человеческого быта. Факапы (сгоревший тост, взрыв в микроволновке) — игровая механика. Обучение Коко «плохим» действиям (g.memory) — грубая аллюзия на пластичность ГТ, а не её модель. Показатель «Устойчивость» не имеет биологического аналога.

Science · what is real

The science in COCOFLY: what is real and what is caricature

COCOFLY is a game, not a simulation. Below is an honest list of what is taken from the real biology of Drosophila melanogaster, where exactly it lives in the code, and where the game deliberately simplifies or invents. All statements about the brain refer to the adult fly; references are in the shared bibliography at the end of the document.

Main disclaimer. Coco's behavioural model (web/src/core/sim.js, actions.js, brain/neuro.js) is a set of 0–100 game metrics and utility functions. It is not a simulation of the connectome: none of the 25.6 million synapses takes part in choosing what Coco does next. The neuron cloud on the "Brain" tab is lit by precomputed activity clips selected by the current action, not computed in real time.

1. Neuropil atlas — real

web/src/core/brain/atlas.js, array NEUROPILS (28 regions). Names and abbreviations follow the unified insect-brain nomenclature of Ito et al. 2014 (LA, ME, LO, LOP, AME; PB, FB, EB, NO; CA, PED, MB lobes; AL, LH; SMP, SIP, SLP; AOTU, BU, LAL; AVLP, PLP, WED, AMMC; GNG; VES; SPS). The role texts are compressed textbook summaries naming key neuron classes (T4/T5, LPLC2, E-PG, Δ7, R5, dFB, Kenyon cells, MBONs, PAM/PPL1, glomeruli DM1/DM2/DM4, V, DA1, DN1, LNv/LNd, P1). Schematic coordinates are illustrative (frontal view, not to scale); the colour grouping is a game choice.

Every region links to the Drosophila anatomy ontology FBbt via an EBI OLS search (ols(label)) or Virtual Fly Brain. The only verified identifier hard-coded is FBbt:00003678 — the ellipsoid body. Other terms are linked by name, not by ID; check any new IDs in OLS before adding them.

2. Connectome — real data, but a sample

The "Brain" tab draws points from web/assets/brain/brain.bin according to brain.json:

For comparison atlas.js (FACTS) also stores the female-brain neuron count from FlyWire (139 255; Dorkenwald et al. 2024; Schlegel et al. 2024). The exact MaleCNS license terms and citation form must be checked against the release page (see THIRD_PARTY_NOTICES.md).

3. Drive model — caricature with real anchors

web/src/core/brain/neuro.js (computeNeuro) converts game metrics into 0–1 levels — "hunger", "thirst", "sleep pressure", "light", "startle", "food odour", "CO₂" and so on — then averages them over each region's drives list to obtain a neuropil "activity" for the atlas. In parallel 17 "neuromodulators" (MODULATORS in atlas.js) are computed as simple formulas of the same metrics. Their roles and sources are real; the formulas are invented:

ModulatorRole in the game (from atlas.js)Sources cited in code
Dopamine (DA)PAM reward / PPL1 punishment in the MB, arousal, novelty; sleep switch in dFBLiu 2012; Pimentel 2016; Aso 2014
Octopamine (OA)arousal and food search when hungry, aggression, wakefulnessYang 2015; Zhou 2008; Crocker & Sehgal 2008
Serotonin (5-HT)promotes sleep, satietyYuan 2006; Alekseyenko 2010
NPFhunger motivation, risk for foodWu 2005; Krashes 2009
sNPFstimulates feeding, sleep regulationLee 2004; Shang 2013
AKHstarvation hormone, hyperactivityLee & Park 2004; Isabel 2005
dILPinsulin-like peptides, satiety, longevityRulifson 2002; Broughton 2005
DH44brain sensor of nutritive sugarDus 2015
Leucokinin (LK)meal size, water balance, sleepAl-Anzi 2010; Cavey 2016
Allatostatin A (AstA)"eat or sleep" switchHergarden 2012; Chen 2016
Drosulfakinin (DSK)satiety, aggressionSöderberg 2012; Wu 2020
Tachykinin (TK)aggression over foodAsahina 2014
Hugininhibits feeding, starts locomotionMelcher & Pankratz 2005; Schoofs 2014
PDFclock output from LNv, morning peakRenn 1999; Grima 2004
SIFamidehunger enhances feeding, suppresses courtshipMartelli 2017
DH31pre-dawn awakening via DN1Kunst 2014
CCHamide-1arousal threshold during sleepFujiwara 2018 (verify)

The 11 circuits (CIRCUITS) are described in the same file with sources: clock (Konopka & Benzer 1971; Renn 1999; Grima 2004; Stoleru 2004), sleep homeostat (Hendricks 2000; Shaw 2000; Liu 2016; Donlea 2014), hunger (Dus 2015; Krashes 2009; Kim & Dickinson 2017), taste (Dahanukar 2007; Cameron 2010), olfaction (Suh 2004; Semmelhack & Wang 2009), memory (Aso 2014; Hige 2015), startle (Card & Dickinson 2008; von Reyn 2014; Ache 2019), grooming (Seeds 2014; Hampel 2015), navigation (Seelig & Jayaraman 2015; Namiki 2018), social behaviour (Kurtovic 2007; von Philipsborn 2011; Asahina 2014), temperature and humidity (Hamada 2008; Gallio 2011; Enjin 2016).

4. Which behaviours are real

Numbers in atlas.js (FACTS and the region descriptions): ~2000 Kenyon cells per hemisphere, ~150 clock neurons, ~1300 pairs of descending neurons (verify — published estimates vary), ~200 Hz wingbeat, ~2.5 mm body length, ≈50 antennal-lobe glomeruli, 30–100 eggs per day, 10–14 hours of sleep per day.

5. Genetics — real alleles, game effects

web/src/core/genetics.js: 29 alleles, each a real mutant with a documented phenotype; the effects (trait multipliers) are caricatures. Inheritance in Generations mode is a haploid caricature: each parental allele passes with p = 0.5 plus a small mutation chance; incompatible pairs are removed (per⁰ displaces perˢ/perᴸ, vg displaces Cy, sss displaces Sh).

AlleleReal phenotypeGame effectSource
w¹¹¹⁸ whitewhite eyes lacking screening pigment; poorer vision in bright lightbright-light vision ×0.7, slower startleMorgan 1910
e ebonydark cuticlewarms faster in the sun, prefers −2 °C(classic marker)
y yellowyellow cuticle, altered courtship songsociability ×0.85Drapeau 2003 (verify)
vg vestigialstub wingscannot fly, walks fasterWilliams 1991
Cy Curlycurled wings (dominant marker)slower, costlier flight(classic marker)
B Barnarrow eyes, fewer ommatidiaslower startleSturtevant 1925
Sh Shakerpotassium channel; sleeps a third less, shorter lifesleep ×0.66, lifespan ×0.8Cirelli 2005
sss sleeplesssleep cut by ~80 %sleep ×0.4, mistakes ×1.5, lifespan ×0.75Koh 2008
inc insomniacfragmented sleepsleep quality ×0.6, wakes ×2Stavropoulos & Young 2011
fmn fumindopamine-transporter defect, hyperactivityspeed ×1.3, sleep ×0.7, energy drain ×1.3Kume 2005
per⁰, perˢ, perᴸarrhythmic / 19-h / 29-h dayclock amplitude 0 / period ×19/24 / ×29/24Konopka & Benzer 1971
mth methuselah+35 % lifespan, stress resistancelifespan ×1.35, stress/starvation ×1.3Lin 1998
Indy I'm not dead yetthrifty metabolismlifespan ×1.25, hunger ×0.8Rogina 2000
chicoinsulin receptor substrate: smaller, longer-lived, fewer eggslifespan ×1.3, size ×0.8, fecundity ×0.6Clancy 2001
dnc duncecAMP phosphodiesterase, learning-deficientlearning ×0.3Dudai 1976
rut rutabagaadenylyl cyclase, poor learnerlearning ×0.5Livingstone 1984
amn amnesiacshort memorylearning ×0.6, novelty ×1.4Quinn 1979
Orcoolfactory co-receptorsmell 0Larsson 2004
norpAphototransduction brokenvision 0, light never disturbs sleepBloomquist 1988
Gr64f⁻no sweet tastesweet reward ×0.2Dahanukar 2007
TrpA1no heat avoidancestove and iron more dangerousHamada 2008
Antp Antennapediahomeosis: legs for antennaesmell and hearing ×0.4Schneuwly 1987
chpd cheapdateethanol-sensitiveethanol ×2Moore 1998
hppy happyhourethanol-resistantethanol ×0.4Corl 2009
hang hangoverno ethanol toleranceethanol ×1.5, stress ×0.8Scholz 2005
Adh-Ffast alcohol dehydrogenaseethanol ×0.6(classic polymorphism; verify)
Hsp70+extra Hsp70 copiesheat ×1.4, stress ×1.15Feder & Hofmann 1999

6. Development and lifespan: real versus in-game

At 25 °C a real fruit fly develops in about 10 days: egg ≈ 1 day, larva ≈ 4 days (L1 ≈ 1, L2 ≈ 1, L3 ≈ 2), pupa ≈ 4–5 days; an adult typically lives 40–60 days in the lab (strongly dependent on strain, diet and temperature) (Ashburner 1989; Linford 2013). The game compresses this (web/src/core/modes.js):

StageReal (25 °C)In game (STAGES)
Egg~1 day8 game hours
Larva I~1 day8 h
Larva II~1 day10 h
Larva III~2 days12 h
Pupa~4–5 days24 h
Total to adult~10 days62 h ≈ 2.6 game days
Adult life40–60 daysADULT_LIFESPAN_DAYS = 30 × allele factors × random 0.85–1.15

One game minute is one real second at speed ×1 (Life and Generations default to ×8). Death from old age arrives when lifespan runs out; starvation and thirst shorten it. Death causes (DEATH_CAUSES): old age, starvation, dehydration, cold (>12 h of torpor), overheating, spider, insecticide, sticky trap, falling asleep in the bath. In "An ordinary day" mode Coco never dies.

7. What is invented

The apartment, parcels, mom, the office job, coins, coffee as a caffeine source, TV, vinyl, the washing machine — all metaphors of human life. Mishaps (burnt toast, microwave explosion) are game mechanics. Coco "learning" to avoid actions that ended badly (g.memory) is a loose allusion to mushroom-body plasticity, not a model of it. The "Resilience" metric has no biological counterpart.

References · Библиография

Библиография · Bibliography

Полные названия даны для работ, в которых мы уверены; «(verify)» — сверить перед публикацией. Full titles are given for works we are confident about; "(verify)" marks entries to check before publication.