About

A kite duel, taken seriously

Layangin is a small browser game about one specific thing: the moment two kite lines cross and one of them gives.

Why this game

Kite fighting is one of the few games where the whole contest happens through a piece of string. Most kite games skip that and turn it into a dodging game. Layangin does the opposite: the line is the entire mechanic — its tension, its sag, where it crosses, and how fast it is sliding.

What is simulated

  • Wind that increases with altitude following the standard power-law profile, with gusts generated as fractal noise.
  • Thin-plate aerodynamics: lift and drag computed from the sail's angle of attack against the apparent wind.
  • A flying line that sags as a shallow catenary when slack, goes straight under load, and parts if held past its breaking tension.
  • Abrasion at every crossing, weighted by sliding speed, contact pressure, crossing angle and which line is tauter.
  • Arena hazards: solid structures the kite collides with, steel cables that abrade a line without taking damage back, and wind shadows behind tall buildings where lift collapses.

What is not simulated

Stated plainly, so the game is not mistaken for something it is not.

  • It is a 2D side-on view. Real kite duels happen in three dimensions and the wind window is a hemisphere, not an arc.
  • The kite's attitude is set by the bridle geometry rather than solved as a full rigid body with rotational inertia.
  • Line stretch, line weight distribution along its length, and line-on-line friction heating are approximated, not modelled.
  • The numbers are tuned for a readable 90-second match, not calibrated against measurements of real kites.
  • Lives are a game convention, not physics. A real cut line ends the flight; here it costs one of two lives so a duel is decided over more than one exchange.
  • Kites are drawn about four and a half times larger than life. At true scale a 1 m sail on a 60 m line is a couple of pixels; collision and aerodynamics use the real size, only the drawing is exaggerated.

About the kites

The airframes are based on real Indonesian kite traditions — the Javanese pecut and sawangan, the Balinese bebean and janggan — alongside two modern shapes. They are interpretations for a game, not accurate reconstructions, and the game is not affiliated with any kite club, festival or organisation.

If something here misrepresents a tradition you know well, please say so — see the contact page.

How it is built

Framework
Nuxt with Vue and TypeScript, rendered mostly as static pages.
Rendering
The arena is a 2D canvas drawn from a fixed-timestep simulation running at 120 Hz. Sound is synthesized with the Web Audio API — there are no audio files.
State
Pinia stores, with progress persisted to your browser's local storage.
Languages
English and Indonesian, with all interface text in translation files.
Data
No backend. Nothing you do is sent anywhere.

Who made it

Built by Maulana Yusup A as a side project. Bug reports, corrections and ideas are all welcome.

Get in touch