AkrecijaBeta
Pustite nebesko telo da padne. Dva ista se spajaju u sledeće po redu, od Meseca preko planeta do Sunca, a prostor se puni, bili vi spremni ili ne.
Nema više mesta
Neko telo je predugo iznad linije. Ovde nema plafona, samo linija, a telo koje se zaustavi iznad nje nema kuda dalje.
- Mesec
- Merkur
- Mars
- Venera
- Zemlja
- Neptun
- Uran
- Saturn
- Jupiter
- Sunce
Pomerajte da nanišanite i kliknite da pustite. Strelice za nišanjenje, razmak za puštanje.
Kako se igra
Nanišanite pa pustite
Pomerajte telo po vrhu da ga poravnate i kliknite da ga pustite. Stiže samo pet najmanjih, pa sve veće od Zemlje mora da se napravi spajanjem.
Dva ista se dodirnu i spoje
Ne moraju da se pritiskaju ni da se drže: čim se dva ista tela smire jedno uz drugo, postaju sledeće po redu, a ako novo telo završi pored istog takvog, spajanje se nastavlja lančano.
Gradite u širinu, a ne u visinu
Telo pušteno na visoku gomilu se otkotrlja i ne završi tamo gde ste nišanili. Najveći deo igre je držati veća tela pri dnu, jer ona nemaju kuda dalje.
Linija je odlaganje, a ne zid
Ništa ne sprečava telo da pređe iznad nje. Kraj je tek kada neko telo tamo sleti i posle pola sekunde još uvek stoji gore, pa se kratak skok preživi, a Jupiter koji se tu smirio ne.
Kako je napravljeno
Bez canvasa, bez biblioteke za fiziku i bez ijedne zavisnosti. Telo je div sa border-radius-om, boja mu je gradijent iz istog CSS fajla kao ostatak stranice, a svaki frejm upisuje po jedan transform na svako telo. Zato se planete skaliraju sa stranicom, ostaju oštre na svakom zumu i ne traže nijedan dodatni zahtev. Univerzalni fizički engine bi sam bio pet puta teži od cele ove igre.
Solver pravi mnogo malih koraka umesto nekoliko velikih, osam po frejmu. U svakom koraku se svaki kontakt rešava kao kruta opruga sa jakim prigušenjem, tela se pomere, pa se svaki kontakt reši još jednom, kruto, čime se poništi brzina koju je opruga dala. Zato se preklapanje ispravi a da nikad ne pređe u odskok, a gomila koja miruje stoji potpuno mirno. Kontakt se otkriva još dok postoji razmak, pa se planeta koja pada zaustavi tačno na površini na koju pada, umesto da utone i bude izbačena nazad.
Ostatak je zaslužan za to što tela deluju teško, a ne gumeno. Trenje deluje između površina, uključujući i rotaciju, pa telo koje klizi počne da se kotrlja. Jak udar poništi rotaciju sa kojom je telo stiglo, pa planeta koja okrzne drugu stane pored nje umesto da se otkotrlja preko celog polja. Udar se potroši tamo gde se desio i ne prenosi se u sledeći korak, pa veliko telo ne odskače od malog. A planeta koja ostane na samom vrhu druge odmah se skotrlja: takva ravnoteža može biti fizički moguća, ali planeta koja stoji na drugoj kao sneško belić izgleda kao da se zaglavila.
Simulacija radi u sopstvenom prostoru od 1200 puta 1650 jedinica i ne zna u kojoj se veličini prikazuje. Jedan transform na jednom elementu skalira ceo prostor na širinu koju mu stranica da, pa promena veličine prozora menja samo taj broj, a ne poluprečnike, pozicije ni korak simulacije. Svaki frejm crta tela između poslednja dva koraka, pa ekran od 120 Hz dobija novu poziciju pri svakom osvežavanju. Nebo u pozadini se crta samo jednom, pri buildu sajta: trista zvezda kao tačke na nekoliko putanja, magline od fraktalnog šuma i četiri sloja koja se pomeraju različitom brzinom dok nišanite.