Bouncing Beholder este un joc platformer complet, ambalat în doar 1.024 de octeți

URMĂREȘTE-NE
16,065FaniÎmi place
1,142CititoriConectați-vă

Fizică excelentă, medii colorate și niveluri randomizate

Byte-dimensiune: Platformerul JavaScript de dimensiuni mușcate, care se uită, este uimitor de mic, preluând doar 1.024 de octeți-de aproximativ o mie de ori mai puține date decât o singură captură de ecran promoțională pentru un joc video-pilot. În ciuda dimensiunii sale minuscule, include toate elementele esențiale ale unui platformer clasic.

Jocurile continuă să crească în fiecare an, dar un grup de dezvoltatori se îndreaptă înapoi împotriva tendinței. Am văzut deja versiuni uimitor de mici de Tetris, Snake și Doom, dar dimensiunile lor mici de fișiere vin adesea cu compromisuri precum controale clunky, animație limitată și lipsa de culoare.

Cu toate acestea, este diferit. În ciuda dimensiunii sale minuscule, oferă o aventură cu defilare laterală cu drepturi depline, cu animații netede, fizică receptivă, teren generat la întâmplare, colecții și pericole de evitat.

Jucătorii controlează un glob ocular care a săgeți perpetuu folosind cheile săgeții, navigând un peisaj înșelător care invita, plin de pericole. Scopul este de a colecta cât mai multe monede, evitând în același timp pericolele. Și când pierdeți inevitabil, designul randomizat la nivel asigură că fiecare redare se simte proaspătă.

Jocul a fost scris de Marijn Haverbeke, care l -a creat inițial pentru competiția de codificare JS1K în 2010. A fost recent redescoperit mulțumită în parte pentru limită strictă a dimensiunii fișierului.

Haverbeke a atins acest nivel uimitor de optimizare printr -o serie de trucuri de codificare inteligente. Acestea includ prescurtarea numelor variabile lungi și reprezentarea stărilor de joc folosind formule matematice în loc să stocheze date direct.

De exemplu, locațiile de monede nu sunt predefinite, ci respectă în schimb o regulă simplă: monedele apar pe orice platformă a cărei înălțime este divizibil cu șase. Colectarea unuia scade ușor înălțimea platformei, eliminând efectiv moneda.

Haverbeke a conceput, de asemenea, un sistem pentru a scurta automat numele de metode îndelungate din API -ul HTML5 Canvas folosit pentru a reda grafică. În loc să scrie canvas.quadraticcurveto (), el poate folosi pur și simplu qt (). Când întregul tău joc se încadrează într -un singur kilobite, fiecare personaj contează.

De fapt, codul este atât de strâns, încât instrumentele moderne de compresie, cum ar fi compilatorul de închidere Google, au crescut de fapt dimensiunea fișierului, mai degrabă decât să -l reducă.

După cum remarcă cu umor Haverbeke în blogul său: „În ceea ce privește productivitatea, acesta este un mod groaznic de codificare. Dar cu siguranță este distractiv. Nu mai vorbim de faptul că îmi oferă o scuză pentru a folosi orice fel de hack ciudat la care mă pot gândi.”

Codul complet al jocului poate fi găsit pe blogul lui Haverbeke.

Dominic Botezariu
Dominic Botezariuhttps://www.noobz.ro/
Creator de site și redactor-șef.

Cele mai noi știri

Pe același subiect

LĂSAȚI UN MESAJ

Vă rugăm să introduceți comentariul dvs.!
Introduceți aici numele dvs.