A multi-colony ant foraging simulator in Unity/C#, built to watch global structure emerge from purely local rules. Every ant decides using only what it can sense where it stands (pheromone concentration, food, obstacles, the direction of its nest), and no ant has a map. Legible trails, route selection and competition between colonies are all emergent.
Features. Pheromone trails that evaporate over time · an optional per-ant genome (random multipliers for speed, steering, sensor range, pheromone run-out and spacing) so individual ants behave differently · several colonies simulated side by side for direct comparison · a sandbox editor for drawing maps (nests, food, obstacles).
Built with C# and Unity (2D, grid + objects), with a fluent API for genome configuration. Course project for Advanced C# Programming at MFF UK, Charles University.
Docs. User guide · Developer guide, both in Czech,
with a PlantUML state diagram of the ant agent in DOCS/diagrams/.
Run it. Clone the repository, open it in Unity Hub, and play the scene. Editor mode lets you draw the map; Simulation mode runs the colonies.
Jakub Dvořák · kubadvorak.com
Tento projekt vznikl jako zápočtový program v rámci kurzu Pokročilé programování v C# na MFF UK.
- Autor: Jakub Dvořák
Cílem je vytvořit simulátor mravenčí kolonie, který demonstruje principy emergentního chování. Jednotliví mravenci se rozhodují pouze na základě lokálních informací (feromony, potrava, překážky, pozice hnízda), ale dohromady vytvářejí globálně čitelné trasy a strategie.
Vizuální ukázka běžící simulace:

- Hledání potravy: mravenci prozkoumávají mapu a sbírají zdroje.
- Feromonové stopy: každý jedinec ukládá do prostředí feromon, který pomáhá ostatním zorientovat se.
- Návrat do hnízda: nasbíraná potrava je transportována zpět a zvyšuje skóre kolonie.
- Více týmů: na jedné mapě může vedle sebe běžet několik kolonií a jejich chování lze porovnávat.
- Genom: volitelné náhodné multiplikátory vlastností (rychlost, dosah senzorů, jak dlouho a jak hustě mravenec klade feromon…), díky nimž se jednotliví mravenci chovají odlišně.
- Sandbox editor: uživatel může kreslit mapu (hnízda, zdroje, překážky) a sledovat, jak si s ní kolonie poradí.
- C# + Unity (2D simulace s gridem i objekty)
- Fluent API pro konfiguraci genomu
/DOCS
├─ user-guide.md # Uživatelská dokumentace
├─ developer-guide.md # Programátorská dokumentace
├─ diagrams/ # PlantUML diagramy
└─ images/ # Obrázky
/AntColonySimulation # Hlavní C# kód simulace
- Naklonuj si github repozitář
- Otevři projekt v Unity Hub.
- Spusť scénu.
- V Editor mode můžeš upravovat mapu (hnízda, potrava, překážky).
- V Simulation mode sleduj chování mravenců.
- Uživatelská dokumentace: návod k ovládání a používání simulace.
- Programátorská dokumentace: technické detaily.
Simulátor ukazuje, jak z jednoduchých pravidel může vzniknout složité chování celého systému.