Antemonium: an ant colony sim built from scratch in Odin and WebAssembly

Antemonium puts you in direct control of one ant of your red colony while the rest forage on their own; click any live ant of your own colony to switch control to it. Manage a queen-driven egg/larva/pupa brood cycle, a food economy, and evolution-point upgrades while trying to out-grow a rival black colony's population, all while dodging a wandering spider and rain.

How to play

Move your controlled ant with the arrow keys or WASD: it points and walks directly in that direction, overriding any pending click-to-move target. Bring food back to the nest to feed three separate pools at once: colony food, nest-building material, and evolution points. Press E to open the Evolution overlay and spend points on permanent speed, sense, or health upgrades (the rival colony spends its own points automatically, so falling behind here costs you). Press F to call a rally: it recruits any of your own soldier ants that wander within range of your current position, joining until you stand the rally down again. Press N near the nest entrance to step inside and view the brood chambers; press P to pause, R to restart, and H for an in-game help overlay. Keep a counter-ambush swarm handy against the spider, and expect rain to slow both colonies down.

How it's built

The whole game, colony AI, pheromone-grid foraging, physics, rendering, audio, and UI, is written in the Odin programming language and compiled to WebAssembly, with zero image files, zero audio files, and zero JavaScript/npm runtime dependencies. Every visual is a canvas pixel primitive; every sound is a live Web Audio oscillator. Rendering goes through Batchiness, an open-source batched-Canvas2D library that records a frame's draw calls into one buffer and flushes them across the WASM↔JS boundary in a single crossing, rather than one call per shape. Antemonium is a port of an earlier plain-Go/WASM implementation, translated onto Odin's fixed- capacity-array conventions rather than Go's growable slices-of-pointers, so hundreds of ants, food items, and brood entries update every frame with no per-frame allocation at all.

About the developer

I'm Ewald Horn, a software developer: I build all kinds of things, not just games. Antemonium is one example from a personal collection of small browser projects used to explore systems programming, WebAssembly, and simulation from first principles. I might be available for freelance development work.

More Toys →