Creative Challenge
"A penguin with a jetpack, soaring over an erupting volcano at sunset"
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 300 300">
<!-- Definitions for gradients and patterns -->
<defs>
<!-- Sunset Sky Gradient -->
<linearGradient id="skyGradient" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" stop-color="#1a1a40" />
<stop offset="40%" stop-color="#722680" />
<stop offset="70%" stop-color="#f24b59" />
<stop offset="100%" stop-color="#fcb43a" />
</linearGradient>
<!-- Volcano Gradient -->
<linearGradient id="volcanoGradient" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#3d3d3d" />
<stop offset="60%" stop-color="#695858" />
<stop offset="100%" stop-color="#4d2c2c" />
</linearGradient>
<!-- Lava Gradient -->
<linearGradient id="lavaGradient" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" stop-color="#ffd500" />
<stop offset="50%" stop-color="#ff5e00" />
<stop offset="100%" stop-color="#ff0000" />
</linearGradient>
<!-- Penguin Body Gradient -->
<linearGradient id="penguinBodyGradient" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#1a1a1a" />
<stop offset="100%" stop-color="#444444" />
</linearGradient>
<!-- Penguin Belly Gradient -->
<linearGradient id="penguinBellyGradient" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" stop-color="#ffffff" />
<stop offset="100%" stop-color="#ececec" />
</linearGradient>
<!-- Jetpack Gradient -->
<linearGradient id="jetpackGradient" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#cd4646" />
<stop offset="100%" stop-color="#8b0000" />
</linearGradient>
<!-- Jetpack Metal Gradient -->
<linearGradient id="metalGradient" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#cccccc" />
<stop offset="50%" stop-color="#999999" />
<stop offset="100%" stop-color="#666666" />
</linearGradient>
<!-- Jetpack Flame Gradient -->
<linearGradient id="flameGradient" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" stop-color="#ffff00" />
<stop offset="50%" stop-color="#ff6600" />
<stop offset="100%" stop-color="#ff3300" />
</linearGradient>
<!-- Cloud Filter -->
<filter id="cloudFilter" x="-20%" y="-20%" width="140%" height="140%">
<feGaussianBlur stdDeviation="3" />
</filter>
<!-- Glow Filter -->
<filter id="glowFilter" x="-30%" y="-30%" width="160%" height="160%">
<feGaussianBlur stdDeviation="4" result="blur" />
<feComposite in="SourceGraphic" in2="blur" operator="over" />
</filter>
</defs>
<!-- Background Sky -->
<rect x="0" y="0" width="300" height="300" fill="url(#skyGradient)" />
<!-- Stars -->
<g opacity="0.8">
<circle cx="30" cy="30" r="1" fill="white">
<animate attributeName="opacity" values="0.5;1;0.5" dur="3s" repeatCount="indefinite" />
</circle>
<circle cx="50" cy="20" r="1.5" fill="white">
<animate attributeName="opacity" values="0.5;1;0.5" dur="4s" repeatCount="indefinite" />
</circle>
<circle cx="70" cy="40" r="1" fill="white">
<animate attributeName="opacity" values="0.5;1;0.5" dur="2.5s" repeatCount="indefinite" />
</circle>
<circle cx="90" cy="25" r="1.5" fill="white">
<animate attributeName="opacity" values="0.5;1;0.5" dur="3.5s" repeatCount="indefinite" />
</circle>
<circle cx="110" cy="15" r="1" fill="white">
<animate attributeName="opacity" values="0.5;1;0.5" dur="2.8s" repeatCount="indefinite" />
</circle>
<circle cx="150" cy="30" r="1" fill="white">
<animate attributeName="opacity" values="0.5;1;0.5" dur="3.2s" repeatCount="indefinite" />
</circle>
<circle cx="180" cy="20" r="1.5" fill="white">
<animate attributeName="opacity" values="0.5;1;0.5" dur="4.1s" repeatCount="indefinite" />
</circle>
<circle cx="200" cy="15" r="1" fill="white">
<animate attributeName="opacity" values="0.5;1;0.5" dur="3.3s" repeatCount="indefinite" />
</circle>
<circle cx="220" cy="30" r="1.5" fill="white">
<animate attributeName="opacity" values="0.5;1;0.5" dur="2.7s" repeatCount="indefinite" />
</circle>
<circle cx="280" cy="25" r="1" fill="white">
<animate attributeName="opacity" values="0.5;1;0.5" dur="3.8s" repeatCount="indefinite" />
</circle>
</g>
<!-- Sun/Moon -->
<circle cx="250" cy="40" r="20" fill="#fff176" opacity="0.9" filter="url(#glowFilter)">
<animate attributeName="opacity" values="0.8;1;0.8" dur="5s" repeatCount="indefinite" />
</circle>
<!-- Sun Rays -->
<g opacity="0.7">
<line x1="250" y1="10" x2="250" y2="0" stroke="#fff176" stroke-width="2" />
<line x1="250" y1="70" x2="250" y2="80" stroke="#fff176" stroke-width="2" />
<line x1="220" y1="40" x2="210" y2="40" stroke="#fff176" stroke-width="2" />
<line x1="280" y1="40" x2="290" y2="40" stroke="#fff176" stroke-width="2" />
<line x1="228" y1="18" x2="222" y2="12" stroke="#fff176" stroke-width="2" />
<line x1="272" y1="62" x2="278" y2="68" stroke="#fff176" stroke-width="2" />
<line x1="228" y1="62" x2="222" y2="68" stroke="#fff176" stroke-width="2" />
<line x1="272" y1="18" x2="278" y2="12" stroke="#fff176" stroke-width="2" />
</g>
<!-- Distant Mountains -->
<path d="M0,220 L30,190 L60,210 L90,180 L120,195 L150,170 L180,200 L210,175 L240,190 L270,165 L300,180 L300,300 L0,300 Z" fill="#3d2d3d" opacity="0.7" />
<!-- Clouds in Sky -->
<ellipse cx="50" cy="80" rx="30" ry="15" fill="#ffcdb2" opacity="0.6" filter="url(#cloudFilter)" />
<ellipse cx="250" cy="60" rx="40" ry="20" fill="#ffcdb2" opacity="0.5" filter="url(#cloudFilter)" />
<ellipse cx="150" cy="100" rx="35" ry="18" fill="#ffcdb2" opacity="0.4" filter="url(#cloudFilter)" />
<!-- Volcano -->
<path d="M50,300 L150,120 L250,300 Z" fill="url(#volcanoGradient)" />
<!-- Volcano Shadow Details -->
<path d="M150,120 L170,180 L180,210 L190,300 L160,300 L170,250 L150,200 Z" fill="#3d2722" opacity="0.3" />
<!-- Volcano Crater -->
<ellipse cx="150" cy="140" rx="30" ry="15" fill="#4d2c2c" />
<ellipse cx="150" cy="140" rx="20" ry="10" fill="url(#lavaGradient)">
<animate attributeName="ry" values="10;12;10" dur="2s" repeatCount="indefinite" />
</ellipse>
<!-- Lava Flow -->
<path d="M130,140 L120,180 L110,220 L130,240 L125,280 L140,300 Z" fill="url(#lavaGradient)" opacity="0.8">
<animate attributeName="d" values="M130,140 L120,180 L110,220 L130,240 L125,280 L140,300 Z;
M130,140 L118,175 L108,225 L132,245 L127,285 L142,300 Z;
M130,140 L120,180 L110,220 L130,240 L125,280 L140,300 Z"
dur="3s" repeatCount="indefinite" />
</path>
<path d="M170,140 L180,190 L190,230 L175,250 L185,280 L170,300 Z" fill="url(#lavaGradient)" opacity="0.8">
<animate attributeName="d" values="M170,140 L180,190 L190,230 L175,250 L185,280 L170,300 Z;
M170,140 L182,195 L192,235 L173,255 L183,285 L168,300 Z;
M170,140 L180,190 L190,230 L175,250 L185,280 L170,300 Z"
dur="3.5s" repeatCount="indefinite" />
</path>
<!-- Eruption -->
<path d="M150,140 Q130,110 140,80 Q150,50 160,80 Q170,110 150,140 Z" fill="url(#lavaGradient)">
<animate attributeName="d" values="M150,140 Q130,110 140,80 Q150,50 160,80 Q170,110 150,140 Z;
M150,140 Q128,105 138,75 Q152,45 162,75 Q172,105 150,140 Z;
M150,140 Q130,110 140,80 Q150,50 160,80 Q170,110 150,140 Z"
dur="2s" repeatCount="indefinite" />
</path>
<path d="M150,140 Q140,100 130,70 Q120,40 110,70 Q100,100 110,140 Z" fill="url(#lavaGradient)" opacity="0.6" transform="rotate(10, 150, 140)">
<animate attributeName="d" values="M150,140 Q140,100 130,70 Q120,40 110,70 Q100,100 110,140 Z;
M150,140 Q138,95 128,65 Q122,35 112,65 Q98,95 108,140 Z;
M150,140 Q140,100 130,70 Q120,40 110,70 Q100,100 110,140 Z"
dur="1.8s" repeatCount="indefinite" />
</path>
<path d="M150,140 Q160,100 170,70 Q180,40 190,70 Q200,100 190,140 Z" fill="url(#lavaGradient)" opacity="0.6" transform="rotate(-10, 150, 140)">
<animate attributeName="d" values="M150,140 Q160,100 170,70 Q180,40 190,70 Q200,100 190,140 Z;
M150,140 Q162,95 172,65 Q178,35 192,65 Q202,95 192,140 Z;
M150,140 Q160,100 170,70 Q180,40 190,70 Q200,100 190,140 Z"
dur="1.5s" repeatCount="indefinite" />
</path>
<!-- Lava Particles -->
<circle cx="130" cy="90" r="5" fill="#ffcc00">
<animate attributeName="cy" values="90;70;50;30;10;-10" dur="2s" repeatCount="indefinite" />
<animate attributeName="opacity" values="1;0" dur="2s" repeatCount="indefinite" />
</circle>
<circle cx="145" cy="70" r="6" fill="#ff6600">
<animate attributeName="cy" values="70;50;30;10;-10" dur="1.8s" repeatCount="indefinite" />
<animate attributeName="opacity" values="1;0" dur="1.8s" repeatCount="indefinite" />
</circle>
<circle cx="160" cy="85" r="4" fill="#ffcc00">
<animate attributeName="cy" values="85;65;45;25;5;-15" dur="2.2s" repeatCount="indefinite" />
<animate attributeName="opacity" values="1;0" dur="2.2s" repeatCount="indefinite" />
</circle>
<circle cx="155" cy="95" r="3" fill="#ff3300">
<animate attributeName="cy" values="95;75;55;35;15;-5" dur="1.6s" repeatCount="indefinite" />
<animate attributeName="opacity" values="1;0" dur="1.6s" repeatCount="indefinite" />
</circle>
<circle cx="170" cy="110" r="5" fill="#ff6600">
<animate attributeName="cy" values="110;90;70;50;30;10" dur="2.4s" repeatCount="indefinite" />
<animate attributeName="opacity" values="1;0" dur="2.4s" repeatCount="indefinite" />
</circle>
<circle cx="120" cy="100" r="4" fill="#ff3300">
<animate attributeName="cy" values="100;80;60;40;20;0" dur="2s" repeatCount="indefinite" />
<animate attributeName="opacity" values="1;0" dur="2s" repeatCount="indefinite" />
</circle>
<!-- Smoke -->
<ellipse cx="130" cy="100" rx="15" ry="10" fill="#aaa" opacity="0.6" filter="url(#cloudFilter)">
<animate attributeName="cy" values="100;85;70;55;40;25" dur="4s" repeatCount="indefinite" />
<animate attributeName="opacity" values="0.6;0.3;0" dur="4s" repeatCount="indefinite" />
</ellipse>
<ellipse cx="170" cy="90" rx="20" ry="15" fill="#999" opacity="0.5" filter="url(#cloudFilter)">
<animate attributeName="cy" values="90;75;60;45;30;15" dur="3.5s" repeatCount="indefinite" />
<animate attributeName="opacity" values="0.5;0.25;0" dur="3.5s" repeatCount="indefinite" />
</ellipse>
<ellipse cx="145" cy="60" rx="25" ry="15" fill="#bbb" opacity="0.4" filter="url(#cloudFilter)">
<animate attributeName="cy" values="60;45;30;15;0;-15" dur="5s" repeatCount="indefinite" />
<animate attributeName="opacity" values="0.4;0.2;0" dur="5s" repeatCount="indefinite" />
</ellipse>
<ellipse cx="160" cy="40" rx="15" ry="10" fill="#ccc" opacity="0.3" filter="url(#cloudFilter)">
<animate attributeName="cy" values="40;25;10;-5;-20" dur="4.5s" repeatCount="indefinite" />
<animate attributeName="opacity" values="0.3;0.15;0" dur="4.5s" repeatCount="indefinite" />
</ellipse>
<!-- Penguin Group -->
<g transform="translate(35, 10) rotate(-15, 120, 90)">
<!-- Penguin Body -->
<ellipse cx="120" cy="90" rx="22" ry="35" fill="url(#penguinBodyGradient)" />
<!-- Penguin Belly -->
<ellipse cx="125" cy="95" rx="12" ry="25" fill="url(#penguinBellyGradient)" />
<!-- Penguin Head -->
<circle cx="105" cy="58" r="18" fill="#1a1a1a" />
<ellipse cx="110" cy="60" rx="10" ry="12" fill="white" transform="rotate(-10, 110, 58)" />
<!-- Penguin Beak -->
<path d="M95,58 L80,60 L95,63 Z" fill="#ff9900" />
<!-- Penguin Eyes -->
<circle cx="98" cy="53" r="3" fill="white" />
<circle cx="98" cy="53" r="1" fill="black" />
<!-- Penguin Wings -->
<path d="M120,80 Q140,100 145,130 Q125,125 120,80 Z" fill="#1a1a1a">
<animate attributeName="d" values="M120,80 Q140,100 145,130 Q125,125 120,80 Z;
M120,80 Q142,105 147,135 Q123,127 120,80 Z;
M120,80 Q140,100 145,130 Q125,125 120,80 Z"
dur="1.5s" repeatCount="indefinite" />
</path>
<path d="M120,100 Q100,120 95,140 Q115,130 120,100 Z" fill="#1a1a1a">
<animate attributeName="d" values="M120,100 Q100,120 95,140 Q115,130 120,100 Z;
M120,100 Q98,125 93,145 Q117,132 120,100 Z;
M120,100 Q100,120 95,140 Q115,130 120,100 Z"
dur="1.7s" repeatCount="indefinite" />
</path>
<!-- Penguin Feet -->
<path d="M135,125 L145,135 L155,132 L152,128 L144,130 L137,122 Z" fill="#ff9900" />
<path d="M110,135 L120,145 L130,142 L127,138 L119,140 L112,132 Z" fill="#ff9900" />
<!-- Jetpack -->
<rect x="130" y="70" width="20" height="40" rx="5" ry="5" fill="url(#jetpackGradient)" />
<rect x="140" y="70" width="20" height="40" rx="5" ry="5" fill="url(#jetpackGradient)" />
<rect x="135" y="65" width="20" height="5" rx="2" ry="2" fill="url(#metalGradient)" />
<circle cx="135" cy="85" r="3" fill="#cccccc" />
<circle cx="135" cy="95" r="3" fill="#cccccc" />
<circle cx="155" cy="85" r="3" fill="#cccccc" />
<circle cx="155" cy="95" r="3" fill="#cccccc" />
<!-- Jetpack Top -->
<ellipse cx="148" cy="70" rx="12" ry="5" fill="url(#metalGradient)" />
<!-- Straps for Jetpack -->
<path d="M105,65 Q115,75 125,80" stroke="#666" stroke-width="2" fill="none" />
<path d="M105,75 Q115,85 125,90" stroke="#666" stroke-width="2" fill="none" />
<!-- Jetpack Flames -->
<path id="flame1" d="M140,110 Q137,125 135,145 Q140,135 145,145 Q147,125 140,110 Z" fill="url(#flameGradient)" opacity="0.9">
<animate attributeName="d" values="M140,110 Q137,125 135,145 Q140,135 145,145 Q147,125 140,110 Z;
M140,110 Q138,130 136,150 Q142,140 148,150 Q146,125 140,110 Z;
M140,110 Q136,125 134,145 Q139,135 144,145 Q148,125 140,110 Z;
M140,110 Q137,125 135,145 Q140,135 145,145 Q147,125 140,110 Z"
dur="0.8s" repeatCount="indefinite" />
<animate attributeName="opacity" values="0.9;1;0.9" dur="0.5s" repeatCount="indefinite" />
</path>
<path id="flame2" d="M150,110 Q147,130 145,155 Q150,145 155,155 Q157,130 150,110 Z" fill="url(#flameGradient)" opacity="0.9">
<animate attributeName="d" values="M150,110 Q147,130 145,155 Q150,145 155,155 Q157,130 150,110 Z;
M150,110 Q148,135 146,160 Q153,150 158,160 Q156,130 150,110 Z;
M150,110 Q146,130 144,155 Q149,145 154,155 Q158,130 150,110 Z;
M150,110 Q147,130 145,155 Q150,145 155,155 Q157,130 150,110 Z"
dur="0.7s" repeatCount="indefinite" />
<animate attributeName="opacity" values="0.9;1;0.9" dur="0.6s" repeatCount="indefinite" />
</path>
<!-- Flame Particles -->
<circle cx="140" cy="130" r="2" fill="#ffff00" opacity="0.8">
<animate attributeName="cy" values="130;140;150;160" dur="0.8s" repeatCount="indefinite" />
<animate attributeName="opacity" values="0.8;0.4;0" dur="0.8s" repeatCount="indefinite" />
</circle>
<circle cx="145" cy="140" r="3" fill="#ffcc00" opacity="0.7">
<animate attributeName="cy" values="140;150;160;170" dur="0.7s" repeatCount="indefinite" />
<animate attributeName="opacity" values="0.7;0.35;0" dur="0.7s" repeatCount="indefinite" />
</circle>
<circle cx="150" cy="135" r="2" fill="#ffff00" opacity="0.9">
<animate attributeName="cy" values="135;145;155;165" dur="0.9s" repeatCount="indefinite" />
<animate attributeName="opacity" values="0.9;0.45;0" dur="0.9s" repeatCount="indefinite" />
</circle>
<circle cx="155" cy="145" r="3" fill="#ffcc00" opacity="0.7">
<animate attributeName="cy" values="145;155;165;175" dur="0.75s" repeatCount="indefinite" />
<animate attributeName="opacity" values="0.7;0.35;0" dur="0.75s" repeatCount="indefinite" />
</circle>
<circle cx="137" cy="150" r="2" fill="#ffcc00" opacity="0.6">
<animate attributeName="cy" values="150;160;170;180" dur="0.85s" repeatCount="indefinite" />
<animate attributeName="opacity" values="0.6;0.3;0" dur="0.85s" repeatCount="indefinite" />
</circle>
<circle cx="152" cy="155" r="2" fill="#ffcc00" opacity="0.8">
<animate attributeName="cy" values="155;165;175;185" dur="0.65s" repeatCount="indefinite" />
<animate attributeName="opacity" values="0.8;0.4;0" dur="0.65s" repeatCount="indefinite" />
</circle>
</g>
<!-- Jet Trail -->
<path d="M80,60 C90,70 100,80 110,90 C120,100 130,110 140,120" stroke="white" stroke-width="2" stroke-opacity="0.5" fill="none" stroke-dasharray="2,2" />
<path d="M75,70 C85,80 95,90 105,100 C115,110 125,120 135,130" stroke="white" stroke-width="1.5" stroke-opacity="0.3" fill="none" stroke-dasharray="1,3" />
<!-- Reflection highlight effect on the volcano -->
<path d="M90,180 L120,160 L140,200 L110,220 Z" fill="#ff6600" opacity="0.2">
<animate attributeName="opacity" values="0.2;0.3;0.2" dur="3s" repeatCount="indefinite" />
</path>
<path d="M160,160 L190,180 L200,210 L170,190 Z" fill="#ff6600" opacity="0.2">
<animate attributeName="opacity" values="0.2;0.3;0.2" dur="3.5s" repeatCount="indefinite" />
</path>
</svg>
<svg viewBox="0 0 300 300" xmlns="http://www.w3.org/2000/svg">
<defs>
<linearGradient id="skyGradient" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" style="stop-color:rgb(255,94,58);stop-opacity:1" />
<stop offset="100%" style="stop-color:rgb(0,0,0);stop-opacity:1" />
</linearGradient>
<linearGradient id="fireGradient" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" style="stop-color:rgb(255,69,0);stop-opacity:1" />
<stop offset="100%" style="stop-color:rgb(255,140,0);stop-opacity:1" />
</linearGradient>
<radialGradient id="jetGradient" cx="50%" cy="50%" r="50%" fx="50%" fy="50%">
<stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1" />
<stop offset="100%" style="stop-color:rgb(204,204,204);stop-opacity:1" />
</radialGradient>
</defs>
<rect width="300" height="300" fill="url(#skyGradient)" />
<path d="M100 280 Q 150 220, 200 280 Z" fill="url(#fireGradient)" />
<ellipse cx="150" cy="270" rx="80" ry="20" fill="rgb(139,69,19)" />
<g transform="translate(100, 200)">
<path d="M50 0 Q 60 -10, 70 0 Q 80 10, 70 15 L50 25 Z" fill="#FF0" stroke="none" opacity="0.6"/>
<path d="M50 25 L70 15 Q 80 25, 70 35 L50 45 Z" fill="#FF7F" stroke="none" opacity="0.6"/>
<path d="M50 45 L70 35 Q 80 45, 70 55 L50 65 Z" fill="#FF0" stroke="none" opacity="0.6"/>
</g>
<g transform="translate(165, 140)">
<ellipse cx="0" cy="0" rx="20" ry="35" fill="black" />
<ellipse cx="0" cy="0" rx="15" ry="25" fill="white" />
<ellipse cx="-5" cy="-10" rx="3" ry="5" fill="black" />
<ellipse cx="5" cy="-10" rx="3" ry="5" fill="black" />
<ellipse cx="0" cy="5" rx="3" ry="2" fill="orange" />
<path d="M-12,20 L12,20 L0,40 Z" fill="black" />
<g transform="translate(-15,5)">
<rect x="-5" y="0" width="10" height="10" fill="url(#jetGradient)" rx="3" ry="3"/>
<path d="M-5,10 Q0,25 5,10 Z" fill="url(#fireGradient)" opacity="0.8"/>
</g>
<g transform="translate(15,5)">
<rect x="-5" y="0" width="10" height="10" fill="url(#jetGradient)" rx="3" ry="3"/>
<path d="M-5,10 Q0,25 5,10 Z" fill="url(#fireGradient)" opacity="0.8"/>
</g>
</g>
</svg>
Judge's Analysis
Player 1's image effectively captures the prompt with a penguin visibly wearing a jetpack, soaring above an erupting volcano, set against a colorful sunset.
The composition is dynamic and visually appealing, with attention to detail such as the volcano's lava and the expressive sky.
In contrast, Player 2's image is more minimalistic and lacks the vivid detail and context provided in Player 1's submission.
These metrics analyze technical aspects of both SVG drawings. Look for differences that might explain the judge's decision. Use the "View Code" button above to see the SVG code for each drawing.
Shapes Metrics
The total number of shape elements (rect, circle, ellipse, line, polygon, polyline, path) in the SVG.
The number of rectangle elements (rect) in the SVG.
The number of circle elements (circle) in the SVG.
The number of ellipse elements (ellipse) in the SVG.
The number of line elements (line) in the SVG.
The number of polygon elements (polygon) in the SVG.
The number of path elements (path) in the SVG.
The number of group elements (g) in the SVG.
Visual Effects Metrics
The number of gradient definitions (linearGradient, radialGradient) in the SVG.
The number of pattern definitions (pattern) in the SVG.
The number of filter definitions (filter) in the SVG.
The number of mask definitions (mask) in the SVG.
The number of clipping path definitions (clipPath) in the SVG.
The number of elements with opacity attributes in the SVG.
The number of elements with stroke attributes in the SVG.
Colors Metrics
The number of unique colors used in the SVG.
Interactivity Metrics
The number of animation elements (animate, animateMotion, animateTransform, set) in the SVG.
The number of elements with transform attributes in the SVG.
Complexity Metrics
The total number of path commands in all path elements (M, L, C, Q, etc.) in the SVG.
The maximum nesting level of group elements (g) in the SVG.
The number of elements defined within the defs element in the SVG.
The number of use elements (use) in the SVG.
Text Metrics
The number of text elements (text) in the SVG.
AI Judging Process
Creativity
Originality, innovative use of shapes and unique approach to the prompt.
Prompt Adherence
How accurately the SVG captures the essence of the prompt.
Visual Appeal
Aesthetic quality including composition, color usage and overall visual impact.
How does judging work?
SVG drawings are converted to static PNG images for evaluation. The AI judge receives the original prompt and both images, then determines which drawing better fulfills the evaluation criteria without seeing animations, interactivity, or SVG code.
Similar Challenges
"Surreal clock with melting wings, suspended in a candy sky"
"Dancing skyscrapers under a swirling, cosmic sky"
"Flying cactus wearing headphones"
"Mushroom with skyscrapers growing as windows"
"A snail with a transparent shell showing a galaxy inside"
"Robot octopus juggling planets underwater"