[JavaScript, Компьютерная анимация, Звук] Демка MONOSPACE, победитель Assembly ONLINE 2020, умещается в 1021 байт
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Первое место в соревновании разработчиков 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 добавил в демо необычное гудение, которое иногда возникает в этом реальном лесу.
===========
Источник:
habr.com
===========
Похожие новости:
- [JavaScript, Программирование, Разработка веб-сайтов] Использование «глобального» await в JavaScript (перевод)
- [CSS, HTML, JavaScript] Элементарный автоматический слайдер на основе библиотеки RevolveR :: 10 строчек кода
- [Разработка веб-сайтов, JavaScript, API, ReactJS] Соединяем Redux и GraphQL на простом примере
- [Гаджеты, Компьютерное железо, Старое железо, Звук] «Эй, диск-жокей, поставь мой floppy-диск»
- [JavaScript, NoSQL, Node.JS] Инструменты Node.js разработчика. Какие ODM нам нужны
- [CSS, JavaScript, Интерфейсы, HTML] Динамическое меню c поддержкой touch move и mouse move на RevolveR
- [Разработка веб-сайтов, JavaScript, ReactJS] Как эффективно применять React Context (перевод)
- [GTD, Облачные сервисы, Звук] «Непрошеные рекомендации»: зачем учиться искать музыку без помощи стриминговых сервисов
- [Звук] Обзоры аудиотехники: наушники для дистанционки, беспроводные, закрытые модели и Hi-Fi тренды
- [Звук, Копирайт, Социальные сети и сообщества] ЕС решил выяснить, достаточно ли платят музыкантам за стриминг
Теги для поиска: #_javascript, #_kompjuternaja_animatsija (Компьютерная анимация), #_zvuk (Звук), #_javascript, #_demka (демка), #_monospace, #_1021_bajt (1021 байт), #_javascript, #_kompjuternaja_animatsija (
Компьютерная анимация
), #_zvuk (
Звук
)
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 19:56
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Первое место в соревновании разработчиков 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 добавил в демо необычное гудение, которое иногда возникает в этом реальном лесу. =========== Источник: habr.com =========== Похожие новости:
Компьютерная анимация ), #_zvuk ( Звук ) |
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 19:56
Часовой пояс: UTC + 5