LAMPION

a night climb on the summer hills — serverless, p2p, end-to-end encrypted
▶ play browse the code the p2p core it builds on

What it is

A festival hill of stacked stone rings under a night sky, in Monument-Valley purples. Up to 16 players carry paper lanterns from the campground at the base toward the stage at the summit. Each level of the hill turns on its own — slow clockwork, a fresh rhythm every round — and stairs connect rings only where their slots align. Time your climb, or crank the ring you stand on to force an alignment early, dragging every lantern on it along. Help or hinder. First lantern on the summit stage takes the round; if the last song ends with no summit, the highest lantern takes it. First to 3 rounds headlines the night, and the sky fills with fireworks and released lanterns. Built to be played one-handed, standing in a field, on the phone in your pocket.

There is no game server. Your browser and your friends' browsers are js-libp2p peers: they meet through a circuit-relay on signal.ardegazu.ro, prove room membership with a sealed hello derived from the invite link's secret, then upgrade to direct WebRTC. libp2p's noise layer encrypts every pair end-to-end — even the relay only ever routes ciphertext. The room key lives in the URL fragment and never leaves your browser. One peer referees the climb; if it disappears, the hill quietly elects a new referee and strikes up the next song.

This page is also the repository

The site you're reading is a static snapshot that doubles as a git remote (dumb-HTTP protocol, loose objects):

git clone https://git.ardegazu.ro/game5.git

Run it yourself

cd lampion/client
npm install
npm run dev        # http://localhost:4173 — open two tabs on the same #room URL

Honest guarantees & limits

Anatomy

LAMPION

o urcare de noapte pe dealurile verii — fără server, p2p, criptată cap-la-cap
▶ joacă răsfoiește codul nucleul p2p pe care e construit

Ce este

Un deal de festival din inele de piatră suprapuse sub un cer de noapte, în violeturi à la Monument Valley. Până la 16 jucători duc lampioane de hârtie de la tabăra de la poale spre scena din vârf. Fiecare nivel al dealului se rotește singur — un mecanism lent, cu alt ritm în fiecare rundă — iar scările leagă inelele doar acolo unde li se aliniază locașurile. Prinde momentul urcării sau rotește tu inelul pe care stai, ca să forțezi o aliniere mai devreme — târând cu el toate lampioanele de pe el. Ajuți sau încurci. Primul lampion pe scena din vârf ia runda; dacă ultimul cântec se termină fără nimeni în vârf, o ia lampionul cel mai înalt. Primul la 3 runde e cap de afiș al nopții, iar cerul se umple de artificii și de lampioane înălțate. Făcut să se joace cu o mână, în picioare pe un câmp, pe telefonul din buzunar.

Nu există server de joc. Browserul tău și browserele prietenilor tăi sunt peers js-libp2p: se întâlnesc printr-un circuit-relay pe signal.ardegazu.ro, dovedesc apartenența la cameră cu un hello sigilat derivat din secretul linkului de invitație, apoi trec pe WebRTC direct. Stratul noise al lui libp2p criptează fiecare pereche cap-la-cap — până și releul rutează doar ciphertext. Cheia camerei stă în fragmentul URL-ului și nu pleacă niciodată din browser. Un peer arbitrează urcarea; dacă dispare, dealul alege în liniște un arbitru nou și pornește cântecul următor.

Pagina asta e și repository-ul

Situl pe care îl citești e un snapshot static care e totodată un git remote (protocolul dumb-HTTP, loose objects):

git clone https://git.ardegazu.ro/game5.git

Rulează-l singur

cd lampion/client
npm install
npm run dev        # http://localhost:4173 — deschide două taburi pe același URL #cameră

Garanții și limite, pe bune

Anatomie

LAMPION

éjszakai mászás a nyári dombokon — szerver nélkül, p2p, végponttól végpontig titkosítva
▶ játék böngészd a kódot a p2p mag, amire épül

Mi ez

Fesztiváldomb egymásra rakott kőgyűrűkből az éjszakai ég alatt, Monument Valley-lilákban. Akár 16 játékos visz papírlampiont az alsó táborhelytől a csúcson álló színpad felé. A domb minden szintje magától fordul — lassú óramű, körönként új ritmussal —, a lépcsők pedig csak ott kötik össze a gyűrűket, ahol a réseik egybeesnek. Időzítsd a mászást, vagy tekerd meg a gyűrűt, amin állsz, hogy korábban kényszeríts ki egy egybeesést — magaddal rántva a rajta álló összes lampiont. Segíts vagy keresztezz. Az első lampion a csúcsszínpadon viszi a kört; ha az utolsó dal csúcsraérés nélkül ér véget, a legmagasabb lampioné a kör. Aki előbb ér 3 körig, az az éjszaka főfellépője, az ég pedig megtelik tűzijátékkal és elengedett lampionokkal. Úgy készült, hogy fél kézzel is játszható legyen, egy mezőn állva, a zsebedben lapuló telefonon.

Nincs játékszerver. A te böngésződ és a barátaid böngészői js-libp2p peerek: egy circuit-relay-en át találkoznak a signal.ardegazu.ro-n, a szobatagságot a meghívólink titkából származtatott lepecsételt hellóval bizonyítják, majd közvetlen WebRTC-re váltanak. A libp2p noise rétege minden párt végponttól végpontig titkosít — még a relé is csak ciphertextet továbbít. A szoba kulcsa az URL fragmentben él, és soha nem hagyja el a böngésződet. Az egyik peer bíráskodik a mászásban; ha eltűnik, a domb csendben új bírót választ, és rázendít a következő dalra.

Ez az oldal egyben a repó is

Az oldal, amit olvasol, statikus pillanatkép, amely egyben git remote is (dumb-HTTP protokoll, loose objectek):

git clone https://git.ardegazu.ro/game5.git

Futtasd magad

cd lampion/client
npm install
npm run dev        # http://localhost:4173 — nyiss két fület ugyanarra a #szoba URL-re

Garanciák és korlátok, őszintén

Bonctan