xile.us
← all games
2026-07-27 Featured

Aegis of Athens

HTMLCSSJavaScriptCanvas

An isometric, character-driven city game: walk your Athenian out the gate to gather olives, grapes, and fish, haul them home to the workshops, sell the goods at the Agora — then spend the drachmas on walls, hoplites, and archers to survive ten Spartan sieges. Zero image assets; the whole world is drawn in code on a canvas.

How it plays

You are one Athenian on foot in a walled isometric city. Head south through the gate and the countryside opens up: olive groves, vineyards, and fishing docks with regenerating stock — walk up and your backpack fills. Haul it home and stand at the matching workshop (olives to the Press, grapes to the Winery, fish to the Granary) to deposit; each building processes its buffer over time into oil, wine, and food, and the finished goods pile up beside it as amphorae, wine jars, and loaves — a visual “come collect me” cue. Carry them to the Agora and sell for drachmas.

Then Sparta shows up. Waves march from the north and batter the city walls — which have hit points, damage tinting, and a HUD bar. Drachmas hire hoplites to hold the rampart line and archers to loose arrows from it, and you can fight too: your spear auto-strikes nearby Spartans, and getting caught outside during a raid can knock you back to the city and cost you half your load. Food isn’t just for selling — the army eats from the Acropolis larder, and an empty larder starves soldiers into deserting. Survive ten escalating waves to win.

An upgrade shop (bigger backpack, faster movement, faster workshops, stronger walls) and hireable porters — Gatherers that auto-harvest and Merchants that auto-sell — layer an idle-game automation loop on top, and a minimap tracks the city, nodes, porters, and Spartans. Progress saves to localStorage with autosave and resume-on-reload.

How it’s built

Plain HTML, CSS, and JavaScript ES modules on a full-viewport canvas — no engine, no bundler, and no image assets at all: the isometric projection, diamond tile ground, Greek temples (stepped stylobates, fluted columns, terracotta gabled roofs), layered resource nodes, and the character are all drawn in code by a depth-sorted renderer. Input is a floating touch joystick or WASD; sound is synthesized with the Web Audio API.

It’s also a case study in building in phases: five planned phases (isometric engine and traversal → gather and carry → make and sell → siege → progression and polish), each shipped playable, with the previous version of the game kept live at the repo root until v2 reached feature parity.

// gallery

// more games

DinoGrow screenshot Featured

DinoGrow

Three.jsJavaScriptWebGL

Updated 2026-07-03

A 3D dinosaur growth game for kids — start as a hatchling and eat everything in sight to grow into a GIANT. 11 playable dinosaurs with signature abilities across eight themed levels, each with its own objective and boss. No build step; pure Three.js.

Rampage screenshot

Rampage

PhaserJavaScriptVite

Updated 2026-07-03

A kid-friendly side-scrolling car-combat & upgrade game — drive a junky cardboard car across five wild lands, smash silly monsters, collect supplies, and upgrade your way to a rocket-firing battle tank.

Flight School screenshot

Flight School

HTMLJavaScriptThree.jsWebGL

Updated 2026-07-18

A cargo-flying game for little pilots: pick a pilot, load a creature, and fly it to Grandma's house, the mountain, or the island, then airdrop it — it stays there forever. Built on an honest flight model (pull up too hard and you stall) in a single self-contained Three.js file. No crashes, no score, no losing.

// share X Reddit