Creative Challenge
"A floating teacup pouring stars into a crescent moon-shaped pool."
<svg viewBox="0 0 300 300" xmlns="http://www.w3.org/2000/svg">
<!-- Define gradients -->
<defs>
<linearGradient id="moonGradient" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#ffe84a"/>
<stop offset="100%" stop-color="#ffdd59"/>
</linearGradient>
<radialGradient id="starGradient" cx="50%" cy="50%" r="50%">
<stop offset="0%" stop-color="#ffd700"/>
<stop offset="100%" stop-color="#ffa500"/>
</radialGradient>
<linearGradient id="cupGradient" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" stop-color="#b0e0e6"/>
<stop offset="100%" stop-color="#4682b4"/>
</linearGradient>
</defs>
<!-- Background night sky -->
<rect width="100%" height="100%" fill="#0d1b2a"/>
<!-- Layer: Stars floating upward inside the gradient trail -->
<g id="stars" opacity="0.8">
<!-- Generate multiple small stars -->
<circle cx="140" cy="270" r="1.5" fill="url(#starGradient)" opacity="0.8"/>
<circle cx="150" cy="265" r="1" fill="url(#starGradient)" opacity="0.7"/>
<circle cx="160" cy="268" r="1.8" fill="url(#starGradient)" opacity="0.9"/>
<circle cx="145" cy="260" r="1.2" fill="url(#starGradient)" opacity="0.75"/>
<circle cx="155" cy="262" r="1.3" fill="url(#starGradient)" opacity="0.8"/>
<circle cx="148" cy="255" r="1" fill="url(#starGradient)" opacity="0.7"/>
</g>
<!-- The crescent moon-shaped pool -->
<path d="M 90 200
A 70 70 0 1 0 210 200
A 50 50 0 1 1 90 200"
fill="url(#moonGradient)" stroke="#f4e2d8" stroke-width="3"/>
<!-- The floating teacup -->
<g id="teacup">
<!-- Cup body -->
<ellipse cx="150" cy="150" rx="30" ry="15" fill="linearGradient" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#f5deb3"/>
<stop offset="100%" stop-color="#deb887"/>
</ellipse>
<defs>
<linearGradient id="cupFill" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" stop-color="#f5deb3"/>
<stop offset="100%" stop-color="#deb887"/>
</linearGradient>
</defs>
<ellipse cx="150" cy="150" rx="30" ry="15" fill="url(#cupFill)" stroke="#b22222" stroke-width="1"/>
<!-- Cup handle -->
<path d="M 180 150
Q 195 140 180 130
Q 165 125 150 130
Q 135 135 150 140
Q 165 145 180 150" fill="#f5deb3" stroke="#b22222" stroke-width="1"/>
</g>
<!-- Pouring stream of stars -->
<g id="starStream">
<!-- Create a gradient path for the pouring -->
<path d="M 150 150
Q 155 140 160 130
Q 165 120 170 110
Q 175 100 180 95" fill="none" stroke="url(#starGradient)" stroke-width="2"/>
<!-- Falling stars along the stream -->
<circle cx="154" cy="137" r="1" fill="url(#starGradient)" opacity="0.8"/>
<circle cx="158" cy="127" r="0.8" fill="url(#starGradient)" opacity="0.7"/>
<circle cx="162" cy="118" r="1.2" fill="url(#starGradient)" opacity="0.9"/>
<circle cx="166" cy="110" r="1" fill="url(#starGradient)" opacity="0.75"/>
</g>
<!-- Artistic accents: glowing halo around moon -->
<circle cx="150" cy="200" r="80" fill="none" stroke="#ffe4b5" stroke-width="8" opacity="0.2"/>
</svg>
<svg viewBox="0 0 300 300" xmlns="http://www.w3.org/2000/svg">
<defs>
<linearGradient id="cupGradient" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" style="stop-color:#ffcc66;stop-opacity:1" />
<stop offset="100%" style="stop-color:#ff9966;stop-opacity:1" />
</linearGradient>
<linearGradient id="moonGradient" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" style="stop-color:#f0e1a8;stop-opacity:1" />
<stop offset="100%" style="stop-color:#e6b800;stop-opacity:1" />
</linearGradient>
<pattern id="starPattern" width="10" height="10" patternUnits="userSpaceOnUse">
<polygon points="5,0 6.18,3.09 9.09,3.09 6.82,5.45 7.91,8.54 5,6.82 2.09,8.54 3.18,5.45 0.91,3.09 3.82,3.09"
fill="#ffffff"/>
</pattern>
</defs>
<rect width="100%" height="100%" fill="#1a1a1a" />
<path d="M150 180 Q110 150, 130 120 Q140 90, 200 130 Q180 150, 150 180 Z"
fill="url(#moonGradient)" />
<ellipse cx="150" cy="180" rx="60" ry="30" fill="none" stroke="#ffcc33" stroke-width="3" />
<g transform="translate(70, -60)">
<path d="M50 90 Q30 50, 80 40 Q130 50, 100 90 Q70 100, 50 90 Z"
fill="url(#cupGradient)" />
<path d="M80 40 Q85 30, 90 40 Q85 35, 80 40 Z" fill="#ffffff" />
<path d="M50 90 Q75 110, 100 90" fill="none" stroke="#946b35" stroke-width="2" />
<rect x="55" y="90" width="5" height="20" fill="#946b35" />
</g>
<g fill="url(#starPattern)">
<circle cx="100" cy="130" r="5" />
<circle cx="110" cy="120" r="3" />
<circle cx="120" cy="140" r="4" />
<circle cx="140" cy="110" r="3" />
<circle cx="160" cy="130" r="4" />
<circle cx="180" cy="120" r="3" />
</g>
<path d="M140,150 Q150,160 150,170 Q150,160 160,150" fill="none" stroke="#ffffff" stroke-width="1.5" />
<animateTransform attributeName="transform" attributeType="XML" type="translate" from="0 0" to="0 -10" dur="2s" repeatCount="indefinite" />
</svg>
Judge's Analysis
Player 1's submission adheres more closely to the prompt, showcasing a clear depiction of a teacup pouring into a crescent moon-shaped pool.
The composition is visually cohesive, with a clear flow from the teacup to the moon.
Player 2’s submission is more abstract and less recognizable, making it harder to connect with the stated concept.
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
"A floating island with a single tree growing upside down."
"A robot watering a flower in a futuristic desert."
"An octopus juggling planets under the ocean."