Meniu Shop

DOOM RULEAZĂ MAI NOU ȘI ÎN DOCUMENTE PDF

Creatorul DoomPDF a fost inspirat de recent lansatul Tetris, bazat tot pe motor PDF.
J.o.k.e.r
J.o.k.e.r
Doom rulează mai nou și în documente PDF

Un student entuziast și creativ s-a angajat într-un proiect surprinzător de inedit: și-a propus să creeze o versiune specială a jocului iconic Doom, în format PDF. Mediul special a permis integrarea unui joc 3D prin intermediul suportului de container JavaScript, deși o bună parte din capacitățile acestui sistem de programare sunt dezactivate din motive de securitate.

Specificația JS este destul de bogată în funcții, permițând redarea de coordonate 3D, însă acestea nu sunt utilizate pe scară largă, cel puțin nu de publicul larg, din cauza riscurilor de securitate pe care le prezintă. Desigur, acest lucru este oarecum contrazis de recentul joc Tetris în format PDF, care a provocat în sine destulă agitație.

Dar să ne întoarcem la DoomPDF, care este totuși mai interesant pentru majoritate decât un simplu Tetris. Studentul Ading2210, a ales pentru proiect un browser web bazat pe Chromium, însă browserele web moderne acceptă doar o mică felie din specificațiile JS oficiale, pentru a reduce suprafața de atac și a face documentele mai sigure.

În cazul Doom PDF, codul scris în C a fost compilat folosind o versiune veche a Emscripten, care vizează asm.js, nu WebAssembly. Ca urmare, codul poate rula fără probleme în mediul JS limitat al unui anumit browser web. Comenzile de control sunt transmise cu succes prin intermediul motorului PDF al Chromium, folosind mecanici bazate pe casete de text și butoane, astfel încât nu numai mișcarea devine controlabilă, dar pot fi efectuate și acțiuni specifice, cum ar fi deschiderea hărții sau reîncărcarea armelor. Port-ul, construită în jurul codului sursă doomgeneric, a avut provocările sale în ceea ce privește afișarea cadrelor.

Deschide galerie

Rezultatul final este surprinzător de bun, chiar dacă este construit din caractere ASCII, și utilizează doar șase nuanțe de gri, deci contrastul nu este foarte bun. Dezvoltatorul spune că în jocurile anterioare bazate pe PDF, lucrurile erau mai simple, deoarece puteai folosi câmpuri de text individuale ca pixeli, astfel încât afișarea pixelilor era relativ mai stabilă. La o rezoluție de 320 x 240 pixeli, această metodă ar necesita un total de 64 000 câmpuri de text pentru a fi activate și dezactivate rapid, ceea ce nu a fost fezabil pentru acest proiect.

Prin urmare, a trebuit găsită o metodă diferită: în loc de casete de text pentru fiecare pixel, Ading2210 a alocat o casetă de text separată pentru fiecare rând de "pixeli", conținând codurile ASCII menționate mai sus, în șase nuanțe diferite de gri. Această metodă de redare funcționează destul de bine, dar viteza de redare este mai mică decât în jocurile clasice: este nevoie de aproximativ 80 milisecunde pentru a reda un cadru complet folosind caractere ASCII, ceea ce duce la o performanță de aproximativ 12,5 FPS. Deși acest lucru este puțin mai bun decât afișarea de diapozitive, nu acesta era scopul proiectului, ci faptul că Doom poate rula și într-un document PDF.

Jocul iconic a fost portat pe foarte multe platforme de-a lungul anilor, inclusiv afișajul încorporat al unei mașini de tuns iarbă robotizată, tastaturi al cărei taste iluminate funcționau ca ecran, afișajul periuței de dinți, multimetre și alte dispozitive.

Pentru cei care doresc să încerce jocul și în acest format, o puteți accesa aici.

Îţi recomand

    Teste

      Articole similare

      Înapoi la început