Creative Challenge
"An octopus juggling clocks under a starry sky."
<svg viewBox="0 0 300 300" xmlns="http://www.w3.org/2000/svg">
<defs>
<radialGradient id="skyGradient" cx="50%" cy="0%" r="100%">
<stop offset="0%" style="stop-color:#1a1a2e"/>
<stop offset="50%" style="stop-color:#16213e"/>
<stop offset="100%" style="stop-color:#0f0f23"/>
</radialGradient>
<radialGradient id="octopusGradient" cx="50%" cy="40%" r="60%">
<stop offset="0%" style="stop-color:#ff6b9d"/>
<stop offset="50%" style="stop-color:#c44569"/>
<stop offset="100%" style="stop-color:#6c5ce7"/>
</radialGradient>
<radialGradient id="tentacleGradient" cx="30%" cy="30%" r="70%">
<stop offset="0%" style="stop-color:#a29bfe"/>
<stop offset="70%" style="stop-color:#6c5ce7"/>
<stop offset="100%" style="stop-color:#5f3dc4"/>
</radialGradient>
<linearGradient id="clockGradient" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" style="stop-color:#ffd700"/>
<stop offset="50%" style="stop-color:#ffb347"/>
<stop offset="100%" style="stop-color:#ff7675"/>
</linearGradient>
<filter id="glow">
<feGaussianBlur stdDeviation="3" result="coloredBlur"/>
<feMerge>
<feMergeNode in="coloredBlur"/>
<feMergeNode in="SourceGraphic"/>
</feMerge>
</filter>
<filter id="starGlow">
<feGaussianBlur stdDeviation="1" result="coloredBlur"/>
<feMerge>
<feMergeNode in="coloredBlur"/>
<feMergeNode in="SourceGraphic"/>
</feMerge>
</filter>
</defs>
<!-- Sky Background -->
<rect width="300" height="300" fill="url(#skyGradient)"/>
<!-- Stars -->
<circle cx="50" cy="30" r="2" fill="#fff" filter="url(#starGlow)" opacity="0.9"/>
<circle cx="120" cy="20" r="1.5" fill="#fff" filter="url(#starGlow)" opacity="0.8"/>
<circle cx="200" cy="40" r="1" fill="#fff" filter="url(#starGlow)" opacity="0.7"/>
<circle cx="250" cy="25" r="2.5" fill="#fff" filter="url(#starGlow)" opacity="0.9"/>
<circle cx="80" cy="60" r="1" fill="#fff" filter="url(#starGlow)" opacity="0.6"/>
<circle cx="270" cy="50" r="1" fill="#fff" filter="url(#starGlow)" opacity="0.8"/>
<circle cx="30" cy="70" r="1.5" fill="#fff" filter="url(#starGlow)" opacity="0.7"/>
<circle cx="180" cy="15" r="1" fill="#fff" filter="url(#starGlow)" opacity="0.6"/>
<circle cx="220" cy="70" r="1" fill="#fff" filter="url(#starGlow)" opacity="0.5"/>
<!-- Constellation lines -->
<path d="M50,30 L120,20 L200,40" stroke="#fff" stroke-width="0.5" opacity="0.3" fill="none"/>
<!-- Octopus Head -->
<ellipse cx="150" cy="180" rx="35" ry="40" fill="url(#octopusGradient)" filter="url(#glow)"/>
<!-- Eyes -->
<circle cx="135" cy="170" r="8" fill="#fff"/>
<circle cx="165" cy="170" r="8" fill="#fff"/>
<circle cx="135" cy="170" r="5" fill="#2d3436"/>
<circle cx="165" cy="170" r="5" fill="#2d3436"/>
<circle cx="137" cy="168" r="2" fill="#fff"/>
<circle cx="167" cy="168" r="2" fill="#fff"/>
<!-- Tentacles -->
<path d="M130,210 Q100,230 80,260 Q70,280 90,290 Q110,285 120,270 Q130,250 140,240"
fill="none" stroke="url(#tentacleGradient)" stroke-width="12" stroke-linecap="round"/>
<path d="M140,220 Q120,250 100,280 Q85,300 75,290 Q85,275 95,260 Q115,240 125,230"
fill="none" stroke="url(#tentacleGradient)" stroke-width="10" stroke-linecap="round"/>
<path d="M160,220 Q180,250 200,280 Q215,300 225,290 Q215,275 205,260 Q185,240 175,230"
fill="none" stroke="url(#tentacleGradient)" stroke-width="10" stroke-linecap="round"/>
<path d="M170,210 Q200,230 220,260 Q230,280 210,290 Q190,285 180,270 Q170,250 160,240"
fill="none" stroke="url(#tentacleGradient)" stroke-width="12" stroke-linecap="round"/>
<path d="M120,200 Q70,180 40,160 Q20,150 30,140 Q50,145 70,155 Q100,175 110,185"
fill="none" stroke="url(#tentacleGradient)" stroke-width="11" stroke-linecap="round"/>
<path d="M180,200 Q230,180 260,160 Q280,150 270,140 Q250,145 230,155 Q200,175 190,185"
fill="none" stroke="url(#tentacleGradient)" stroke-width="11" stroke-linecap="round"/>
<path d="M135,210 Q110,190 90,170 Q80,160 90,155 Q105,160 120,170 Q140,185 145,195"
fill="none" stroke="url(#tentacleGradient)" stroke-width="9" stroke-linecap="round"/>
<path d="M165,210 Q190,190 210,170 Q220,160 210,155 Q195,160 180,170 Q160,185 155,195"
fill="none" stroke="url(#tentacleGradient)" stroke-width="9" stroke-linecap="round"/>
<!-- Clocks -->
<!-- Clock 1 -->
<g transform="translate(85,140) rotate(15)">
<circle cx="0" cy="0" r="18" fill="url(#clockGradient)" filter="url(#glow)"/>
<circle cx="0" cy="0" r="15" fill="#fff" opacity="0.9"/>
<circle cx="0" cy="0" r="2" fill="#2d3436"/>
<line x1="0" y1="0" x2="0" y2="-10" stroke="#2d3436" stroke-width="2" stroke-linecap="round"/>
<line x1="0" y1="0" x2="7" y2="0" stroke="#2d3436" stroke-width="1.5" stroke-linecap="round"/>
<text x="0" y="-8" text-anchor="middle" font-family="serif" font-size="6" fill="#2d3436">12</text>
<text x="8" y="2" text-anchor="middle" font-family="serif" font-size="6" fill="#2d3436">3</text>
</g>
<!-- Clock 2 -->
<g transform="translate(220,145) rotate(-20)">
<circle cx="0" cy="0" r="16" fill="url(#clockGradient)" filter="url(#glow)"/>
<circle cx="0" cy="0" r="13" fill="#fff" opacity="0.9"/>
<circle cx="0" cy="0" r="1.5" fill="#2d3436"/>
<line x1="0" y1="0" x2="-5" y2="-8" stroke="#2d3436" stroke-width="2" stroke-linecap="round"/>
<line x1="0" y1="0" x2="6" y2="3" stroke="#2d3436" stroke-width="1.5" stroke-linecap="round"/>
</g>
<!-- Clock 3 -->
<g transform="translate(60,250) rotate(45)">
<circle cx="0" cy="0" r="14" fill="url(#clockGradient)" filter="url(#glow)"/>
<circle cx="0" cy="0" r="11" fill="#fff" opacity="0.9"/>
<circle cx="0" cy="0" r="1.5" fill="#2d3436"/>
<line x1="0" y1="0" x2="0" y2="-7" stroke="#2d3436" stroke-width="1.5" stroke-linecap="round"/>
<line x1="0" y1="0" x2="5" y2="2" stroke="#2d3436" stroke-width="1" stroke-linecap="round"/>
</g>
<!-- Clock 4 -->
<g transform="translate(240,250) rotate(-30)">
<circle cx="0" cy="0" r="15" fill="url(#clockGradient)" filter="url(#glow)"/>
<circle cx="0" cy="0" r="12" fill="#fff" opacity="0.9"/>
<circle cx="0" cy="0" r="1.5" fill="#2d3436"/>
<line x1="0" y1="0" x2="3" y2="-8" stroke="#2d3436" stroke-width="1.5" stroke-linecap="round"/>
<line x1="0" y1="0" x2="-6" y2="1" stroke="#2d3436" stroke-width="1" stroke-linecap="round"/>
</g>
<!-- Clock 5 -->
<g transform="translate(150,120) rotate(10)">
<circle cx="0" cy="0" r="12" fill="url(#clockGradient)" filter="url(#glow)"/>
<circle cx="0" cy="0" r="9" fill="#fff" opacity="0.9"/>
<circle cx="0" cy="0" r="1" fill="#2d3436"/>
<line x1="0" y1="0" x2="0" y2="-6" stroke="#2d3436" stroke-width="1.5" stroke-linecap="round"/>
<line x1="0" y1="0" x2="4" y2="0" stroke="#2d3436" stroke-width="1" stroke-linecap="round"/>
</g>
<!-- Motion trails for clocks -->
<path d="M85,140 Q75,135 70,130" stroke="#ffd700" stroke-width="2" opacity="0.3" fill="none"/>
<path d="M220,145 Q230,140 235,135" stroke="#ffd700" stroke-width="2" opacity="0.3" fill="none"/>
<path d="M60,250 Q55,245 50,240" stroke="#ffd700" stroke-width="2" opacity="0.3" fill="none"/>
<!-- Magical sparkles -->
<circle cx="100" cy="200" r="1" fill="#ffd700" filter="url(#starGlow)">
<animate attributeName="opacity" values="0;1;0" dur="2s" repeatCount="indefinite"/>
</circle>
<circle cx="200" cy="190" r="1.5" fill="#ffd700" filter="url(#starGlow)">
<animate attributeName="opacity" values="1;0;1" dur="1.5s" repeatCount="indefinite"/>
</circle>
<circle cx="180" cy="240" r="1" fill="#ffd700" filter="url(#starGlow)">
<animate attributeName="opacity" values="0;1;0" dur="2.5s" repeatCount="indefinite"/>
</circle>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 300 300">
<defs>
<linearGradient id="skyGradient" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#001d3d"/>
<stop offset="100%" stop-color="#000000"/>
</linearGradient>
<radialGradient id="octoGradient" cx="50%" cy="50%" r="50%">
<stop offset="0%" stop-color="#ff66cc"/>
<stop offset="100%" stop-color="#660066"/>
</radialGradient>
<linearGradient id="clockGradient" x1="0" y1="0" x2="1" y2="1">
<stop offset="0%" stop-color="#fedd75"/>
<stop offset="100%" stop-color="#e2a80f"/>
</linearGradient>
</defs>
<!-- Starry Background -->
<rect x="0" y="0" width="300" height="300" fill="url(#skyGradient)"/>
<g id="stars">
<circle cx="15" cy="25" r="1.2" fill="white"/>
<circle cx="45" cy="50" r="1" fill="white"/>
<circle cx="80" cy="40" r="1.5" fill="white"/>
<circle cx="120" cy="80" r="1" fill="white"/>
<circle cx="200" cy="60" r="1.2" fill="white"/>
<circle cx="250" cy="40" r="1.3" fill="white"/>
<circle cx="280" cy="70" r="1" fill="white"/>
<circle cx="230" cy="100" r="1.5" fill="white"/>
<circle cx="50" cy="120" r="1.2" fill="white"/>
<circle cx="90" cy="90" r="1" fill="white"/>
<circle cx="160" cy="50" r="1.1" fill="white"/>
<circle cx="210" cy="30" r="1.4" fill="white"/>
<circle cx="270" cy="120" r="1.2" fill="white"/>
<circle cx="30" cy="150" r="1" fill="white"/>
<circle cx="100" cy="180" r="1.3" fill="white"/>
<circle cx="250" cy="150" r="1" fill="white"/>
</g>
<!-- Octopus Arms -->
<g id="octopus-arms" fill="none" stroke="url(#octoGradient)" stroke-width="4" stroke-linecap="round" stroke-linejoin="round">
<!-- Arm 1: Left-up, juggling Clock A -->
<path d="M120,220 C100,210, 90,180, 70,150" />
<!-- Arm 2: Top, juggling Clock B -->
<path d="M150,200 C150,170, 150,155, 150,140" />
<!-- Arm 3: Top-right, juggling Clock C -->
<path d="M180,220 C190,200, 195,180, 200,150" />
<!-- Arm 4: Center-top, juggling Clock D -->
<path d="M150,205 C150,180, 150,130, 150,90" />
<!-- Additional arms for full octopus -->
<path d="M170,235 C175,250, 180,260, 185,275" />
<path d="M150,240 C150,255, 150,270, 150,285" />
<path d="M130,235 C125,250, 120,260, 115,275" />
<path d="M120,225 C110,230, 100,240, 90,250" />
</g>
<!-- Octopus Head -->
<ellipse cx="150" cy="220" rx="30" ry="20" fill="url(#octoGradient)"/>
<!-- Octopus Eyes -->
<circle cx="143" cy="215" r="3" fill="white"/>
<circle cx="143" cy="215" r="1.5" fill="black"/>
<circle cx="157" cy="215" r="3" fill="white"/>
<circle cx="157" cy="215" r="1.5" fill="black"/>
<!-- Clocks -->
<!-- Clock A at (70,150) -->
<g id="clockA" stroke-linecap="round">
<circle cx="70" cy="150" r="10" fill="url(#clockGradient)" stroke="black" stroke-width="1"/>
<line x1="70" y1="150" x2="70" y2="145" stroke="black" stroke-width="1"/>
<line x1="70" y1="150" x2="75" y2="150" stroke="black" stroke-width="1"/>
</g>
<!-- Clock B at (150,140) -->
<g id="clockB" stroke-linecap="round">
<circle cx="150" cy="140" r="10" fill="url(#clockGradient)" stroke="black" stroke-width="1"/>
<line x1="150" y1="140" x2="150" y2="135" stroke="black" stroke-width="1"/>
<line x1="150" y1="140" x2="155" y2="140" stroke="black" stroke-width="1"/>
</g>
<!-- Clock C at (200,150) -->
<g id="clockC" stroke-linecap="round">
<circle cx="200" cy="150" r="10" fill="url(#clockGradient)" stroke="black" stroke-width="1"/>
<line x1="200" y1="150" x2="200" y2="145" stroke="black" stroke-width="1"/>
<line x1="200" y1="150" x2="205" y2="150" stroke="black" stroke-width="1"/>
</g>
<!-- Clock D at (150,90) -->
<g id="clockD" stroke-linecap="round">
<circle cx="150" cy="90" r="10" fill="url(#clockGradient)" stroke="black" stroke-width="1"/>
<line x1="150" y1="90" x2="150" y2="85" stroke="black" stroke-width="1"/>
<line x1="150" y1="90" x2="155" y2="90" stroke="black" stroke-width="1"/>
</g>
</svg>
Judge's Analysis
Player 1's submission demonstrates more creativity and technical quality, with dynamic tentacle movements and glowing clocks that enhance the visual appeal.
The inclusion of a constellation in the starry sky also adds a thoughtful layer of detail.
Player 2's submission is simpler and less dynamic, lacking the intricate details that bring the octopus and its juggling to life.
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.