Transaction Details
- Hash
- f4dccbf5ca6e355feb0622f3b4149ed8a65d61e26ac7c8bdd94405dcd8b4d092
- Size
- 13009 bytes
- Deposit
- ₳0
- TTL
- Slot 90800000
MetadataToken Mint
Inputs (1)
Outputs (1)
Metadata
Key 721
{
"34f2247af4d419dd9cfdccb637f4d12dece399a3333fb6e0086687d3": {
"AuthNFTShaderWars": {
"name": "Auth NFT Shader Wars",
"files": [
{
"src": [
"data:text/html;utf8,<html style='height:100%;'><head><meta chars",
"et='UTF-8' name='viewport' content='initial-scale=1'/><style>bod",
"y{font-family:Impact,sans-serif;height:100%;margin:0;background:",
"black;user-select:none}.ca { position: absolute; top: 50%;",
" left: 50%; transform: translate(-50%,-50%);}</style><body",
"><canvas id='c' class='ca'></canvas><script>var e,t,a=null,n=new",
" AudioContext;GE=e=>document.getElementById(e),M=Object.create(M",
"ath),R=e=>M.random(),GLL=(e,a)=>t.getUniformLocation(e,a),D=e=>n",
"ew Date,LR=(e,t,a,i)=>(i?.frequency??e.gain).linearRampToValueAt",
"Time(t,a),CO=e=>n.createOscillator(),CG=e=>n.createGain(),CT=e=>",
"n.currentTime,C=e=>GE(e).classList,TH=e=>C(e).toggle('he'),SE=e=",
">C(e).remove('he'),HE=e=>C(e).add('he'),I=(e,t)=>t.includes(e),S",
"V=(e,t,a,i)=>(i?.gain??e.frequency).setValueAtTime(t,a),SC=e=>St",
"ring.fromCharCode(e.keyCode+11);var r,o=1;(()=>{e=GE('c');var s=",
"document.createElement('canvas');const l=document.body;var f=e.g",
"etContext('2d');function d(e,t,a){var i=e.createShader(t);if(e.s",
"haderSource(i,a),e.compileShader(i),e.getShaderParameter(i,e.COM",
"PILE_STATUS))return i;e.deleteShader(i)}t=s.getContext('webgl');",
"var h='precision highp @;uniform ~2 iR,pldir,bs[50];uniform ~4 p",
"l,rs[180],bh,pp,dh;uniform @ iT,t,pr,b;~2 x(~2 b,@ a){return mat",
"2(cos(a),sin(a),-sin(a),cos(a))*b;}@ z(~3 a,@ b,@ c){a*=b;return",
" abs(dot(sin(a*(abs(cos(iT*.01))+1.)),cos(a.zxy*1.))/b-c);}@ r(@",
" a){return fract(sin(a*91.3)*47453.5);}~3 y(~2 j,@ u){@ b=1.,d=1",
".,e=1.;for(int a=0;a<180;a++){@ q,c=max(.05,.5-(iT-rs[a].w)),h;~",
"2 f=j-rs[a].xy;if(rs[a].w>0.){@ g=rs[a].x;c=.6-c;for(@ k=0.;k<8.",
";k+=1.){g+=k+tan(g);~2 n=~2(cos(g),sin(g))*k*.0125*c*10.;@ s=max",
"(abs(f.x+n.x),abs(f.y+n.y));e=min(e,s*c*5.),b=min(b,s*c*(rs[a].z",
"==2.?4.:5.)),d=min(d,s*c*(rs[a].z==1.?4.:5.));for(@ l=0.;l<7.;l+",
"=1.){g+=l;~2 o=~2(cos(g),sin(g))*l*.0125*c*10.;@ t=max(abs(f.x+o",
".x),abs(f.y+o.y))*3.;e=min(e,t*c*5.),b=min(b,t*c*(rs[a].z==2.?4.",
":5.)),d=min(d,t*c*(rs[a].z==1.?4.:5.));}}}else{if(rs[a].z==1.){@",
" w=r(@(a));~2 p=x(f,iT+rs[a].x*10.);@ v=max(abs(p.x),abs(p.y)),i",
"=v;i=i<.01?0.:i,i=i<7e-3?1.:i,d=min(d,(i+(sin(iT*(1.+w)*2.5)-1.)",
"*u)*.8),e=min(e,i*.95),b=min(b,i*.95);}if(rs[a].z==2.)h=distance",
"(rs[a].xy,j)+q*u*4.,h<.01?h=1.:h*=.3,b=min(b,h);if(rs[a].z==3.)q",
"=rs[a].w<0.?max(1.-(iT+rs[a].w),0.)*.02:0.,h=length(f)-q,b=min(b",
",h-.02),e=min(e,h-.04),d=min(d,h-.02);if(rs[a].z==4.||rs[a].z==5",
".){@ m=step(rs[a].z==4.?.015:.01,abs(j.x-rs[a].x));m=max(m,step(",
"rs[a].z==4.?.01:.015,abs(j.y-rs[a].y))),b=min(b,m),e=min(e,m),d=",
"min(d,m);}}}return 1.-~3(b*60.,e*60.,d*60.);}~3 E(~2 c,~3 b){~3 ",
"e;@ a=distance(bh.xy,c),d=1.+smoothstep(0.,1.,bh.z*.6);if(a<.075",
"*d)e=~3(0.),b=e+b*(1.-(iT+bh.w)*.2);if(a>.075*d&&a<=.09*d)a=dist",
"ance(bh.xy,c)*.9,b+=(.09-a)*4.*-bh.w*10.*a;if(bh.w>0.){@ f=max(.",
"05,iT-bh.w)*30.;b=a<=f?max(b,~3(f)*(1.-a)):b;}return b;}void F(o",
"ut ~4 k,in ~2 s){~2 a=s/iR.y;~3 c=~3(2.);if(iT-pp.z<1.){@ l=(sin",
"(10.+iT)+1.)/4.+.25;a.x+=sign(r(pp.z)-.5)*.01*sign(a.y-l);@ t=ab",
"s(a.y-l);if(t<.01)c+=~3(400.*(.01+t),0.,0.);@ m=a.y-r(iT);if(abs",
"(m)<.03*r(iT))c+=~3(9.*sign(m),9.*-sign(m),0.);}~2 h=~2(a.x/1.77",
"7778,a.y);@ u=1.-max((abs(h.x-.5)-.49)/2e-3*.18,(abs(h.y-.5)-.49",
")/1e-3*.05);if(u<1.){~3 G=~3(.9,.7,0.);k=~4(G*u,1.);}else{a-=.03",
",a.x*=1.035,a.y*=1.062;@ n=1./distance(bh.xy,a)/1.4,o=1./distanc",
"e(dh.xy,a)/distance(dh.xy,a)/10.*(dh.z==-1.?10.:1.),p=bh.w,q=dh.",
"w;if(bh.x==-1.)p=-iT,n=1.;if(dh.x==-1.)q=0.,o=1.;@ v=smoothstep(",
"0.,1.,min(iT+p,5.)/5.)-bh.z*.05;~2 w=~2(a.x-bh.x,a.y-bh.y)*v,A=~",
"2(a.x-dh.x,a.y-dh.y)*q*.2,i=~2(a)+w*n+A*o;@ d=.0512-(iT-b)*.01;d",
"=d<.05?.05:d;@ H=mod(i.x,d),I=mod(i.y,d);c=H<5e-3||I<5e-3?~3(5.+",
"(-.05+d)*5000.):c;if(iT-pp.y<.05){@ J=floor(mod(a.y*iR.y,4.))-1.",
"5;a.x+=8e-3*J,c*=2.;}@ f=(z(~3(a.x*.2,a.y*.2,sin(t*2e-5)),20.,.0",
"2)+.04)*.4;c=c+~3(f*34.);~3 B=~3(1.),b=B*f*c;~2 e=a-pl.xy;e=x(e,",
"pr);~2 g=~2(e.x,e.y*.65);@ C=atan(g.x,g.y)+3.14,D=6.28/@(3);f=co",
"s(floor(.5+C/D)*D-C)*length(g)*60.,b=max(b,~3(1.-smoothstep(.4,.",
"41,f))),e=(a-pl.xy)*(~2(1.)+abs(pldir.yx*50.))+pldir*4.,b=max(b,",
"1.-length(e)*20.*~3(.5,.7,.8)/length(pldir)*.02),b=max(b,y(a,5e-",
"3));~3 K=max(b,y(a,.2));for(int j=0;j<50;j++)b=bs[j].x>0.?max(b,",
"1.-~3(pow(length(a-bs[j])*200.,5.))):b;b=b+K*.03,b=E(a,b),b=iT-p",
"p.w<0.?.5-b:b,k=~4(b,1.);if(pp.x>0.)k*=pp.x;}}void main(){F(gl_F",
"ragColor,gl_FragCoord.xy);}';h=h.replace(/@/g,'float').replace(/",
"~/g,'vec');var m=d(t,t.VERTEX_SHADER,'attribute vec4 a_p;void ma",
"in() {gl_Position = a_p;}'),x=d(t,t.FRAGMENT_SHADER,h);const b=(",
"(e,t,a)=>{var i=e.createProgram();if(e.attachShader(i,t),e.attac",
"hShader(i,a),e.linkProgram(i),e.getProgramParameter(i,e.LINK_STA",
"TUS))return i;e.deleteProgram(i)})(t,m,x),u=GLL(b,'a_p'),g=GLL(b",
",'iR'),y=GLL(b,'iT'),p=GLL(b,'t'),T=GLL(b,'pl'),C=GLL(b,'pldir')",
",w=GLL(b,'pr'),v=GLL(b,'rs'),L=(GLL(b,'bs'),GLL(b,'bh')),G=GLL(b",
",'pp'),A=GLL(b,'dh'),S=GLL(b,'b'),E=t.createBuffer();let z;funct",
"ion I(){z||(z=requestAnimationFrame(ge))}t.bindBuffer(t.ARRAY_BU",
"FFER,E),t.bufferData(t.ARRAY_BUFFER,new Float32Array([-1,-1,1,-1",
",-1,1,-1,1,1,-1,1,1]),t.STATIC_DRAW),setInterval(I,10),document.",
"onmousedown=e=>{'running'!=n.state&&ce()};let F=0,V=0;var k,q,P,",
"_,O=(D(),[]),j=[],B={},H=[],U=[],K=[],N=[],Y=a,W=-10,J=D(),X=(D(",
"),1),Q=0,Z=1,$=0;function ee(){if(q?.l<=0){((e,t=CO(),i=CG())=>{",
"t.connect(i),i.connect(n.destination),i.gain.value=.6,1==e&&(t.s",
"tart(0),LR(i,1e-5,CT()+.1)),2==e&&(t.start(0),LR(i,1e-5,CT()+.01",
")),3==e&&(t.start(0),LR(i,1e-5,CT()+.05)),4==e&&(SV(t,140,0),LR(",
"{},10,CT()+2,t),t.start(0),LR(i,1e-5,CT()+10),P&&LR(P,1e-5,CT())",
",P=a),5==e&&(t.type='sawtooth',SV(t,200,0),t.start(0),LR(i,1e-5,",
"CT()+.5)),6==e&&((P=i).gain.value=.1,SV(t,100,0),SV(t,100,CT()+2",
"0),t.start(0)),7==e&&(i.gain.value=.5,t.start(0),SV(t,250,0),t.d",
"etune.value=1,LR(i,1e-5,CT()+.5))})(4),q.d=V;for(let e=0;e<180;e",
"++)0==j[4*e]&&(j[4*e]=.012*(.5-R()),j[4*e+1]=.012*(.5-R()))}}fun",
"ction te(e){U[2*e]=a,U[2*e+1]=a,N.push(e)}function ae(e){O[4*e]=",
"a,O[4*e+1]=a,O[4*e+2]=a,O[4*e+3]=a,H.push(e)}GE('sc');var ie=!1;",
"let ne=0,re=0,oe=!1;function ce(){n.resume(),setTimeout((()=>{oe",
"||'suspended'==n.state||(oe=!0,ne=0,re=0,se=[[n.createDelay(),CG",
"(),CG(),CG(),[2,,2,,2,,2,,2,,2,,2,,2,,2,,2,,2,,2,,2,,2,,2,,2,,],",
".8,.02,.4,.137,0,0,0,0,0,'triangle',.55,7,0],[n.createDelay(),CG",
"(),CG(),CG(),[11,,,,,,,,7,,,,,,,,5,,,,,,,,6,,,,,,,,],.8,.04,.3,2",
",1,4.5,.2,.75,.9,'sawtooth',.2,8,8],[n.createDelay(),CG(),CG(),C",
"G(),[0,9,0,9,0,9,3,9,0,9,0,9,0,9,5,9,0,9,0,9,0,9,0,9,0,9,0,9,0,9",
",3,9],.8,0,.5,.068,0,10,.05,.5,0,'sine',.25,7,7],[n.createDelay(",
"),CG(),CG(),CG(),[4,5,4,5,4,5,,,6,7,6,7,6,7,,,3,4,3,4,3,4,,,2,,3",
",,2,,3,,],.8,.04,.32,.225,0,0,0,0,0,'triangle',.25,6,6]],fe())})",
",100)}let se=[4];function le(e){let t=e-8;return fm=2*M.abs(t),0",
"==fm&&(fm=1),t<0&&(fm=1/fm),fm}function fe(){oe&&(re>0&&re%8!=5&",
"&de(0),re>-1&&re%8!=7&&de(1),re>0&&de(2),re>3&&(re%3==0||re%3==1",
")&&de(3),((e=n)=>{if(ne++,32===ne){ne=0,re++,setTimeout((()=>{e.",
"close()}),be),n=new AudioContext;for(let e=0;e<4;e++)se[e][0]=n.",
"createDelay(),se[e][1]=CG(),se[e][2]=CG(),se[e][3]=CG()}})(),win",
"dow.setTimeout((()=>{fe()}),60/280*be))}function de(e,t=CO(),a=C",
"G(),i=[261.63,277.18,293.66,311.13,329.63,349.23,369.99,392,415.",
"3,440,466.16,493.88,523.25,0]){let r=se[e],o=r[4][ne];if(o||0==o",
"){0==e&&(W=V),r[3].connect(n.destination),r[2].connect(r[0]),r[0",
"].connect(r[1]),r[1].connect(r[0]),r[0].connect(r[3]),r[0].delay",
"Time.value=r[11],r[2].gain.value=r[13],r[1].gain.value=r[12],r[3",
"].gain.value=1*r[15]/le(r[16])*.4,SV({},0,0,a),LR(a,r[5],CT()+r[",
"8]*r[6]),SV({},r[5],CT()+r[8]-r[8]*r[7],a),LR(a,0,CT()+r[8]),lfo",
"Gain=CG(),SV({},r[9],0,lfoGain),lfoGain.connect(t.frequency),lfo",
"=CO(),SV(lfo,r[10],0),lfo.start(0),lfo.stop(CT()+r[8]),lfo.conne",
"ct(lfoGain),t.type=r[14],SV(t,i[o]*le(r[16]),0);var c=i[o]*le(r[",
"17]);0==c&&(c=220),LR({},c,CT()+r[8],t),t.start(0),t.stop(CT()+r",
"[8]),t.connect(a),a.connect(r[3]),a.connect(r[0])}}var he=0,me=0",
",xe=1,be=1e3,ue=0;function ge(n){z=void 0,n*=.001;const r=M.min(",
"n-F,.1);var l,d,h;V+=r,F=n,(l=V*be)-(d=be)*parseInt(l/d)<=20&&pe",
"(),xe=(he=r*be)/16.66,t.viewport(0,0,t.canvas.width*o,t.canvas.h",
"eight*o),t.useProgram(b),t.enableVertexAttribArray(u),t.bindBuff",
"er(t.ARRAY_BUFFER,E),t.vertexAttribPointer(u,2,t.FLOAT,!1,0,0),t",
".uniform2f(g,t.canvas.width*o,t.canvas.height*o),t.uniform1f(y,V",
"),t.uniform1f(p,(''+Date.now())[5].slice(-6)),((e=D())=>{ie||J<e",
"-50&&(((e=1,t=X%9)=>{var a;if(1==++Q){var i=document.createEleme",
"nt('canvas');i.id='c2',document.body.appendChild(i),i.classList.",
"add('ca')}else(i=GE('c2')).width=c.width,i.height=c.height,c2x=i",
".getContext('2d'),c2x.fillStyle='rgba(255,255,255,0.8)',c2x.text",
"Align='center',c2x.font=.12*c.width+'px Impact',c2x.fillText('SH",
"ADER',.5*i.width,.45*i.height),c2x.fillText('WARS',.5*i.width,.7",
"*i.height),c2x.font=.025*c.width+'px Impact',c2x.fillText('ARTIS",
"T:',.15*i.width,.35*i.height),c2x.fillText('HOOKMAN',.15*i.width",
",.43*i.height),c2x.fillText('DROP DATE:',.15*i.width,.6*i.height",
"),c2x.fillText('04 DECEMBER 2022',.15*i.width,.68*i.height),c2x.",
"fillText('POLICY ID:',.85*i.width,.38*i.height),c2x.fillText('34",
"f2247af4d419dd9c',.85*i.width,.46*i.height),c2x.fillText('fdccb6",
"37f4d12dece39',.85*i.width,.54*i.height),c2x.fillText('9a3333fb6",
"e0086687d3',.85*i.width,.62*i.height);if(Q>20&&++$%4==0){a=4*H.p",
"op(),O[a]=0-(3==Z?.01:2==Z||4==Z?.02:0),O[a+1]=.1,O[a+2]=Z,O[a+3",
"]=0,j[a]=.005,j[a+1]=0,a=4*H.pop(),O[a]=16/9+(3==Z?.01:2==Z?.02:",
"4==Z?.01:0),O[a+1]=.9,O[a+2]=Z,O[a+3]=0,j[a]=-.005,j[a+1]=0,1==Z",
"?Z=3:2==Z?Z=4:3==Z?Z=2:4==Z&&(Z=1);for(let e=0;e<180;e++)(O[4*e]",
"<-3.2/9||O[4*e]>19.2/9)&&ae(e)}})(),J=e)})(),(()=>{for(let e=0;e",
"<180;e++){let t=4*e,i=0,n=0;if(O[t]!=a&&(0==O[t+3]||O[t+3]<0&&3=",
"=O[t+2])){if(i=j[t],n=j[t+1],q&&0!=j[t]&&q.d<=0){let e=q.x-O[t],",
"a=q.y-O[t+1],r=M.sqrt(e*e+a*a);e/=r,a/=r,j[t]+=5e-5/r*e,j[t+1]+=",
"5e-5/r*a,r<.09&&(q.l-=1,i=0,n=0,j[t]=0,j[t+1]=0,ee())}}else V-O[",
"t+3]>.5&&ae(e);O[t]+=i*xe,O[t+1]+=n*xe,k||(O[t]<0&&(j[t]=-j[t]),",
"O[t+1]<0&&(j[t+1]=-j[t+1]),O[t]>16/9&&(j[t]=-j[t]),O[t+1]>1&&(j[",
"t+1]=-j[t+1]))}for(let t=0;t<50;t++)if(U[2*t]!=a){if(q&&0!=U[2*t",
"]&&q.d<=0){let e=q.x-U[2*t],a=q.y-U[2*t+1],i=M.sqrt(e*e+a*a);e/=",
"i,a/=i,K[2*t]+=5e-5/i*e,K[2*t+1]+=5e-5/i*a}U[2*t]+=K[2*t]*xe,U[2",
"*t+1]+=K[2*t+1]*xe;var e=0;(U[2*t]<0||U[2*t]>16/9||U[2*t+1]<0||U",
"[2*t+1]>1)&&(e=1),1==e&&te(t)}B.x&&(B.x<0&&B.x>-.05&&(B.x=.2),B.",
"x+=.003*xe,B.x>=1&&(B.x=a)),q?.d>0&&V-q?.d>.3&&(q=a,B.x=.01)})()",
",Y&&(window.parent.postMessage('S-'+Y,'*'),Y=a),t.uniform4fv(v,[",
"].concat(...O)),t.uniform4f(T,-1,.5,-2,.1),t.uniform2f(C,0,0),t.",
"uniform1f(w,0),t.uniform4f(L,q?.x??-1,q?.y??-1,P?.gain.value??0,",
"q?.d),t.uniform4f(A,-1,-1,void 0,void 0),t.uniform4f(G,B.x,B.y,B",
".z,B.w),t.uniform1f(S,W),t.drawArrays(t.TRIANGLES,0,6),I(),f.dra",
"wImage(s,0,0,h=e.width,h,0,-e.height*(1/o-1),M.ceil(h/o),M.ceil(",
"h/o)),(()=>{for(i=0;i<_;i++)f.beginPath(),f.arc(e.width*(.96-.03",
"*i),.06*e.height,.01*e.width,0,2*M.PI),f.fillStyle='white',f.fil",
"l()})(),P&&q&&(P.gain.value=.2+.2*M.sin(V*(15-.25*q.l))),he>32&&",
"me++;let m=M.floor(n);m%9==0&&m!=ue&&(ue=m,o<=.9&&0==me&&(o/=.9)",
",me=0),o>.4&&me>4&&(me=0,o*=.9)}var ye=1;function pe(t=.5625*l.c",
"lientWidth){(ye=t<l.clientHeight?t:l.clientHeight)!=r&&(e.style.",
"width=t=ye/.5625,e.style.height=ye,e.width=t,e.height=ye,s.width",
"=t,s.height=ye,r=ye)}pe(),I(),requestAnimationFrame((()=>{z&&(ca",
"ncelAnimationFrame(z),z=void 0)})),((e=0)=>{k=e,ce(),O=Array(720",
").fill(a),j=[...O],U=Array(100).fill(a),N=[...Array(100).keys()]",
".reverse(),q=a,H=[...Array(720).keys()].reverse(),B.x=1,_=0,Q=0,",
"ie=!1})(1)})(),keypressed=''; </script>"
],
"name": "Auth NFT Shader Wars",
"mediaType": "text/html"
}
],
"image": "ipfs://QmRKdWe2NyroPaTM5XjtJCGXQtnhtUJRGKgm2ZNktyEMtr",
"artist": "Hookman",
"medium": "Fully On-Chain Generative Audiovisual Arcade Game",
"project": "Shader Wars",
"twitter": "@hookman1979",
"mediaType": "image/png",
"description": [
"This is an on chain generative audiovisual interactive project.",
"The collection contains 104 pieces that are playable within",
"a browser via the keyboard.",
"Pieces feature different combinations of graphics, soundtracks,",
"difficulties and power ups.",
"Off chain high score boards, gamepads and touchscreen",
"support is also avaliable via the unique external link in the",
"metadata of each NFT."
],
"numberOfPieces": "104",
"projectPolicyId": "a1099cab55cc5b7f97b08186fbd326fe788e0ea89e398b21e595979f"
}
}
}Token Mints / Burns
AuthNFTShaderWars
+134f2247af4d419dd...