Protože nemůže rozumně během výpočtu měnit herní scénu, řeší změny scény až ex-post na základě eventů ({ate_dot,Coordinates}, ate_fruit). To je problém, protože může vygenerovat eventy, které jsou vzájemně v kolizi. Ex-post potom musíš řešit, co dělat, když jdou nějaké eventy proti sobě.
No, já jsem to řešil tak, že jsem měl scénu, ta měla tiky, a v každém tiku jednotlivé objekty udělaly změny na scéně co potřebovali. Na konci tiku se vždycky uplatnili změny, a ty se zapsali zpět do scény. A tak se to opakovalo.
Pokud tam dva paňácové šahali po pomeranči, tak ten první ho dostal, a ten druhej šáhnul do prázdna (v příším tiku by se to dozvěděl). Jednoduše, kdo dřív přijde. Podobně to fungovalo když by se měl ten paňáca hejbat, a vznikla by nějaká kolize (narazil do jiného paňáci).
Jako fungovalo to parádnicky, a asi ani v mutable prostředí bych to nedělal jinak.
Je možné, že jsem si to moc zjednodušil a na nějaké über-extra-mega složité hře bych narazil, ale zatím si to nemyslím, a k negativním zkušenostem druhých jsem skeptický.