Creative Challenge
"An octopus juggling teacups under a disco ball."
<svg viewBox="0 0 300 300" xmlns="http://www.w3.org/2000/svg">
<!-- Background -->
<rect width="300" height="300" fill="url(#bgGradient)"/>
<defs>
<!-- Background gradient -->
<linearGradient id="bgGradient" x1="0" y1="0" x2="300" y2="300">
<stop offset="0%" stop-color="#1a2a6c"/>
<stop offset="50%" stop-color="#b21f1f"/>
<stop offset="100%" stop-color="#fdbb2d"/>
</linearGradient>
<!-- Disco ball gradient -->
<radialGradient id="discoGradient" cx="50%" cy="50%" r="50%">
<stop offset="0%" stop-color="#ffffff"/>
<stop offset="100%" stop-color="#cccccc"/>
</radialGradient>
<!-- Teacup gradient -->
<linearGradient id="cupGradient" x1="0" y1="0" x2="1" y2="1">
<stop offset="0%" stop-color="#ffcc80"/>
<stop offset="100%" stop-color="#ff9800"/>
</linearGradient>
<!-- Octopus skin gradient -->
<radialGradient id="octoGradient" cx="50%" cy="50%" r="50%">
<stop offset="0%" stop-color="#ff4081"/>
<stop offset="100%" stop-color="#e040fb"/>
</radialGradient>
</defs>
<!-- Disco ball -->
<g id="disco-ball" transform="translate(150,50)">
<circle r="30" fill="url(#discoGradient)" stroke="#ffffff" stroke-width="2"/>
<!-- Adding small reflective tiles -->
<g stroke="#aaa" stroke-width="0.5">
<circle cx="-10" cy="-10" r="2"/>
<circle cx="0" cy="-15" r="2"/>
<circle cx="10" cy="-8" r="1.5"/>
<circle cx="-12" cy="5" r="2"/>
<circle cx="12" cy="5" r="2"/>
<circle cx="0" cy="10" r="1.5"/>
<circle cx="-5" cy="0" r="1.5"/>
<circle cx="5" cy="0" r="1.5"/>
</g>
<!-- Disco rays -->
<g stroke="#ffffff" stroke-width="1">
<line x1="0" y1="0" x2="0" y2="-45"/>
<line x1="0" y1="0" x2="32" y2="-32"/>
<line x1="0" y1="0" x2="45" y2="0"/>
<line x1="0" y1="0" x2="32" y2="32"/>
<line x1="0" y1="0" x2="0" y2="45"/>
<line x1="0" y1="0" x2="-32" y2="32"/>
<line x1="0" y1="0" x2="-45" y2="0"/>
<line x1="0" y1="0" x2="-32" y2="-32"/>
</g>
</g>
<!-- Octopus body -->
<g id="octopus" transform="translate(150,170)">
<!-- Body -->
<ellipse cx="0" cy="0" rx="20" ry="28" fill="url(#octoGradient)" stroke="#800040" stroke-width="2"/>
<!-- Eyes -->
<circle cx="-7" cy="-8" r="3" fill="#ffffff"/>
<circle cx="7" cy="-8" r="3" fill="#ffffff"/>
<circle cx="-7" cy="-8" r="1.5" fill="#000000"/>
<circle cx="7" cy="-8" r="1.5" fill="#000000"/>
<!-- Arms and juggling teacups -->
<!-- Left arm -->
<path d="M -18,5 C -50,0 -40,40 -10,30" fill="none" stroke="url(#octoGradient)" stroke-width="5" stroke-linecap="round"/>
<!-- Teacup on left -->
<g transform="translate(-10,30)">
<ellipse cx="0" cy="0" rx="5" ry="3" fill="url(#cupGradient)" stroke="#804000" stroke-width="1"/>
<path d="M -5,0 Q 0,-3 5,0" fill="none" stroke="#804000" stroke-width="1"/>
<path d="M 5,0 Q 7,2 5,4" fill="none" stroke="#804000" stroke-width="1"/>
</g>
<!-- Right arm -->
<path d="M 18,5 C 50,0 40,40 10,30" fill="none" stroke="url(#octoGradient)" stroke-width="5" stroke-linecap="round"/>
<!-- Teacup on right -->
<g transform="translate(10,30)">
<ellipse cx="0" cy="0" rx="5" ry="3" fill="url(#cupGradient)" stroke="#804000" stroke-width="1"/>
<path d="M -5,0 Q 0,-3 5,0" fill="none" stroke="#804000" stroke-width="1"/>
<path d="M 5,0 Q 7,2 5,4" fill="none" stroke="#804000" stroke-width="1"/>
</g>
<!-- Middle arm (extending upward) -->
<path d="M 0,-20 C -10,-50 -10,-90 0,-110" fill="none" stroke="url(#octoGradient)" stroke-width="5" stroke-linecap="round"/>
<!-- Teacup above -->
<g transform="translate(0,-110)">
<ellipse cx="0" cy="0" rx="5" ry="3" fill="url(#cupGradient)" stroke="#804000" stroke-width="1"/>
<path d="M -5,0 Q 0,-3 5,0" fill="none" stroke="#804000" stroke-width="1"/>
<path d="M 5,0 Q 7,2 5,4" fill="none" stroke="#804000" stroke-width="1"/>
</g>
<!-- Additional arms with teacups, creative curves -->
<path d="M -12,10 C -40,20 -30,60 -5,55" fill="none" stroke="url(#octoGradient)" stroke-width="5" stroke-linecap="round"/>
<g transform="translate(-5,55)">
<ellipse cx="0" cy="0" rx="5" ry="3" fill="url(#cupGradient)" stroke="#804000" stroke-width="1"/>
<path d="M -5,0 Q 0,-3 5,0" fill="none" stroke="#804000" stroke-width="1"/>
<path d="M 5,0 Q 7,2 5,4" fill="none" stroke="#804000" stroke-width="1"/>
</g>
<path d="M 12,10 C 40,20 30,60 5,55" fill="none" stroke="url(#octoGradient)" stroke-width="5" stroke-linecap="round"/>
<g transform="translate(5,55)">
<ellipse cx="0" cy="0" rx="5" ry="3" fill="url(#cupGradient)" stroke="#804000" stroke-width="1"/>
<path d="M -5,0 Q 0,-3 5,0" fill="none" stroke="#804000" stroke-width="1"/>
<path d="M 5,0 Q 7,2 5,4" fill="none" stroke="#804000" stroke-width="1"/>
</g>
</g>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 300 300">
<defs>
<linearGradient id="bg-gradient" x1="0" y1="0" x2="300" y2="300">
<stop offset="0%" stop-color="#2c003e"/>
<stop offset="100%" stop-color="#000000"/>
</linearGradient>
<radialGradient id="disco-gradient" cx="50%" cy="50%" r="50%">
<stop offset="0%" stop-color="white"/>
<stop offset="100%" stop-color="lightgray"/>
</radialGradient>
<radialGradient id="octo-gradient" cx="50%" cy="50%" r="50%">
<stop offset="0%" stop-color="#ff66cc"/>
<stop offset="100%" stop-color="#660099"/>
</radialGradient>
<linearGradient id="arm-gradient" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" stop-color="#ff33cc"/>
<stop offset="100%" stop-color="#3333ff"/>
</linearGradient>
<radialGradient id="cup-gradient" cx="50%" cy="50%" r="50%">
<stop offset="0%" stop-color="#ffe0e0"/>
<stop offset="100%" stop-color="#ff6666"/>
</radialGradient>
<clipPath id="discoClip">
<circle cx="0" cy="0" r="20"/>
</clipPath>
</defs>
<!-- Background -->
<rect width="300" height="300" fill="url(#bg-gradient)" />
<!-- Disco Ball -->
<g transform="translate(150,40)">
<circle r="20" fill="url(#disco-gradient)" stroke="white" stroke-width="1"/>
<g clip-path="url(#discoClip)">
<rect x="-18" y="-18" width="6" height="6" fill="white" opacity="0.5"/>
<rect x="-6" y="-18" width="6" height="6" fill="white" opacity="0.5"/>
<rect x="6" y="-18" width="6" height="6" fill="white" opacity="0.5"/>
<rect x="-18" y="-6" width="6" height="6" fill="white" opacity="0.5"/>
<rect x="-6" y="-6" width="6" height="6" fill="white" opacity="0.5"/>
<rect x="6" y="-6" width="6" height="6" fill="white" opacity="0.5"/>
<rect x="-18" y="6" width="6" height="6" fill="white" opacity="0.5"/>
<rect x="-6" y="6" width="6" height="6" fill="white" opacity="0.5"/>
<rect x="6" y="6" width="6" height="6" fill="white" opacity="0.5"/>
</g>
</g>
<!-- Octopus Arms -->
<path d="M130,220 C110,180 100,140 110,100" stroke="url(#arm-gradient)" stroke-width="5" fill="none" stroke-linecap="round"/>
<path d="M150,210 C155,180 145,120 150,60" stroke="url(#arm-gradient)" stroke-width="5" fill="none" stroke-linecap="round"/>
<path d="M170,220 C190,180 200,140 190,100" stroke="url(#arm-gradient)" stroke-width="5" fill="none" stroke-linecap="round"/>
<path d="M170,230 C190,240 210,250 190,260" stroke="url(#arm-gradient)" stroke-width="5" fill="none" stroke-linecap="round"/>
<path d="M130,230 C110,240 90,250 100,260" stroke="url(#arm-gradient)" stroke-width="5" fill="none" stroke-linecap="round"/>
<path d="M180,230 C210,230 210,240 220,250" stroke="url(#arm-gradient)" stroke-width="5" fill="none" stroke-linecap="round"/>
<path d="M120,230 C90,230 90,240 80,250" stroke="url(#arm-gradient)" stroke-width="5" fill="none" stroke-linecap="round"/>
<path d="M150,235 C150,245 150,255 160,265" stroke="url(#arm-gradient)" stroke-width="5" fill="none" stroke-linecap="round"/>
<!-- Juggled Teacups -->
<g transform="translate(110,100)">
<ellipse cx="0" cy="0" rx="8" ry="4" fill="url(#cup-gradient)"/>
<path d="M8,-2 Q12,0 8,2" stroke="white" stroke-width="1" fill="none"/>
</g>
<g transform="translate(150,60)">
<ellipse cx="0" cy="0" rx="8" ry="4" fill="url(#cup-gradient)"/>
<path d="M8,-2 Q12,0 8,2" stroke="white" stroke-width="1" fill="none"/>
</g>
<g transform="translate(190,100)">
<ellipse cx="0" cy="0" rx="8" ry="4" fill="url(#cup-gradient)"/>
<path d="M8,-2 Q12,0 8,2" stroke="white" stroke-width="1" fill="none"/>
</g>
<!-- Octopus Head and Eyes -->
<ellipse cx="150" cy="220" rx="25" ry="20" fill="url(#octo-gradient)"/>
<circle cx="142" cy="215" r="3" fill="white"/>
<circle cx="158" cy="215" r="3" fill="white"/>
<circle cx="142" cy="215" r="1.5" fill="black"/>
<circle cx="158" cy="215" r="1.5" fill="black"/>
</svg>
Judge's Analysis
Player 2's image demonstrates greater creativity and adherence to the prompt, with the octopus clearly juggling teacups under a disco ball.
The use of vibrant colors and multiple limbs enhances the visual appeal and better conveys the playful scene.
In contrast, Player 1's submission lacks clarity in depicting the juggling action and overall prompt adherence, making Player 2's work more compelling and detailed.
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 tree growing upside-down from the clouds with its roots reaching for the ground."
"A cat wearing a fish tank as a helmet, gazing at the moon"
"Cat wearing a top hat, riding a unicycle on a rainbow"