Legendinis žaidimas DOOM jau ne kartą buvo „priverstas“ veikti ten, kur, atrodytų, tam nėra jokios logikos: nuo įvairių buitinių ekranų iki netikėtų programinių aplinkų. Šį kartą internetą sudomino dar viena demonstracija, kurioje žaidimas paleidžiamas tiesiai „Microsoft Paint“ programoje.
Projektą sukūrė Markas Russinovichas, „Microsoft Azure“ technologijų vadovas. Jis pristatė programėlę „DoomPaint“, kurią paviešino „GitHub“, ir kuri leidžia DOOM vaizdą atvaizduoti „Paint“ lange, paverčiant įprastą piešimo programą savotišku žaidimo ekranu.
Kaip veikia „DoomPaint“?
Esminė idėja paprasta, bet išradinga: „Paint“ pats neskaičiuoja žaidimo logikos ir nevykdo jo kodo. DOOM variklis veikia fone, o kiekvieną sugeneruotą kadrą programa automatiškai nukopijuoja į operacinės sistemos iškarpinę.
Tada tie kadrai perkeliami į tuščią „Paint“ drobę, todėl atrodo, kad žaidimas veikia pačioje grafinėje programoje. Tokia schema išlaiko aiškią ribą tarp skaičiavimų ir vaizdo pateikimo, o „Paint“ čia tampa tik atvaizdavimo priemone.
Greitis, raiška ir netikėta „laiko kilpa“
Autorius nurodo, kad demonstracija pasiekia maždaug 35 kadrus per sekundę, o vaizdas gali būti 320 x 200 arba 640 x 400 pikselių raiškos. Tai reiškia, kad triukas nėra vien statiškas eksperimentas, o realiai naudojamas žaidimo rodymas.
Įdomi detalė susijusi su „Paint“ įprastais klavišų deriniais. Kadangi „CTRL + Z“ „Paint“ aplinkoje atšaukia veiksmus, šiame projekte jis gali „atsukti“ kelias dešimtis kadrų atgal ir sukurti savotišką laiko kilpos efektą.
Kodėl tai tapo sensacija?
Nors iš pirmo žvilgsnio tai gali skambėti kaip pokštas, tokie projektai dažnai tampa technologinės kultūros dalimi, nes parodo nestandartinį mąstymą ir sistemų veikimo principus. DOOM dėl savo istorinių portavimo tradicijų ir palyginti paprastos architektūros jau seniai laikomas žaidimu, kuriuo entuziastai testuoja kūrybiškumo ribas.
„Paint atvaizduoja žaidimą, bet jo neskaičiuoja. „Paint“ neskaičiuoja nieko. „Paint“ niekada nieko neskaičiavo. Tame ir yra šio pokšto esmė“, – sakė Markas Russinovichas.
„DoomPaint“ nėra naujas žingsnis žaidimų kūrime, tačiau tai taikli demonstracija, kaip paprasti operacinės sistemos įrankiai, iškarpinė ir elementarus automatizavimas gali būti sujungti į netikėtą rezultatą. Tokie eksperimentai taip pat primena, kad net senos, visiems pažįstamos programos gali tapti netradicinių idėjų platforma.
