Creative Challenge
"An octopus juggling planets in space."
<svg viewBox="0 0 300 300" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
<defs>
<!-- Gradient for the octopus body -->
<radialGradient id="octopusGradient" cx="50%" cy="50%" r="50%">
<stop offset="0%" stop-color="#8e44ad"/>
<stop offset="100%" stop-color="#4a0d67"/>
</radialGradient>
<!-- Gradient for planets -->
<radialGradient id="planetGradient1" cx="30%" cy="30%" r="70%">
<stop offset="0%" stop-color="#f39c12"/>
<stop offset="100%" stop-color="#d35400"/>
</radialGradient>
<radialGradient id="planetGradient2" cx="30%" cy="30%" r="70%">
<stop offset="0%" stop-color="#3498db"/>
<stop offset="100%" stop-color="#2980b9"/>
</radialGradient>
<radialGradient id="planetGradient3" cx="30%" cy="30%" r="70%">
<stop offset="0%" stop-color="#2ecc71"/>
<stop offset="100%" stop-color="#27ae60"/>
</radialGradient>
<!-- Star pattern for background -->
<pattern id="stars" x="0" y="0" width="10" height="10" patternUnits="userSpaceOnUse">
<circle cx="1" cy="1" r="1" fill="#ffffff" opacity="0.8"/>
</pattern>
</defs>
<!-- Space background -->
<rect width="300" height="300" fill="url(#stars)" />
<!-- Distant stars -->
<circle cx="50" cy="50" r="0.5" fill="#ffffff" opacity="0.7"/>
<circle cx="250" cy="80" r="0.7" fill="#ffffff" opacity="0.8"/>
<circle cx="150" cy="220" r="0.4" fill="#ffffff" opacity="0.6"/>
<circle cx="80" cy="200" r="0.6" fill="#ffffff" opacity="0.9"/>
<circle cx="220" cy="130" r="0.5" fill="#ffffff" opacity="0.7"/>
<circle cx="180" cy="50" r="0.4" fill="#ffffff" opacity="0.8"/>
<!-- Octopus body -->
<g id="octopus" transform="translate(150, 150)">
<ellipse cx="0" cy="0" rx="40" ry="50" fill="url(#octopusGradient)" stroke="#222" stroke-width="2"/>
<!-- Octopus head -->
<circle cx="0" cy="-55" r="20" fill="url(#octopusGradient)" stroke="#222" stroke-width="2"/>
<!-- Tentacles -->
<g id="tentacles">
<!-- Tentacles positioned around the body -->
<g transform="rotate(0)">
<ellipse cx="0" cy="80" rx="6" ry="20" fill="#6c3483" stroke="#222" stroke-width="1"/>
</g>
<g transform="rotate(45)">
<ellipse cx="0" cy="80" rx="6" ry="20" fill="#6c3483" stroke="#222" stroke-width="1"/>
</g>
<g transform="rotate(90)">
<ellipse cx="0" cy="80" rx="6" ry="20" fill="#6c3483" stroke="#222" stroke-width="1"/>
</g>
<g transform="rotate(135)">
<ellipse cx="0" cy="80" rx="6" ry="20" fill="#6c3483" stroke="#222" stroke-width="1"/>
</g>
<g transform="rotate(180)">
<ellipse cx="0" cy="80" rx="6" ry="20" fill="#6c3483" stroke="#222" stroke-width="1"/>
</g>
<g transform="rotate(225)">
<ellipse cx="0" cy="80" rx="6" ry="20" fill="#6c3483" stroke="#222" stroke-width="1"/>
</g>
<g transform="rotate(270)">
<ellipse cx="0" cy="80" rx="6" ry="20" fill="#6c3483" stroke="#222" stroke-width="1"/>
</g>
<g transform="rotate(315)">
<ellipse cx="0" cy="80" rx="6" ry="20" fill="#6c3483" stroke="#222" stroke-width="1"/>
</g>
</g>
</g>
<!-- Planets being juggled -->
<!-- Planet 1 -->
<circle cx="100" cy="50" r="12" fill="url(#planetGradient1)" stroke="#fff" stroke-width="1"/>
<circle cx="110" cy="45" r="3" fill="#fff"/>
<circle cx="92" cy="58" r="2" fill="#fff"/>
<circle cx="105" cy="55" r="1.5" fill="#fff"/>
<!-- Planet 2 -->
<circle cx="200" cy="80" r="15" fill="url(#planetGradient2)" stroke="#fff" stroke-width="1"/>
<circle cx="195" cy="95" r="2.5" fill="#fff"/>
<circle cx="210" cy="70" r="2" fill="#fff"/>
<circle cx="198" cy="85" r="1.8" fill="#fff"/>
<!-- Planet 3 -->
<circle cx="150" cy="200" r="10" fill="url(#planetGradient3)" stroke="#fff" stroke-width="1"/>
<circle cx="152" cy="210" r="1.5" fill="#fff"/>
<circle cx="147" cy="195" r="1" fill="#fff"/>
<circle cx="155" cy="205" r="1.2" fill="#fff"/>
<!-- Motion trails for the juggling planets -->
<path d="M100,50 Q105,40 125,45" stroke="#fff" stroke-opacity="0.5" stroke-width="0.5" fill="none"/>
<path d="M200,80 Q205,70 225,75" stroke="#fff" stroke-opacity="0.5" stroke-width="0.5" fill="none"/>
<path d="M150,200 Q155,190 165,195" stroke="#fff" stroke-opacity="0.5" stroke-width="0.5" fill="none"/>
</svg>
<svg viewBox="0 0 300 300" xmlns="http://www.w3.org/2000/svg">
<defs>
<radialGradient id="bgGradient" cx="50%" cy="50%" r="75%">
<stop offset="0%" stop-color="#1a1a2e"/>
<stop offset="100%" stop-color="#000000"/>
</radialGradient>
<radialGradient id="octoGradient" cx="50%" cy="50%" r="50%">
<stop offset="0%" stop-color="#ffb6c1"/>
<stop offset="100%" stop-color="#ff1493"/>
</radialGradient>
<radialGradient id="planetBlue" cx="50%" cy="50%" r="50%">
<stop offset="0%" stop-color="#66ccff"/>
<stop offset="100%" stop-color="#004cff"/>
</radialGradient>
<radialGradient id="planetYellow" cx="50%" cy="50%" r="50%">
<stop offset="0%" stop-color="#ffff99"/>
<stop offset="100%" stop-color="#ffcc00"/>
</radialGradient>
<radialGradient id="planetPurple" cx="50%" cy="50%" r="50%">
<stop offset="0%" stop-color="#dda0dd"/>
<stop offset="100%" stop-color="#800080"/>
</radialGradient>
</defs>
<rect width="300" height="300" fill="url(#bgGradient)"/>
<g id="stars">
<circle cx="20" cy="30" r="1.5" fill="white"/>
<circle cx="280" cy="50" r="1" fill="white"/>
<circle cx="250" cy="20" r="0.8" fill="white"/>
<circle cx="60" cy="40" r="1.2" fill="white"/>
<circle cx="230" cy="80" r="0.7" fill="white"/>
<circle cx="100" cy="20" r="1.2" fill="white"/>
<circle cx="260" cy="90" r="1" fill="white"/>
<circle cx="150" cy="10" r="0.9" fill="white"/>
<circle cx="50" cy="100" r="1" fill="white"/>
<circle cx="200" cy="80" r="1" fill="white"/>
</g>
<g id="down-tentacles" fill="url(#octoGradient)" stroke="#8b008b" stroke-width="1">
<path d="M130,260 C125,270 120,285 130,295 L135,295 C130,285 125,270 130,260 Z"/>
<path d="M140,270 C135,280 130,295 140,300 L145,300 C140,295 135,280 140,270 Z"/>
<path d="M150,270 C148,280 147,290 150,300 L155,300 C153,290 152,280 150,270 Z"/>
<path d="M160,270 C165,280 170,290 160,300 L155,300 C150,290 155,280 160,270 Z"/>
<path d="M170,260 C175,270 180,285 170,295 L165,295 C160,285 165,270 170,260 Z"/>
</g>
<ellipse cx="150" cy="250" rx="40" ry="30" fill="url(#octoGradient)" stroke="#8b008b" stroke-width="1"/>
<g id="up-tentacles" fill="url(#octoGradient)" stroke="#8b008b" stroke-width="1">
<path d="M120,230 C110,210 105,190 100,170 L105,168 C110,190 115,210 120,230 Z"/>
<path d="M150,220 C147,210 147,190 150,150 L155,150 C155,190 155,210 150,220 Z"/>
<path d="M180,230 C185,210 190,190 200,170 L195,170 C185,190 180,210 180,230 Z"/>
</g>
<g id="planets" stroke="white" stroke-width="1">
<circle cx="100" cy="170" r="10" fill="url(#planetBlue)"/>
<circle cx="150" cy="150" r="10" fill="url(#planetYellow)"/>
<circle cx="200" cy="170" r="10" fill="url(#planetPurple)"/>
<ellipse cx="200" cy="170" rx="14" ry="6" fill="none" stroke="gold" stroke-width="2" transform="rotate(30 200 170)"/>
</g>
<g id="eyes">
<circle cx="140" cy="240" r="3" fill="white"/>
<circle cx="140" cy="240" r="1.5" fill="black"/>
<circle cx="160" cy="240" r="3" fill="white"/>
<circle cx="160" cy="240" r="1.5" fill="black"/>
</g>
</svg>
Judge's Analysis
Player 2's submission is more visually appealing and adheres better to the prompt.
The octopus is clearly identifiable, with expressive eyes and tentacles, and it is juggling planets in a more dynamic and creative way.
Player 1's submission is less refined, lacking clarity and detail in representing the octopus and the juggling action.
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
"Alien juggling planets under a disco ball in space."
"A snail racing a rocket on a rainbow road."
"A tree growing upside-down, roots reaching into the sky, leaves touching the ground."