Creative Challenge
"A cat made of clouds napping on a crescent moon"
<svg viewBox="0 0 300 300" xmlns="http://www.w3.org/2000/svg">
<defs>
<radialGradient id="moonGradient" cx="50%" cy="50%" r="50%">
<stop offset="0%" stop-color="#f8f0e3" />
<stop offset="100%" stop-color="#e0cfc2" />
</radialGradient>
<filter id="cloudFilter">
<feGaussianBlur in="SourceGraphic" stdDeviation="3" result="blur" />
<feColorMatrix in="blur" type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 18 -7" result="cloud" />
</filter>
</defs>
<path d="M150 50 A 120 120 0 0 1 30 20 A 90 90 0 0 0 150 170 A 120 120 0 0 1 150 50 Z" fill="url(#moonGradient)" />
<g filter="url(#cloudFilter)">
<path d="M100 180 C 100 180 80 160 90 140 C 100 120 130 120 140 140 C 150 160 130 180 110 180 Z" fill="#e6f2ff" opacity="0.8" />
<path d="M110 180 C 110 180 140 190 170 170 C 200 150 180 120 160 140 C 140 160 160 170 150 180 Z" fill="#e6f2ff" opacity="0.8" />
<ellipse cx="120" cy="160" rx="10" ry="8" fill="white" />
<ellipse cx="140" cy="165" rx="12" ry="9" fill="white" />
<ellipse cx="105" cy="150" rx="7" ry="5" fill="white" />
<ellipse cx="115" cy="140" rx="25" ry="15" fill="#e6f2ff" opacity="0.9" transform="rotate(-10 115,140)"/>
<path d="M 130 200 C 130 200 160 210 150 230 C 140 250 110 240 120 200 Z" fill="#e6f2ff" opacity="0.7"/>
</g>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 300 300">
<defs>
<!-- Background gradient -->
<linearGradient id="skyGradient" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" stop-color="#050530" />
<stop offset="40%" stop-color="#0a0a4a" />
<stop offset="70%" stop-color="#1a0a4a" />
<stop offset="100%" stop-color="#2a0a3a" />
</linearGradient>
<!-- Moon gradient -->
<linearGradient id="moonGradient" x1="30%" y1="20%" x2="70%" y2="80%">
<stop offset="0%" stop-color="#ffffd0" />
<stop offset="50%" stop-color="#fff6a0" />
<stop offset="100%" stop-color="#ffd700" />
</linearGradient>
<!-- Cloud gradient -->
<linearGradient id="cloudGradient" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" stop-color="#ffffff" />
<stop offset="100%" stop-color="#e6f0ff" />
</linearGradient>
<!-- Pink-tinted cloud gradient for ears -->
<linearGradient id="pinkCloudGradient" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" stop-color="#ffffff" />
<stop offset="100%" stop-color="#fff0f5" />
</linearGradient>
<!-- Blue-tinted cloud gradient for highlights -->
<linearGradient id="blueCloudGradient" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" stop-color="#ffffff" />
<stop offset="100%" stop-color="#f0f8ff" />
</linearGradient>
<!-- Glow filter -->
<filter id="glow" x="-20%" y="-20%" width="140%" height="140%">
<feGaussianBlur stdDeviation="3" result="blur" />
<feComposite in="SourceGraphic" in2="blur" operator="over" />
</filter>
<!-- Strong Glow filter for moon -->
<filter id="moonGlow" x="-30%" y="-30%" width="160%" height="160%">
<feGaussianBlur stdDeviation="5" result="blur" />
<feComposite in="SourceGraphic" in2="blur" operator="over" />
</filter>
<!-- Soft Glow filter for cat -->
<filter id="catGlow" x="-20%" y="-20%" width="140%" height="140%">
<feGaussianBlur stdDeviation="2" result="blur" />
<feComposite in="SourceGraphic" in2="blur" operator="over" />
</filter>
<!-- Star filter -->
<filter id="starGlow" x="-100%" y="-100%" width="300%" height="300%">
<feGaussianBlur stdDeviation="1" result="blur" />
<feComposite in="SourceGraphic" in2="blur" operator="over" />
</filter>
<!-- Cloud texture filter -->
<filter id="cloudTexture" x="0" y="0" width="100%" height="100%">
<feTurbulence type="fractalNoise" baseFrequency="0.01" numOctaves="3" seed="5" result="noise" />
<feDisplacementMap in="SourceGraphic" in2="noise" scale="3" xChannelSelector="R" yChannelSelector="G" />
</filter>
</defs>
<!-- Background -->
<rect x="0" y="0" width="300" height="300" fill="url(#skyGradient)" />
<!-- Distant galaxy/nebula -->
<ellipse cx="50" cy="50" rx="100" ry="60" fill="#8040a0" opacity="0.1" filter="url(#glow)" />
<ellipse cx="250" cy="220" rx="120" ry="70" fill="#4060a0" opacity="0.1" filter="url(#glow)" />
<!-- Stars -->
<g id="backgroundStars">
<!-- Small stars with twinkling -->
<g fill="white">
<circle cx="30" cy="40" r="0.8" opacity="0.8">
<animate attributeName="opacity" values="0.4;0.9;0.4" dur="4s" repeatCount="indefinite" />
</circle>
<circle cx="60" cy="20" r="1.2" opacity="0.7">
<animate attributeName="opacity" values="0.7;0.3;0.7" dur="5s" repeatCount="indefinite" />
</circle>
<circle cx="90" cy="50" r="0.8" opacity="0.6">
<animate attributeName="opacity" values="0.6;1;0.6" dur="7s" repeatCount="indefinite" />
</circle>
<circle cx="120" cy="30" r="1" opacity="0.9">
<animate attributeName="opacity" values="0.9;0.5;0.9" dur="3s" repeatCount="indefinite" />
</circle>
<circle cx="150" cy="25" r="0.7" opacity="0.5">
<animate attributeName="opacity" values="0.5;0.9;0.5" dur="6s" repeatCount="indefinite" />
</circle>
<circle cx="180" cy="45" r="0.7" opacity="0.8">
<animate attributeName="opacity" values="0.8;0.4;0.8" dur="4.5s" repeatCount="indefinite" />
</circle>
<circle cx="210" cy="15" r="1.1" opacity="0.7">
<animate attributeName="opacity" values="0.7;1;0.7" dur="3.5s" repeatCount="indefinite" />
</circle>
<circle cx="240" cy="35" r="0.9" opacity="0.6">
<animate attributeName="opacity" values="0.6;0.2;0.6" dur="5.5s" repeatCount="indefinite" />
</circle>
<circle cx="270" cy="50" r="0.8" opacity="0.8">
<animate attributeName="opacity" values="0.8;0.5;0.8" dur="4.2s" repeatCount="indefinite" />
</circle>
<circle cx="25" cy="80" r="0.9" opacity="0.7">
<animate attributeName="opacity" values="0.7;0.3;0.7" dur="3.8s" repeatCount="indefinite" />
</circle>
<circle cx="70" cy="100" r="1" opacity="0.6">
<animate attributeName="opacity" values="0.6;1;0.6" dur="4.7s" repeatCount="indefinite" />
</circle>
<circle cx="110" cy="70" r="0.8" opacity="0.8">
<animate attributeName="opacity" values="0.8;0.4;0.8" dur="5.3s" repeatCount="indefinite" />
</circle>
<circle cx="160" cy="90" r="0.7" opacity="0.5">
<animate attributeName="opacity" values="0.5;0.9;0.5" dur="3.9s" repeatCount="indefinite" />
</circle>
<circle cx="190" cy="65" r="1.2" opacity="0.7">
<animate attributeName="opacity" values="0.7;0.2;0.7" dur="4.4s" repeatCount="indefinite" />
</circle>
<circle cx="230" cy="85" r="0.9" opacity="0.6">
<animate attributeName="opacity" values="0.6;1;0.6" dur="5.6s" repeatCount="indefinite" />
</circle>
<circle cx="260" cy="110" r="0.7" opacity="0.8">
<animate attributeName="opacity" values="0.8;0.5;0.8" dur="3.7s" repeatCount="indefinite" />
</circle>
<circle cx="40" cy="120" r="1.1" opacity="0.7">
<animate attributeName="opacity" values="0.7;0.4;0.7" dur="4.9s" repeatCount="indefinite" />
</circle>
<circle cx="80" cy="140" r="0.8" opacity="0.6">
<animate attributeName="opacity" values="0.6;1;0.6" dur="3.3s" repeatCount="indefinite" />
</circle>
<circle cx="130" cy="130" r="0.9" opacity="0.8">
<animate attributeName="opacity" values="0.8;0.3;0.8" dur="5.1s" repeatCount="indefinite" />
</circle>
<circle cx="170" cy="150" r="0.7" opacity="0.7">
<animate attributeName="opacity" values="0.7;0.2;0.7" dur="4.6s" repeatCount="indefinite" />
</circle>
<circle cx="215" cy="125" r="1" opacity="0.5">
<animate attributeName="opacity" values="0.5;0.9;0.5" dur="3.2s" repeatCount="indefinite" />
</circle>
<circle cx="250" cy="145" r="0.8" opacity="0.8">
<animate attributeName="opacity" values="0.8;0.4;0.8" dur="5.7s" repeatCount="indefinite" />
</circle>
<circle cx="280" cy="130" r="1.2" opacity="0.6">
<animate attributeName="opacity" values="0.6;1;0.6" dur="4.1s" repeatCount="indefinite" />
</circle>
<circle cx="30" cy="180" r="0.9" opacity="0.8">
<animate attributeName="opacity" values="0.8;0.3;0.8" dur="5.4s" repeatCount="indefinite" />
</circle>
<circle cx="75" cy="190" r="0.7" opacity="0.6">
<animate attributeName="opacity" values="0.6;1;0.6" dur="3.6s" repeatCount="indefinite" />
</circle>
<circle cx="120" cy="170" r="1.1" opacity="0.7">
<animate attributeName="opacity" values="0.7;0.2;0.7" dur="4.8s" repeatCount="indefinite" />
</circle>
<circle cx="155" cy="195" r="0.8" opacity="0.5">
<animate attributeName="opacity" values="0.5;0.9;0.5" dur="5.9s" repeatCount="indefinite" />
</circle>
<circle cx="200" cy="175" r="0.9" opacity="0.8">
<animate attributeName="opacity" values="0.8;0.4;0.8" dur="3.4s" repeatCount="indefinite" />
</circle>
<circle cx="235" cy="195" r="1" opacity="0.6">
<animate attributeName="opacity" values="0.6;1;0.6" dur="4.3s" repeatCount="indefinite" />
</circle>
<circle cx="270" cy="180" r="0.7" opacity="0.7">
<animate attributeName="opacity" values="0.7;0.3;0.7" dur="5.2s" repeatCount="indefinite" />
</circle>
<circle cx="55" cy="220" r="1.2" opacity="0.6">
<animate attributeName="opacity" values="0.6;1;0.6" dur="3.1s" repeatCount="indefinite" />
</circle>
<circle cx="95" cy="240" r="0.8" opacity="0.8">
<animate attributeName="opacity" values="0.8;0.5;0.8" dur="4.5s" repeatCount="indefinite" />
</circle>
<circle cx="140" cy="225" r="0.9" opacity="0.7">
<animate attributeName="opacity" values="0.7;0.3;0.7" dur="5.8s" repeatCount="indefinite" />
</circle>
<circle cx="180" cy="235" r="0.7" opacity="0.5">
<animate attributeName="opacity" values="0.5;0.9;0.5" dur="3.5s" repeatCount="indefinite" />
</circle>
<circle cx="220" cy="250" r="1" opacity="0.8">
<animate attributeName="opacity" values="0.8;0.4;0.8" dur="4.2s" repeatCount="indefinite" />
</circle>
<circle cx="260" cy="220" r="0.8" opacity="0.6">
<animate attributeName="opacity" values="0.6;1;0.6" dur="5.5s" repeatCount="indefinite" />
</circle>
</g>
<!-- Special stars (bigger with more glow) -->
<g filter="url(#starGlow)">
<circle cx="50" cy="50" r="1.5" fill="white" opacity="0.9">
<animate attributeName="opacity" values="0.9;0.5;0.9" dur="3.5s" repeatCount="indefinite" />
</circle>
<circle cx="200" cy="40" r="1.8" fill="white" opacity="0.8">
<animate attributeName="opacity" values="0.8;0.4;0.8" dur="4.3s" repeatCount="indefinite" />
</circle>
<circle cx="250" cy="120" r="1.6" fill="white" opacity="0.9">
<animate attributeName="opacity" values="0.9;0.6;0.9" dur="3.8s" repeatCount="indefinite" />
</circle>
<circle cx="80" cy="180" r="1.7" fill="white" opacity="0.8">
<animate attributeName="opacity" values="0.8;0.3;0.8" dur="4.7s" repeatCount="indefinite" />
</circle>
<circle cx="280" cy="190" r="1.5" fill="white" opacity="0.9">
<animate attributeName="opacity" values="0.9;0.5;0.9" dur="3.2s" repeatCount="indefinite" />
</circle>
</g>
<!-- Shooting star -->
<g>
<line x1="230" y1="40" x2="210" y2="60" stroke="white" stroke-width="1" opacity="0">
<animate attributeName="opacity" values="0;0.8;0" dur="5s" begin="1s" repeatCount="indefinite" />
</line>
<circle cx="210" cy="60" r="1" fill="white" opacity="0">
<animate attributeName="opacity" values="0;1;0" dur="5s" begin="1s" repeatCount="indefinite" />
<animate attributeName="r" values="0;2;0" dur="5s" begin="1s" repeatCount="indefinite" />
</circle>
</g>
</g>
<!-- Crescent Moon -->
<g id="moon" transform="translate(160, 170)">
<!-- Main crescent shape -->
<path d="M-65,-20 a65,65 0 0,1 130,0 a65,65 0 0,1 -130,0 a42,42 0 0,0 100,0 a42,42 0 0,0 -100,0"
fill="url(#moonGradient)" filter="url(#moonGlow)" />
<!-- Moon craters -->
<circle cx="-35" cy="-10" r="5" fill="#ffffc0" opacity="0.3" />
<circle cx="-15" cy="-25" r="7" fill="#ffffc0" opacity="0.2" />
<circle cx="20" cy="-5" r="4" fill="#ffffc0" opacity="0.3" />
<circle cx="35" cy="-25" r="6" fill="#ffffc0" opacity="0.2" />
<!-- Moon glow halo -->
<ellipse cx="0" cy="-10" rx="75" ry="72" fill="#ffffd0" opacity="0.1" filter="url(#glow)" />
</g>
<!-- Cloud Cat -->
<g id="cloudCat" transform="translate(115, 140)">
<!-- Base cloud shape for cat body -->
<g filter="url(#cloudTexture)">
<!-- Cat body main puffs -->
<ellipse cx="0" cy="0" rx="50" ry="35" fill="url(#cloudGradient)" filter="url(#catGlow)" />
<circle cx="-25" cy="-5" r="35" fill="url(#cloudGradient)" filter="url(#catGlow)" />
<circle cx="25" cy="-5" r="40" fill="url(#cloudGradient)" filter="url(#catGlow)" />
<circle cx="15" cy="20" r="30" fill="url(#cloudGradient)" filter="url(#catGlow)" />
<circle cx="-15" cy="20" r="32" fill="url(#cloudGradient)" filter="url(#catGlow)" />
<!-- Additional body detail puffs -->
<circle cx="-35" cy="10" r="15" fill="url(#blueCloudGradient)" filter="url(#catGlow)" opacity="0.8" />
<circle cx="35" cy="10" r="18" fill="url(#blueCloudGradient)" filter="url(#catGlow)" opacity="0.8" />
<circle cx="0" cy="-20" r="20" fill="url(#blueCloudGradient)" filter="url(#catGlow)" opacity="0.7" />
<circle cx="0" cy="25" r="15" fill="url(#blueCloudGradient)" filter="url(#catGlow)" opacity="0.9" />
<!-- Cat head -->
<circle cx="65" cy="-15" r="32" fill="url(#cloudGradient)" filter="url(#catGlow)" />
<circle cx="80" cy="-25" r="22" fill="url(#blueCloudGradient)" filter="url(#catGlow)" opacity="0.8" />
<circle cx="50" cy="-25" r="24" fill="url(#blueCloudGradient)" filter="url(#catGlow)" opacity="0.8" />
<!-- Cat ears -->
<path d="M75,-40 Q90,-65 100,-40 Q90,-34 75,-34 Z" fill="url(#pinkCloudGradient)" filter="url(#catGlow)" />
<path d="M55,-40 Q40,-65 30,-40 Q40,-34 55,-34 Z" fill="url(#pinkCloudGradient)" filter="url(#catGlow)" />
<!-- Inner ear details -->
<path d="M75,-40 Q87,-60 96,-40 Q88,-36 75,-36 Z" fill="#ffcce6" opacity="0.5" />
<path d="M55,-40 Q43,-60 34,-40 Q42,-36 55,-36 Z" fill="#ffcce6" opacity="0.5" />
<!-- Cat tail -->
<path d="M-50,0 Q-70,-15 -85,-5 Q-90,10 -75,20 Q-60,25 -50,0 Z" fill="url(#cloudGradient)" filter="url(#catGlow)" />
<ellipse cx="-70" cy="0" rx="18" ry="12" fill="url(#blueCloudGradient)" filter="url(#catGlow)" opacity="0.7" />
<ellipse cx="-75" cy="10" rx="12" ry="8" fill="url(#blueCloudGradient)" filter="url(#catGlow)" opacity="0.8" />
<!-- Cat paws -->
<circle cx="30" cy="28" r="18" fill="url(#cloudGradient)" filter="url(#catGlow)" />
<circle cx="-30" cy="28" r="18" fill="url(#cloudGradient)" filter="url(#catGlow)" />
<!-- Paw details -->
<circle cx="35" cy="35" r="6" fill="url(#blueCloudGradient)" opacity="0.9" />
<circle cx="25" cy="35" r="6" fill="url(#blueCloudGradient)" opacity="0.9" />
<circle cx="-25" cy="35" r="6" fill="url(#blueCloudGradient)" opacity="0.9" />
<circle cx="-35" cy="35" r="6" fill="url(#blueCloudGradient)" opacity="0.9" />
</g>
<!-- Cat face -->
<g id="catFace">
<!-- Sleeping eyes -->
<path d="M75,-15 Q85,-22 95,-15" stroke="#333355" stroke-width="2" fill="none" />
<path d="M55,-15 Q65,-22 75,-15" stroke="#333355" stroke-width="2" fill="none" />
<!-- Nose and mouth -->
<ellipse cx="65" cy="-10" rx="2.5" ry="2" fill="#ffccdd" />
<path d="M65,-8 Q68,-4 65,-2 Q62,-4 65,-8" stroke="#333355" stroke-width="1.2" fill="none" />
<!-- Whiskers -->
<path d="M75,-8 Q90,-7 105,-5" stroke="#333355" stroke-width="0.8" fill="none" />
<path d="M75,-6 Q90,-2 105,3" stroke="#333355" stroke-width="0.8" fill="none" />
<path d="M55,-8 Q40,-7 25,-5" stroke="#333355" stroke-width="0.8" fill="none" />
<path d="M55,-6 Q40,-2 25,3" stroke="#333355" stroke-width="0.8" fill="none" />
</g>
</g>
<!-- Sleeping Z's -->
<g id="sleepingZs">
<g transform="translate(180, 100)" filter="url(#glow)">
<text x="0" y="0" font-family="Arial" font-size="18" font-weight="bold" fill="white" opacity="0.8">Z</text>
<text x="-12" y="-18" font-family="Arial" font-size="14" font-weight="bold" fill="white" opacity="0.6">Z</text>
<text x="-22" y="-32" font-family="Arial" font-size="10" font-weight="bold" fill="white" opacity="0.4">Z</text>
<text x="-30" y="-42" font-family="Arial" font-size="8" font-weight="bold" fill="white" opacity="0.2">z</text>
<!-- Animate the Z's to float upward and fade out -->
<animateTransform attributeName="transform" type="translate" from="0,0" to="10,-30" dur="10s" repeatCount="indefinite" />
<animate attributeName="opacity" values="1;0" dur="10s" repeatCount="indefinite" />
</g>
</g>
<!-- Additional cloud wisps -->
<g id="additionalClouds" opacity="0.5" filter="url(#cloudTexture)">
<ellipse cx="240" cy="180" rx="25" ry="15" fill="url(#cloudGradient)" opacity="0.3" />
<ellipse cx="270" cy="160" rx="20" ry="10" fill="url(#cloudGradient)" opacity="0.3" />
<ellipse cx="40" cy="200" rx="30" ry="12" fill="url(#cloudGradient)" opacity="0.3" />
<ellipse cx="70" cy="220" rx="25" ry="10" fill="url(#cloudGradient)" opacity="0.3" />
</g>
<!-- Light halos around the scene -->
<ellipse cx="160" cy="150" rx="200" ry="150" fill="url(#skyGradient)" opacity="0.05" />
<ellipse cx="150" cy="170" rx="130" ry="100" fill="#5050a0" opacity="0.03" />
</svg>
Judge's Analysis
Player 2's submission demonstrates a clear and imaginative interpretation of the prompt with a detailed depiction of a cloud cat successfully napping on a crescent moon, set against a starry sky.
The technical quality is high, with smooth gradients and well-defined features that enhance visual appeal.
In contrast, Player 1's image lacks clarity and detail, making it less adherent to the prompt and less visually engaging.
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
"Two giraffes tangled in a spaghetti fight under a disco ball."
"A snail racing a cheetah on a winding desert road."
"Two penguins jousting on icebergs with candy canes under a twilight sky."
"A snail with a city skyline on its shell at sunset"