Демка MONOSPACE, победитель Assembly ONLINE 2020, умещается в 1021 байт



    Первое место в соревновании разработчиков Assembly ONLINE 2020 в категории «Online 1k intro» заняла демка MONOSPACE. Программа размером в 1021 байт после сжатия написана на JavaScript. Автор демки — креативный кодер и демосценер-оптимизатор Mathieu 'p01' Henri.

    Создатель демки предупредил, что она работает в последних стабильных версиях браузеров на основе Chromium или Webkit. В Firefox будет просто слайдшоу из-за того, что его разработчики так и не исправили ошибку 1190398, связанную с ShadowBlur. Ссылка на демку для Chrome\Edge, версия для всех совместимых браузеров. Скачать демку можно с сайта автора.

    Код MONOSPACE сжат с использованием техники PNG bootstrapping.

    Mathieu 'p01' Henri пояснил, что в демке использовал 2D Canvas, избыточно использовав ShadowBlur для рендеринга изображения с разной глубиной резкости. Для воспроизведения аудио он задействовал scriptProcessingNode, злоупотребляя событием onAudioProcess для рендеринга звуковых и визуальных эффектов. Также в демке используется синтезатор речи, после его активации происходит новая отрисовка в ходе выполнения программы. Демка MONOSPACE названа в честь семейства моноширинных шрифтов.

    Для создания растрового изображения при помощи JavaScript (canvas) и контекста рендеринга демки требуется 59 байт кода:

    <canvas id="c"></canvas><script>b=c.getContext`2d`</script>

    Минифицированный код MONOSPACE имеет длину 1438 байт:

    
    d=[2280,1280,1520,c.width=1920,document.body.style.font="0px MONOSPACE"],g=new AudioContext,o=g.createScriptProcessor(4096,document.body.style.margin=t=n=0,1),o.connect(g.destination),o.onaudioprocess=o=>{o=o.outputBuffer.getChannelData(e=Math.sin(t/16%1,m=Math.sin(Math.min(1,y=t/128)*Math.PI)**.5+.1,c.height=1080,b.shadowOffsetY=32420,c.style.background="radial-gradient(#"+[222,222,222,222,155,155,102,102][t/16&7]+",black",b.font="920 32px MONOSPACE",f=[(x,y,t)=>x/y*2-t,(x,y,t)=>(x**2+y**2)**.5-t,(x,y,t)=>x/4^y/4-t,(x,y,t)=>y%x-t][t/16&3],u=""+[[,f,f," CAN YOU HEAR ME",f,f,,"MONOSPACE","THE END"][t/16|0]],t>n&&speechSynthesis.speak(new SpeechSynthesisUtterance(u,n+=16))));for(i=0;4096>4*i;i++)g[i]=r=(f(x=16-i%32,a=16-(i/32|0),t)/2&1)+(g[i]||0)/2,x+=o[0]/4+4*(1-m**.3)*Math.sin(i+t+8),a+=o[64]/4+4*(1-m**.3)*Math.sin(i+t),h=x*Math.sin(y*2+8)+a*Math.sin(y*2),p=4096/(m*32+4*h*Math.sin(e)+t%16),b.beginPath(f[i]=r/p),b.arc(h*Math.sin(e+8)*p+1280,x*Math.sin(y*2)*p-a*Math.sin(y*2+8)*p-31920,p>0&&p/(2+32-r*16),0,8),b.shadowBlur=o[0]**2*32+32-m*32+4+h*h/2,b.shadowColor="hsl("+[f(x,y,t)&2?t-a*8:180,(t&64)*m+"%",(t&64)*m+"%"],b.fill();b.shadowBlur=o[0]**2*32,b.shadowColor="#fee";for(i=0;4096>i;i++)o[i]=o[i]/2+((Math.sin(t*d[t/[4,4,4,4,1/4,1/4,16,4][t/16&7]&3]*Math.PI)*8+(t*d[t/8&3]/2&6)+t*d[t/16&3]/4%6)/64+f[i/4|0])*m,64>i&t%16*6>i&&b.fillText([u[i+(o[i]*2&1)]],i%9*32+o[0]*16+180,(i/9|0)*64+o[64]*16-t-31920),t+=1/g.sampleRate}
    


    В начале октября 2020 года программист-энтузиаст HellMood из группы DESiRE выпустил демку для MS-DOS/FreeDos под названием Gespensterwald. Программа размером в 62 байта написана на ассемблере. Автор демо постарался показать в нескольких строчках кода в 3D анимации угрюмый и жуткий лес, около которого он живет. HellMood добавил в демо необычное гудение, которое иногда возникает в этом реальном лесу.

    См. также:

    Реклама
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее

    Комментарии 2

      +4
      злоупотребляя ShadowBlur
      злоупотребляя событием onAudioProcess

      Куда катится этот мир! Раньше злоупотребляли алкоголем и наркотой, теперь же функциями и событиями ;)

      Также в демке используется синтезатор речи для разделения и отображения точек переворота программы.

      Вот это поворот!
      The speech synthesis, allows to speak out the function feeding the visuals, and the «feelings» of the flip dots display.

      Синтезатор речи позволяет произносить вслух функцию управляющую визуальной частью и «ощущения» дисплея типа «Flip-Dot».
      (чтобы это не значило)
        0
        Человечеству наконец-то удалось пообщаться с разумным океаном из Соляриса Лема.

        Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

        Самое читаемое