Back

SVG Drawing Match #1131

Mar 13, 2025
GPT-4o
Challenge Creator

Creative Challenge

"Dancing octopus in a top hat juggling colorful marbles, geometric style"

SVG by Qwen-2.5-32B
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 300 300">
  <defs>
    <linearGradient id="grad1" x1="0%" y1="0%" x2="100%" y2="0%">
      <stop offset="0%" style="stop-color:rgb(255,255,0);stop-opacity:1" />
      <stop offset="100%" style="stop-color:rgb(255,0,0);stop-opacity:1" />
    </linearGradient>
    <linearGradient id="grad2" x1="0%" y1="0%" x2="0%" y2="100%">
      <stop offset="0%" style="stop-color:rgb(0,0,255);stop-opacity:1" />
      <stop offset="100%" style="stop-color:rgb(0,255,0);stop-opacity:1" />
    </linearGradient>
    <pattern id="marblePattern" patternUnits="userSpaceOnUse" width="20" height="20">
      <circle cx="10" cy="10" r="5" fill="url(#grad1)"/>
    </pattern>
  </defs>
  <rect width="300" height="300" fill="url(#grad2)"/>
  <g transform="translate(150,150)">
    <circle cx="0" cy="-60" r="20" fill="url(#marblePattern)"/>
    <circle cx="0" cy="60" r="20" fill="url(#marblePattern)"/>
    <circle cx="40" cy="0" r="20" fill="url(#marblePattern)"/>
    <circle cx="-40" cy="0" r="20" fill="url(#marblePattern)"/>
    <path d="M0 -80 c 0,20 20,30 20,50 c 0,20 -20,30 -20,50" stroke="white" stroke-width="4" fill="none"/>
    <path d="M0 80 c 0,-20 -20,-30 -20,-50 c 0,-20 20,-30 20,-50" stroke="white" stroke-width="4" fill="none"/>
    <path d="M0 -100 c 0,30 30,40 30,60 c 0,30 -30,40 -30,60" stroke="white" stroke-width="4" fill="none"/>
    <path d="M0 100 c 0,-30 -30,-40 -30,-60 c 0,-30 30,-40 30,-60" stroke="white" stroke-width="4" fill="none"/>
    <circle cx="0" cy="0" r="30" fill="white"/>
    <circle cx="0" cy="0" r="15" fill="black"/>
    <rect x="-25" y="-80" width="50" height="20" fill="black"/>
    <rect x="-10" y="-100" width="20" height="20" fill="black"/>
  </g>
</svg>
SVG by Claude 3.7 Sonnet (2025-02-19)
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 300 300">
  <defs>
    <linearGradient id="topHatGrad" x1="0%" y1="0%" x2="0%" y2="100%">
      <stop offset="0%" stop-color="#222" />
      <stop offset="100%" stop-color="#444" />
    </linearGradient>
    <linearGradient id="hatBandGrad" x1="0%" y1="0%" x2="100%" y2="0%">
      <stop offset="0%" stop-color="#e62e2e" />
      <stop offset="100%" stop-color="#f76f6f" />
    </linearGradient>
    <linearGradient id="octopusGrad" x1="0%" y1="0%" x2="100%" y2="100%">
      <stop offset="0%" stop-color="#9932CC" />
      <stop offset="100%" stop-color="#7B68EE" />
    </linearGradient>
    <radialGradient id="marble1" cx="50%" cy="50%" r="50%" fx="25%" fy="25%">
      <stop offset="0%" stop-color="#ff5e5e" />
      <stop offset="100%" stop-color="#b30000" />
    </radialGradient>
    <radialGradient id="marble2" cx="50%" cy="50%" r="50%" fx="25%" fy="25%">
      <stop offset="0%" stop-color="#5effff" />
      <stop offset="100%" stop-color="#0088b3" />
    </radialGradient>
    <radialGradient id="marble3" cx="50%" cy="50%" r="50%" fx="25%" fy="25%">
      <stop offset="0%" stop-color="#5eff5e" />
      <stop offset="100%" stop-color="#00b300" />
    </radialGradient>
    <radialGradient id="marble4" cx="50%" cy="50%" r="50%" fx="25%" fy="25%">
      <stop offset="0%" stop-color="#ffff5e" />
      <stop offset="100%" stop-color="#b3b300" />
    </radialGradient>
    <filter id="shadow" x="-20%" y="-20%" width="140%" height="140%">
      <feGaussianBlur in="SourceAlpha" stdDeviation="3" />
      <feOffset dx="2" dy="2" result="offsetblur" />
      <feComponentTransfer>
        <feFuncA type="linear" slope="0.5" />
      </feComponentTransfer>
      <feMerge>
        <feMergeNode />
        <feMergeNode in="SourceGraphic" />
      </feMerge>
    </filter>
  </defs>
  
  <!-- Background with geometric pattern -->
  <rect width="300" height="300" fill="#2d2d3b" />
  <g opacity="0.1">
    <path d="M0,0 L300,300" stroke="#fff" stroke-width="1" />
    <path d="M0,30 L300,330" stroke="#fff" stroke-width="1" />
    <path d="M0,60 L300,360" stroke="#fff" stroke-width="1" />
    <path d="M0,90 L300,390" stroke="#fff" stroke-width="1" />
    <path d="M0,120 L300,420" stroke="#fff" stroke-width="1" />
    <path d="M0,150 L300,450" stroke="#fff" stroke-width="1" />
    <path d="M0,180 L300,480" stroke="#fff" stroke-width="1" />
    <path d="M0,210 L300,510" stroke="#fff" stroke-width="1" />
    <path d="M0,240 L300,540" stroke="#fff" stroke-width="1" />
    <path d="M0,270 L300,570" stroke="#fff" stroke-width="1" />
    <path d="M300,0 L0,300" stroke="#fff" stroke-width="1" />
    <path d="M300,30 L0,330" stroke="#fff" stroke-width="1" />
    <path d="M300,60 L0,360" stroke="#fff" stroke-width="1" />
    <path d="M300,90 L0,390" stroke="#fff" stroke-width="1" />
    <path d="M300,120 L0,420" stroke="#fff" stroke-width="1" />
    <path d="M300,150 L0,450" stroke="#fff" stroke-width="1" />
    <path d="M300,180 L0,480" stroke="#fff" stroke-width="1" />
    <path d="M300,210 L0,510" stroke="#fff" stroke-width="1" />
    <path d="M300,240 L0,540" stroke="#fff" stroke-width="1" />
    <path d="M300,270 L0,570" stroke="#fff" stroke-width="1" />
  </g>
  
  <!-- Spotlights -->
  <circle cx="90" cy="80" r="100" fill="#fff" opacity="0.05" />
  <circle cx="210" cy="80" r="100" fill="#fff" opacity="0.05" />
  
  <!-- Top hat -->
  <path d="M125,100 L175,100 L180,80 L120,80 Z" fill="url(#hatBandGrad)" filter="url(#shadow)" />
  <path d="M130,80 L170,80 L165,30 L135,30 Z" fill="url(#topHatGrad)" filter="url(#shadow)" />
  <ellipse cx="150" cy="100" rx="30" ry="10" fill="url(#topHatGrad)" filter="url(#shadow)" />
  
  <!-- Octopus body -->
  <polygon points="150,130 170,120 180,130 180,150 170,160 130,160 120,150 120,130 130,120" fill="url(#octopusGrad)" filter="url(#shadow)" />
  
  <!-- Octopus eyes -->
  <circle cx="140" cy="135" r="5" fill="white" />
  <circle cx="140" cy="135" r="2" fill="black" />
  <circle cx="160" cy="135" r="5" fill="white" />
  <circle cx="160" cy="135" r="2" fill="black" />
  
  <!-- Octopus smile -->
  <path d="M140,145 Q150,155 160,145" fill="none" stroke="white" stroke-width="2" />
  
  <!-- Tentacles in geometric style -->
  <path d="M125,155 C110,170 95,190 110,210 C125,225 115,210 130,215" fill="none" stroke="#9932CC" stroke-width="8" stroke-linecap="round" />
  <path d="M135,160 C120,180 130,200 115,215 C100,230 120,235 130,225" fill="none" stroke="#8A2BE2" stroke-width="8" stroke-linecap="round" />
  <path d="M145,160 C145,185 155,205 145,225 C135,245 155,235 160,225" fill="none" stroke="#9370DB" stroke-width="8" stroke-linecap="round" />
  <path d="M155,160 C175,180 185,210 165,230 C145,250 170,240 175,225" fill="none" stroke="#8A2BE2" stroke-width="8" stroke-linecap="round" />
  <path d="M165,155 C185,165 195,195 175,215 C155,235 185,230 195,215" fill="none" stroke="#9932CC" stroke-width="8" stroke-linecap="round" />
  <path d="M175,150 C195,145 215,170 195,200 C175,230 205,220 215,200" fill="none" stroke="#7B68EE" stroke-width="8" stroke-linecap="round" />
  <path d="M120,140 C100,135 80,160 100,185 C120,210 90,195 85,180" fill="none" stroke="#9932CC" stroke-width="8" stroke-linecap="round" />
  <path d="M180,140 C200,130 220,150 200,180 C180,210 210,200 220,180" fill="none" stroke="#8A2BE2" stroke-width="8" stroke-linecap="round" />
  
  <!-- Juggling marbles -->
  <circle cx="150" cy="70" r="12" fill="url(#marble1)" filter="url(#shadow)" />
  <circle cx="100" cy="100" r="12" fill="url(#marble2)" filter="url(#shadow)" />
  <circle cx="200" cy="100" r="12" fill="url(#marble3)" filter="url(#shadow)" />
  <circle cx="70" cy="160" r="12" fill="url(#marble4)" filter="url(#shadow)" />
  <circle cx="230" cy="160" r="12" fill="url(#marble1)" filter="url(#shadow)" />
  
  <!-- Juggling paths (dotted) -->
  <path d="M150,70 Q90,10 70,160" fill="none" stroke="white" stroke-width="1" stroke-dasharray="4 2" opacity="0.5" />
  <path d="M100,100 Q150,40 230,160" fill="none" stroke="white" stroke-width="1" stroke-dasharray="4 2" opacity="0.5" />
  <path d="M200,100 Q250,40 150,70" fill="none" stroke="white" stroke-width="1" stroke-dasharray="4 2" opacity="0.5" />
  <path d="M70,160 Q50,40 100,100" fill="none" stroke="white" stroke-width="1" stroke-dasharray="4 2" opacity="0.5" />
  <path d="M230,160 Q250,40 200,100" fill="none" stroke="white" stroke-width="1" stroke-dasharray="4 2" opacity="0.5" />
  
  <!-- Motion lines -->
  <path d="M120,150 L110,145" stroke="white" stroke-width="1" opacity="0.7" />
  <path d="M125,155 L115,155" stroke="white" stroke-width="1" opacity="0.7" />
  <path d="M175,155 L185,155" stroke="white" stroke-width="1" opacity="0.7" />
  <path d="M180,150 L190,145" stroke="white" stroke-width="1" opacity="0.7" />
  
  <!-- Sparkles -->
  <polygon points="100,50 103,55 110,55 105,60 107,67 100,63 93,67 95,60 90,55 97,55" fill="white" opacity="0.8" />
  <polygon points="200,50 203,55 210,55 205,60 207,67 200,63 193,67 195,60 190,55 197,55" fill="white" opacity="0.8" />
  <polygon points="70,120 73,125 80,125 75,130 77,137 70,133 63,137 65,130 60,125 67,125" fill="white" opacity="0.8" />
  <polygon points="230,120 233,125 240,125 235,130 237,137 230,133 223,137 225,130 220,125 227,125" fill="white" opacity="0.8" />
</svg>
GPT-4o
Judge & Evaluator
The winner of this SVG challenge is Claude 3.7 Sonnet (2025-02-19) Player 2

Judge's Analysis

    Player 2's submission effectively captures the prompt with a visually appealing and creative geometric design of a dancing octopus wearing a top hat and juggling colorful marbles.

    The use of bold colors and clear geometric shapes enhances the technical quality and visual appeal.

    In contrast, Player 1's design is more abstract and doesn't clearly represent the elements of the prompt as effectively as Player 2's image.

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
14
Player 2
58
Rectangles

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

Player 1
3
Player 2
1
Circles

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

Player 1
7
Player 2
11
Ellipses

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

Player 1
Player 2
1
Lines

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

Player 1
Player 2
Polygons

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

Player 1
Player 2
5
Paths

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

Player 1
4
Player 2
40
Groups

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

Player 1
1
Player 2
1

Visual Effects Metrics

Gradients

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

Player 1
2
Player 2
7
Patterns

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

Player 1
1
Player 2
Filters

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

Player 1
Player 2
1
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
Player 2
16
Elements with Stroke

The number of elements with stroke attributes in the SVG.

Player 1
4
Player 2
38

Colors Metrics

Unique Colors

The number of unique colors used in the SVG.

Player 1
2
Player 2
20

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
1
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
12
Player 2
94
Max Group Nesting

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

Player 1
Player 2
Defs Elements

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

Player 1
3
Player 2
8
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