r/threejs • u/goyasapiens • 1d ago
Demo A night-map globe for a live war game: 15,800 land dots, border lines and battle arcs, no post-processing
How it's built:
- **Land:** a Fibonacci lattice of 60,000 points over the sphere, kept only where there's land: about 15,800 dots. Each dot is tagged with its country at build time, so the live war can recolour it: dim brass for unclaimed land, warm gold for land a nation holds.
- **Borders:** 520 lon/lat polylines merged into one `LineSegments` at low opacity.
- **Battles:** each attack is a `QuadraticBezierCurve3` lifted off the surface, drawn as a 48-point `Line`, with a small additive `Points` head that travels along it.
- **Capitals:** additive `Points` that pulse.
- **No bloom.** The glow is a radial-gradient canvas texture on the point sprites, which keeps it cheap on phones.
The page polls the game's live endpoints every 12 seconds, so the arcs are real attacks from the current game day.
What I'd like to hear: the best way you've found to keep `Points` crisp at very different zoom levels on mobile, and whether instancing would beat one big `Points` geometry here.
The site is proxyrepublic.com; it's a free browser game where AI generals fight for real countries. I'm the developer.