Back

SVG Drawing Match #187

Mar 13, 2025
GPT-4o
Challenge Creator

Creative Challenge

"Octopus in a top hat juggling planets under a starry sky"

SVG by Claude 3.7 Sonnet Thinking (2025-02-19)
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 300 300">
  <defs>
    <!-- Sky gradient -->
    <linearGradient id="skyGradient" x1="0%" y1="0%" x2="0%" y2="100%">
      <stop offset="0%" stop-color="#0a0a2a" />
      <stop offset="100%" stop-color="#1a1a4a" />
    </linearGradient>
    
    <!-- Cosmic nebula gradients -->
    <radialGradient id="nebulaGradient1" cx="20%" cy="30%" r="50%" fx="20%" fy="30%">
      <stop offset="0%" stop-color="#9c27b066" />
      <stop offset="100%" stop-color="#0a0a2a00" />
    </radialGradient>
    
    <radialGradient id="nebulaGradient2" cx="70%" cy="20%" r="40%" fx="70%" fy="20%">
      <stop offset="0%" stop-color="#4fc3f766" />
      <stop offset="100%" stop-color="#0a0a2a00" />
    </radialGradient>
    
    <!-- Octopus body gradient -->
    <radialGradient id="octopusGradient" cx="50%" cy="50%" r="50%" fx="50%" fy="50%">
      <stop offset="0%" stop-color="#9c27b0" />
      <stop offset="70%" stop-color="#7b1fa2" />
      <stop offset="100%" stop-color="#6a1b9a" />
    </radialGradient>
    
    <!-- Top hat gradient -->
    <linearGradient id="hatGradient" x1="0%" y1="0%" x2="0%" y2="100%">
      <stop offset="0%" stop-color="#1a1a1a" />
      <stop offset="100%" stop-color="#444444" />
    </linearGradient>
    
    <!-- Planet gradients -->
    <radialGradient id="planet1Gradient" cx="50%" cy="50%" r="50%" fx="30%" fy="30%">
      <stop offset="0%" stop-color="#ff9800" />
      <stop offset="100%" stop-color="#e65100" />
    </radialGradient>
    
    <radialGradient id="planet2Gradient" cx="50%" cy="50%" r="50%" fx="30%" fy="30%">
      <stop offset="0%" stop-color="#4fc3f7" />
      <stop offset="100%" stop-color="#0288d1" />
    </radialGradient>
    
    <radialGradient id="planet3Gradient" cx="50%" cy="50%" r="50%" fx="30%" fy="30%">
      <stop offset="0%" stop-color="#8bc34a" />
      <stop offset="100%" stop-color="#558b2f" />
    </radialGradient>
    
    <radialGradient id="planet4Gradient" cx="50%" cy="50%" r="50%" fx="30%" fy="30%">
      <stop offset="0%" stop-color="#ffeb3b" />
      <stop offset="100%" stop-color="#fbc02d" />
    </radialGradient>
    
    <radialGradient id="planet5Gradient" cx="50%" cy="50%" r="50%" fx="30%" fy="30%">
      <stop offset="0%" stop-color="#f48fb1" />
      <stop offset="100%" stop-color="#d81b60" />
    </radialGradient>
    
    <!-- Star glow filters -->
    <filter id="starGlow" x="-50%" y="-50%" width="200%" height="200%">
      <feGaussianBlur stdDeviation="1" result="blur" />
      <feComposite in="SourceGraphic" in2="blur" operator="over" />
    </filter>
    
    <filter id="largeStarGlow" x="-50%" y="-50%" width="200%" height="200%">
      <feGaussianBlur stdDeviation="2" result="blur" />
      <feComposite in="SourceGraphic" in2="blur" operator="over" />
    </filter>
    
    <!-- Shine effect for planets -->
    <radialGradient id="shineEffect" cx="30%" cy="30%" r="50%" fx="20%" fy="20%">
      <stop offset="0%" stop-color="#ffffff" stop-opacity="0.7" />
      <stop offset="100%" stop-color="#ffffff" stop-opacity="0" />
    </radialGradient>
    
    <!-- Motion blur filter -->
    <filter id="motionBlur" x="-20%" y="-20%" width="140%" height="140%">
      <feGaussianBlur in="SourceGraphic" stdDeviation="2" />
    </filter>
  </defs>

  <!-- Background night sky -->
  <rect x="0" y="0" width="300" height="300" fill="url(#skyGradient)" />
  
  <!-- Cosmic nebula effects -->
  <ellipse cx="60" cy="90" rx="120" ry="80" fill="url(#nebulaGradient1)" opacity="0.5" />
  <ellipse cx="210" cy="60" rx="100" ry="70" fill="url(#nebulaGradient2)" opacity="0.4" />
  
  <!-- Stars in the sky -->
  <g id="stars">
    <!-- Regular stars -->
    <circle cx="20" cy="30" r="1" fill="white" filter="url(#starGlow)" />
    <circle cx="50" cy="15" r="1.5" fill="white" filter="url(#starGlow)" />
    <circle cx="80" cy="40" r="1" fill="white" filter="url(#starGlow)" />
    <circle cx="120" cy="25" r="1.2" fill="white" filter="url(#starGlow)" />
    <circle cx="150" cy="10" r="1" fill="white" filter="url(#starGlow)" />
    <circle cx="180" cy="35" r="1.5" fill="white" filter="url(#starGlow)" />
    <circle cx="210" cy="20" r="1" fill="white" filter="url(#starGlow)" />
    <circle cx="240" cy="40" r="1.2" fill="white" filter="url(#starGlow)" />
    <circle cx="270" cy="15" r="1" fill="white" filter="url(#starGlow)" />
    <circle cx="30" cy="70" r="1.5" fill="white" filter="url(#starGlow)" />
    <circle cx="70" cy="60" r="1" fill="white" filter="url(#starGlow)" />
    <circle cx="110" cy="75" r="1.2" fill="white" filter="url(#starGlow)" />
    <circle cx="160" cy="65" r="1" fill="white" filter="url(#starGlow)" />
    <circle cx="200" cy="80" r="1.5" fill="white" filter="url(#starGlow)" />
    <circle cx="250" cy="70" r="1" fill="white" filter="url(#starGlow)" />
    <circle cx="280" cy="50" r="1.2" fill="white" filter="url(#starGlow)" />
    
    <!-- More stars in various positions -->
    <circle cx="25" cy="120" r="1" fill="white" filter="url(#starGlow)" />
    <circle cx="60" cy="100" r="0.8" fill="white" filter="url(#starGlow)" />
    <circle cx="95" cy="130" r="1.2" fill="white" filter="url(#starGlow)" />
    <circle cx="140" cy="110" r="0.9" fill="white" filter="url(#starGlow)" />
    <circle cx="175" cy="140" r="1" fill="white" filter="url(#starGlow)" />
    <circle cx="220" cy="105" r="0.7" fill="white" filter="url(#starGlow)" />
    <circle cx="255" cy="125" r="1.1" fill="white" filter="url(#starGlow)" />
    <circle cx="290" cy="95" r="0.8" fill="white" filter="url(#starGlow)" />
    <circle cx="15" cy="160" r="1.2" fill="white" filter="url(#starGlow)" />
    <circle cx="45" cy="190" r="0.9" fill="white" filter="url(#starGlow)" />
    <circle cx="85" cy="170" r="1" fill="white" filter="url(#starGlow)" />
    <circle cx="125" cy="200" r="0.8" fill="white" filter="url(#starGlow)" />
    <circle cx="45" cy="25" r="0.6" fill="white" filter="url(#starGlow)" />
    <circle cx="90" cy="15" r="0.7" fill="white" filter="url(#starGlow)" />
    <circle cx="135" cy="40" r="0.6" fill="white" filter="url(#starGlow)" />
    <circle cx="190" cy="25" r="0.8" fill="white" filter="url(#starGlow)" />
    <circle cx="230" cy="15" r="0.7" fill="white" filter="url(#starGlow)" />
    <circle cx="260" cy="35" r="0.6" fill="white" filter="url(#starGlow)" />
    
    <!-- Larger, special stars -->
    <circle cx="35" cy="45" r="2" fill="#fffde7" filter="url(#largeStarGlow)" />
    <circle cx="220" cy="65" r="2.2" fill="#fffde7" filter="url(#largeStarGlow)" />
    <circle cx="170" cy="15" r="1.8" fill="#fffde7" filter="url(#largeStarGlow)" />
    
    <!-- "Twinkle" stars with light blue tint -->
    <circle cx="65" cy="25" r="1.4" fill="#e1f5fe" filter="url(#starGlow)" />
    <circle cx="170" cy="50" r="1.3" fill="#e1f5fe" filter="url(#starGlow)" />
    <circle cx="280" cy="75" r="1.5" fill="#e1f5fe" filter="url(#starGlow)" />
    <circle cx="40" cy="100" r="1.2" fill="#e1f5fe" filter="url(#starGlow)" />
    <circle cx="190" cy="120" r="1.1" fill="#e1f5fe" filter="url(#starGlow)" />
    
    <!-- Shooting stars -->
    <line x1="260" y1="40" x2="270" y2="50" stroke="#ffffff" stroke-width="0.8" />
    <line x1="180" y1="90" x2="190" y2="105" stroke="#ffffff" stroke-width="0.8" />
    <line x1="75" y1="55" x2="90" y2="65" stroke="#ffffff" stroke-width="0.8" />
  </g>
  
  <!-- Motion lines to show the juggling action -->
  <g id="motionLines" stroke="#ffffff55" stroke-width="1.5" stroke-dasharray="3,3">
    <path d="M150 200 C100 120, 70 90, 70 100" />
    <path d="M150 200 C140 130, 130 80, 130 70" />
    <path d="M150 200 C180 130, 190 100, 190 90" />
    <path d="M150 200 C210 160, 230 140, 240 130" />
    <path d="M150 200 C130 170, 100 170, 90 160" />
  </g>
  
  <!-- Planets being juggled -->
  <g id="planets">
    <!-- Planet 1 (Mars-like) -->
    <g transform="translate(70, 100)">
      <circle cx="0" cy="0" r="15" fill="url(#planet1Gradient)" />
      <!-- Craters -->
      <circle cx="-5" cy="-3" r="3" fill="#00000022" />
      <circle cx="6" cy="4" r="4" fill="#00000022" />
      <circle cx="2" cy="-7" r="2" fill="#00000022" />
      <!-- Shine -->
      <circle cx="-5" cy="-5" r="7" fill="url(#shineEffect)" />
      <!-- Motion trail -->
      <ellipse cx="5" cy="5" rx="9" ry="6" fill="#ff980033" filter="url(#motionBlur)" transform="rotate(45)" />
    </g>
    
    <!-- Planet 2 (Earth-like) -->
    <g transform="translate(130, 70)">
      <circle cx="0" cy="0" r="18" fill="url(#planet2Gradient)" />
      <!-- Continents -->
      <path d="M-10 -5 Q-5 -10 0 -5 T 10 -8" fill="#8bc34a88" />
      <path d="M-12 5 Q-5 0 5 5 T 12 2" fill="#8bc34a88" />
      <path d="M8 10 Q2 8 -3 12" fill="#8bc34a88" />
      <!-- Shine -->
      <circle cx="-6" cy="-6" r="8" fill="url(#shineEffect)" />
      <!-- Motion trail -->
      <ellipse cx="6" cy="6" rx="11" ry="8" fill="#4fc3f733" filter="url(#motionBlur)" transform="rotate(30)" />
    </g>
    
    <!-- Planet 3 (Green gas giant) -->
    <g transform="translate(190, 90)">
      <circle cx="0" cy="0" r="20" fill="url(#planet3Gradient)" />
      <!-- Atmospheric bands -->
      <path d="M-20 -5 H20" stroke="#55881144" stroke-width="7" />
      <path d="M-20 5 H20" stroke="#88aa2244" stroke-width="5" />
      <path d="M-20 12 H20" stroke="#55881144" stroke-width="4" />
      <!-- Shine -->
      <circle cx="-7" cy="-7" r="9" fill="url(#shineEffect)" />
      <!-- Motion trail -->
      <ellipse cx="8" cy="8" rx="12" ry="9" fill="#8bc34a33" filter="url(#motionBlur)" transform="rotate(60)" />
    </g>
    
    <!-- Planet 4 (Saturn-like with rings) -->
    <g transform="translate(240, 130)">
      <circle cx="0" cy="0" r="16" fill="url(#planet4Gradient)" />
      <!-- Rings -->
      <ellipse cx="0" cy="0" rx="26" ry="5" fill="none" stroke="#ffd54f" stroke-width="1.5" transform="rotate(-15)" />
      <ellipse cx="0" cy="0" rx="23" ry="4" fill="none" stroke="#ffca28" stroke-width="1" transform="rotate(-15)" />
      <ellipse cx="0" cy="0" rx="20" ry="3" fill="none" stroke="#ffb300" stroke-width="0.8" transform="rotate(-15)" />
      <!-- Atmospheric detail -->
      <path d="M-10 -3 H10" stroke="#f57f1766" stroke-width="3" />
      <!-- Shine -->
      <circle cx="-6" cy="-6" r="7" fill="url(#shineEffect)" />
      <!-- Motion trail -->
      <ellipse cx="7" cy="7" rx="14" ry="8" fill="#ffeb3b33" filter="url(#motionBlur)" transform="rotate(20)" />
    </g>
    
    <!-- Planet 5 (Pink/Red planet) -->
    <g transform="translate(90, 160)">
      <circle cx="0" cy="0" r="12" fill="url(#planet5Gradient)" />
      <!-- Surface details -->
      <path d="M-5 -5 Q0 -10 5 -5 T 2 5" fill="#c21858aa" />
      <circle cx="4" cy="-2" r="3" fill="#00000022" />
      <circle cx="-3" cy="4" r="2" fill="#00000022" />
      <!-- Shine -->
      <circle cx="-4" cy="-4" r="5" fill="url(#shineEffect)" />
      <!-- Motion trail -->
      <ellipse cx="4" cy="4" rx="8" ry="5" fill="#f48fb133" filter="url(#motionBlur)" transform="rotate(70)" />
    </g>
  </g>
  
  <!-- Octopus body and tentacles -->
  <g id="octopus">
    <!-- Tentacles -->
    <path d="M120 230 C100 250, 70 240, 60 270" fill="none" stroke="url(#octopusGradient)" stroke-width="12" stroke-linecap="round" />
    <path d="M110 240 C90 255, 60 265, 30 260" fill="none" stroke="url(#octopusGradient)" stroke-width="12" stroke-linecap="round" />
    <path d="M130 250 C120 280, 100 290, 80 300" fill="none" stroke="url(#octopusGradient)" stroke-width="12" stroke-linecap="round" />
    <path d="M150 255 C160 280, 140 290, 130 310" fill="none" stroke="url(#octopusGradient)" stroke-width="12" stroke-linecap="round" />
    <path d="M170 250 C200 270, 190 290, 210 300" fill="none" stroke="url(#octopusGradient)" stroke-width="12" stroke-linecap="round" />
    <path d="M190 240 C220 250, 240 270, 260 260" fill="none" stroke="url(#octopusGradient)" stroke-width="12" stroke-linecap="round" />
    <path d="M190 225 C220 230, 230 240, 240 230" fill="none" stroke="url(#octopusGradient)" stroke-width="12" stroke-linecap="round" />
    <path d="M180 215 C200 205, 220 200, 230 190" fill="none" stroke="url(#octopusGradient)" stroke-width="12" stroke-linecap="round" />
    
    <!-- Suction cups on tentacles -->
    <!-- Tentacle 1 -->
    <circle cx="100" cy="245" r="3" fill="#9c27b0" stroke="#6a1b9a" stroke-width="1" />
    <circle cx="85" cy="255" r="3" fill="#9c27b0" stroke="#6a1b9a" stroke-width="1" />
    <circle cx="70" cy="263" r="3" fill="#9c27b0" stroke="#6a1b9a" stroke-width="1" />
    
    <!-- Tentacle 2 -->
    <circle cx="90" cy="250" r="3" fill="#9c27b0" stroke="#6a1b9a" stroke-width="1" />
    <circle cx="70" cy="258" r="3" fill="#9c27b0" stroke="#6a1b9a" stroke-width="1" />
    <circle cx="50" cy="262" r="3" fill="#9c27b0" stroke="#6a1b9a" stroke-width="1" />
    
    <!-- Tentacle 3 -->
    <circle cx="120" cy="265" r="3" fill="#9c27b0" stroke="#6a1b9a" stroke-width="1" />
    <circle cx="110" cy="280" r="3" fill="#9c27b0" stroke="#6a1b9a" stroke-width="1" />
    <circle cx="95" cy="290" r="3" fill="#9c27b0" stroke="#6a1b9a" stroke-width="1" />
    
    <!-- Tentacle 4 -->
    <circle cx="150" cy="270" r="3" fill="#9c27b0" stroke="#6a1b9a" stroke-width="1" />
    <circle cx="155" cy="285" r="3" fill="#9c27b0" stroke="#6a1b9a" stroke-width="1" />
    <circle cx="145" cy="300" r="3" fill="#9c27b0" stroke="#6a1b9a" stroke-width="1" />
    
    <!-- Tentacle 5 -->
    <circle cx="180" cy="265" r="3" fill="#9c27b0" stroke="#6a1b9a" stroke-width="1" />
    <circle cx="195" cy="280" r="3" fill="#9c27b0" stroke="#6a1b9a" stroke-width="1" />
    <circle cx="200" cy="290" r="3" fill="#9c27b0" stroke="#6a1b9a" stroke-width="1" />
    
    <!-- Tentacle 6 -->
    <circle cx="200" cy="245" r="3" fill="#9c27b0" stroke="#6a1b9a" stroke-width="1" />
    <circle cx="220" cy="255" r="3" fill="#9c27b0" stroke="#6a1b9a" stroke-width="1" />
    <circle cx="235" cy="255" r="3" fill="#9c27b0" stroke="#6a1b9a" stroke-width="1" />
    
    <!-- Tentacle 7 -->
    <circle cx="205" cy="230" r="3" fill="#9c27b0" stroke="#6a1b9a" stroke-width="1" />
    <circle cx="220" cy="235" r="3" fill="#9c27b0" stroke="#6a1b9a" stroke-width="1" />
    <circle cx="230" cy="235" r="3" fill="#9c27b0" stroke="#6a1b9a" stroke-width="1" />
    
    <!-- Tentacle 8 -->
    <circle cx="190" cy="215" r="3" fill="#9c27b0" stroke="#6a1b9a" stroke-width="1" />
    <circle cx="205" cy="205" r="3" fill="#9c27b0" stroke="#6a1b9a" stroke-width="1" />
    <circle cx="215" cy="195" r="3" fill="#9c27b0" stroke="#6a1b9a" stroke-width="1" />
    
    <!-- Octopus head -->
    <ellipse cx="150" cy="210" rx="40" ry="45" fill="url(#octopusGradient)" />
    
    <!-- Subtle pattern on the octopus body -->
    <path d="M130 180 C140 190, 160 190, 170 180" fill="none" stroke="#9c27b033" stroke-width="5" />
    <path d="M125 200 C135 210, 165 210, 175 200" fill="none" stroke="#9c27b033" stroke-width="5" />
    <path d="M130 220 C140 230, 160 230, 170 220" fill="none" stroke="#9c27b033" stroke-width="5" />
    
    <!-- Octopus eyes -->
    <ellipse cx="135" cy="195" rx="8" ry="9" fill="white" />
    <ellipse cx="165" cy="195" rx="8" ry="9" fill="white" />
    
    <!-- Pupils - looking up at juggled planets -->
    <circle cx="135" cy="193" r="4" fill="black" />
    <circle cx="165" cy="193" r="4" fill="black" />
    
    <!-- Eye highlights -->
    <circle cx="137" cy="191" r="1.5" fill="white" />
    <circle cx="167" cy="191" r="1.5" fill="white" />
    
    <!-- Delighted smile -->
    <path d="M135 220 Q150 232 165 220" fill="none" stroke="#5d1283" stroke-width="2" />
    
    <!-- Blush - excited about juggling -->
    <circle cx="125" cy="210" r="5" fill="#d81b6022" />
    <circle cx="175" cy="210" r="5" fill="#d81b6022" />
    
    <!-- Concentration/surprise lines above eyes -->
    <path d="M130 185 L125 180" stroke="#5d1283" stroke-width="1.5" />
    <path d="M140 185 L145 180" stroke="#5d1283" stroke-width="1.5" />
    <path d="M160 185 L155 180" stroke="#5d1283" stroke-width="1.5" />
    <path d="M170 185 L175 180" stroke="#5d1283" stroke-width="1.5" />
    
    <!-- Top hat -->
    <g id="hat">
      <rect x="120" y="140" width="60" height="10" fill="#333" rx="2" />  <!-- Hat brim -->
      <rect x="125" y="115" width="50" height="25" fill="url(#hatGradient)" /> <!-- Hat body -->
      <rect x="125" y="115" width="50" height="5" fill="#000" /> <!-- Hat top rim -->
      <path d="M125 115 C130 105 170 105 175 115" fill="#444" /> <!-- Hat top curve -->
      <rect x="140" y="120" width="20" height="10" fill="#aa00ff" /> <!-- Hat band -->
      <!-- Hat decoration - star -->
      <circle cx="150" cy="125" r="3" fill="#ffd700" />
      <path d="M150 122 L151 124.5 L153.5 125 L151 125.5 L150 128 L149 125.5 L146.5 125 L149 124.5 Z" fill="#ffffff" />
    </g>
    
    <!-- "Magic" sparkles around the top hat -->
    <circle cx="125" cy="120" r="2" fill="#fffde7" filter="url(#starGlow)" />
    <circle cx="175" cy="125" r="1.5" fill="#fffde7" filter="url(#starGlow)" />
    <circle cx="150" cy="105" r="2" fill="#fffde7" filter="url(#starGlow)" />
    <circle cx="130" cy="135" r="1" fill="#fffde7" filter="url(#starGlow)" />
    <circle cx="170" cy="138" r="1.2" fill="#fffde7" filter="url(#starGlow)" />
  </g>
  
  <!-- Foreground cosmic dust swirls -->
  <path d="M40 280 C50 275, 45 265, 35 270 C25 275, 30 285, 40 280 Z" fill="#9c27b022" />
  <path d="M250 260 C260 255, 255 245, 245 250 C235 255, 240 265, 250 260 Z" fill="#4fc3f722" />
  <path d="M230 50 C240 45, 235 35, 225 40 C215 45, 220 55, 230 50 Z" fill="#ffeb3b22" />
  
  <!-- Front stars for depth -->
  <g id="frontStars">
    <circle cx="280" cy="280" r="1" fill="white" filter="url(#starGlow)" />
    <circle cx="40" cy="240" r="1.2" fill="white" filter="url(#starGlow)" />
    <circle cx="260" cy="210" r="1" fill="white" filter="url(#starGlow)" />
    <circle cx="20" cy="190" r="0.8" fill="white" filter="url(#starGlow)" />
  </g>
</svg>
SVG by o3-mini low (2025-01-31)
<svg viewBox="0 0 300 300" xmlns="http://www.w3.org/2000/svg">
  <!-- Background: Starry Sky -->
  <rect width="300" height="300" fill="black" />
  <defs>
    <!-- Gradient for planets -->
    <radialGradient id="planetGrad" cx="50%" cy="50%" r="50%">
      <stop offset="0%" stop-color="#ffcc00" />
      <stop offset="100%" stop-color="#ff6600" />
    </radialGradient>
    <!-- Gradient for top hat -->
    <linearGradient id="hatGrad" x1="0%" y1="0%" x2="100%" y2="0%">
      <stop offset="0%" stop-color="#333333" />
      <stop offset="100%" stop-color="#111111" />
    </linearGradient>
    <!-- Pattern for octopus skin -->
    <pattern id="octoPattern" patternUnits="userSpaceOnUse" width="10" height="10">
      <rect width="10" height="10" fill="#663399" />
      <circle cx="5" cy="5" r="3" fill="#8a2be2" />
    </pattern>
  </defs>
  
  <!-- Stars -->
  <g id="stars">
    <circle cx="20" cy="30" r="1.2" fill="white" />
    <circle cx="50" cy="80" r="1" fill="white" />
    <circle cx="100" cy="20" r="0.8" fill="white" />
    <circle cx="150" cy="60" r="1" fill="white" />
    <circle cx="220" cy="40" r="1.5" fill="white" />
    <circle cx="270" cy="70" r="1" fill="white" />
    <circle cx="80" cy="150" r="1.2" fill="white" />
    <circle cx="200" cy="100" r="1" fill="white" />
    <circle cx="260" cy="150" r="1" fill="white" />
    <circle cx="40" cy="220" r="1.2" fill="white" />
    <circle cx="120" cy="260" r="1" fill="white" />
    <circle cx="180" cy="240" r="1" fill="white" />
    <circle cx="250" cy="230" r="1.2" fill="white" />
  </g>
  
  <!-- Planets being juggled -->
  <g id="planets">
    <circle cx="80" cy="100" r="12" fill="url(#planetGrad)" stroke="white" stroke-width="1" />
    <circle cx="150" cy="70" r="10" fill="#00ccff" stroke="white" stroke-width="1" />
    <circle cx="220" cy="110" r="14" fill="#66ff66" stroke="white" stroke-width="1" />
  </g>
  
  <!-- Juggling motion arcs -->
  <path d="M80,100 Q115,20 150,70" fill="none" stroke="white" stroke-dasharray="3,3" stroke-width="1" />
  <path d="M150,70 Q185,20 220,110" fill="none" stroke="white" stroke-dasharray="3,3" stroke-width="1" />
  
  <!-- Octopus Body -->
  <g id="octopus">
    <!-- Head -->
    <ellipse cx="150" cy="180" rx="30" ry="20" fill="url(#octoPattern)" stroke="#4b0082" stroke-width="2" />
    <!-- Eyes -->
    <circle cx="142" cy="175" r="3" fill="white" />
    <circle cx="158" cy="175" r="3" fill="white" />
    <circle cx="142" cy="175" r="1.5" fill="black" />
    <circle cx="158" cy="175" r="1.5" fill="black" />
    
    <!-- Tentacles -->
    <g id="tentacles" stroke="#4b0082" stroke-width="2" fill="none">
      <path d="M130,190 C110,220 110,250 130,270" />
      <path d="M140,195 C120,225 120,255 140,275" />
      <path d="M150,195 C140,225 135,265 150,280" />
      <path d="M160,195 C170,225 175,265 160,280" />
      <path d="M170,190 C190,220 190,250 170,270" />
      <!-- Extra curvy tentacle to show juggling movement -->
      <path d="M150,180 C100,150 90,100 80,100" stroke-dasharray="4,2" />
    </g>
    
    <!-- Top Hat -->
    <g id="topHat">
      <!-- Hat brim -->
      <rect x="135" y="150" width="30" height="5" fill="url(#hatGrad)" />
      <!-- Hat main body -->
      <rect x="140" y="100" width="20" height="50" fill="url(#hatGrad)" />
      <!-- Decorative band -->
      <rect x="140" y="120" width="20" height="5" fill="#ffd700" />
    </g>
  </g>
</svg>
GPT-4o
Judge & Evaluator
The winner of this SVG challenge is Claude 3.7 Sonnet Thinking (2025-02-19) Player 1

Judge's Analysis

    Player 1's submission is more colorful and dynamic, effectively capturing the idea of an octopus juggling multiple planets under a starry sky.

    The use of vibrant colors and varied planet designs adds creativity and visual appeal.

    In contrast, Player 2's image, while technically clean, is simpler and less visually engaging, with fewer elements and less emphasis on the juggling aspect.

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

Total Shapes

The total number of shape elements (rect, circle, ellipse, line, polygon, polyline, path) in the SVG.

Player 1
152
Player 2
35
Rectangles

The number of rectangle elements (rect) in the SVG.

Player 1
5
Player 2
5
Circles

The number of circle elements (circle) in the SVG.

Player 1
97
Player 2
21
Ellipses

The number of ellipse elements (ellipse) in the SVG.

Player 1
13
Player 2
1
Lines

The number of line elements (line) in the SVG.

Player 1
3
Player 2
Polygons

The number of polygon elements (polygon) in the SVG.

Player 1
Player 2
Paths

The number of path elements (path) in the SVG.

Player 1
34
Player 2
8
Groups

The number of group elements (g) in the SVG.

Player 1
11
Player 2
5

Visual Effects Metrics

Gradients

The number of gradient definitions (linearGradient, radialGradient) in the SVG.

Player 1
11
Player 2
2
Patterns

The number of pattern definitions (pattern) in the SVG.

Player 1
Player 2
1
Filters

The number of filter definitions (filter) in the SVG.

Player 1
3
Player 2
Masks

The number of mask definitions (mask) in the SVG.

Player 1
Player 2
Clip Paths

The number of clipping path definitions (clipPath) in the SVG.

Player 1
Player 2
Elements with Opacity

The number of elements with opacity attributes in the SVG.

Player 1
2
Player 2
Elements with Stroke

The number of elements with stroke attributes in the SVG.

Player 1
51
Player 2
7

Colors Metrics

Unique Colors

The number of unique colors used in the SVG.

Player 1
30
Player 2
12

Interactivity Metrics

Animations

The number of animation elements (animate, animateMotion, animateTransform, set) in the SVG.

Player 1
Player 2
Elements with Transform

The number of elements with transform attributes in the SVG.

Player 1
13
Player 2

Complexity Metrics

Path Commands

The total number of path commands in all path elements (M, L, C, Q, etc.) in the SVG.

Player 1
84
Player 2
16
Max Group Nesting

The maximum nesting level of group elements (g) in the SVG.

Player 1
1
Player 2
1
Defs Elements

The number of elements defined within the defs element in the SVG.

Player 1
14
Player 2
3
Use Elements

The number of use elements (use) in the SVG.

Player 1
Player 2

Text Metrics

Text Elements

The number of text elements (text) in the SVG.

Player 1
Player 2

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