Celebrul joc Snake, popularizat telefoanele Nokia din anii ’90, a primit de-a lungul timpului tot felul de versiuni, care de care mai creative. Asemeni Doom și Tetris, acest joc a fost „portat” de-a lungul timpului pe tot felul de dispozitive, multe dintre ele nefiind platforme de „gaming”. A venit acum momentul pentru un remake neașteptat: rulează direct în bara de adrese a browserului (link), fie el Chrome, Brave, Edge sau Opera.
Jocul Snake a fost adus în bara de adresă folosind JavaScript
Proiectul, denumit simplu „URL Snake”, este creația dezvoltatorului Demian Ferreiro, care a reușit să înghesuie toată logica jocului în mai puțin de 400 de linii de JavaScript. Jocul folosește caractere Unicode Braille pentru a afișa șarpele și câmpul de joc, ceea ce îi permite să funcționeze perfect în spațiul minuscul al unei bare de URL. Controlul este simplu și intuitiv: folosești săgețile de pe tastatură pentru a controla direcția în care miști șarpele realizat din puncte.
Ferreiro a explicat pe GitHub că ideea i-a venit din fascinația pentru structura Unicode a simbolurilor Braille: fiecare caracter Braille reprezintă un o matrice de 2×4 puncte, adică 8 poziții binare – echivalentul unui byte complet. Această proprietate i-a permis să „animeze” jocul direct în bara de adresă, la o rezoluție de 40×4 pixeli, cu actualizări rapide prin funcția RequestAnimationFrame pentru mișcare fluidă.
Rezultatul este un mic miracol tehnic și o lecție de programare creativă: un joc complet funcțional, cu control simplu și gameplay autentic, dar afișat într-un spațiu pe care nimeni nu l-ar fi considerat vreodată un ecran de joc. Dezvoltatorul admite că proiectul a început „ca o glumă”, însă reacțiile entuziaste l-au determinat să îl publice oficial și să încurajeze contribuțiile open-source. Oricine poate descărca codul, raporta bug-uri sau chiar propune îmbunătățiri prin pagina GitHub a proiectului.
Există însă și un efect secundar amuzant: pentru că fiecare cadru de animație, jocul generează o nouă intrare în istoricul browserului. Astfel, sesiunea de joc lasă în urmă sute de linkuri în history. Soluția? O ștergere a istoricului după fiecare joc.