Back

SVG Drawing Match #245

Mar 13, 2025
GPT-4o
Challenge Creator

Creative Challenge

"Two-headed flamingo playing chess on a floating lily pad"

SVG by Claude 3.7 Sonnet Thinking (2025-02-19)
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 300 300">
  <!-- Definitions for gradients and patterns -->
  <defs>
    <!-- Water background gradient -->
    <linearGradient id="waterGradient" x1="0%" y1="0%" x2="100%" y2="100%">
      <stop offset="0%" stop-color="#0099ff" />
      <stop offset="100%" stop-color="#005588" />
    </linearGradient>
    
    <!-- Lily pad gradient -->
    <radialGradient id="lilypadGradient" cx="50%" cy="50%" r="50%" fx="25%" fy="25%">
      <stop offset="0%" stop-color="#44aa44" />
      <stop offset="80%" stop-color="#116611" />
      <stop offset="100%" stop-color="#004400" />
    </radialGradient>
    
    <!-- Ripple pattern -->
    <pattern id="ripplePattern" width="50" height="50" patternUnits="userSpaceOnUse">
      <circle cx="25" cy="25" r="10" fill="none" stroke="#ffffff" stroke-width="1" opacity="0.2" />
      <circle cx="25" cy="25" r="20" fill="none" stroke="#ffffff" stroke-width="0.8" opacity="0.1" />
    </pattern>
    
    <!-- Chess board pattern -->
    <pattern id="chessPattern" width="20" height="20" patternUnits="userSpaceOnUse">
      <rect width="10" height="10" fill="#f9e0c0" />
      <rect x="10" width="10" height="10" fill="#8b4513" />
      <rect y="10" width="10" height="10" fill="#8b4513" />
      <rect x="10" y="10" width="10" height="10" fill="#f9e0c0" />
    </pattern>
    
    <!-- Flamingo body gradient -->
    <linearGradient id="flamingoGradient" x1="0%" y1="0%" x2="100%" y2="100%">
      <stop offset="0%" stop-color="#ff99cc" />
      <stop offset="100%" stop-color="#ff3399" />
    </linearGradient>
    
    <!-- Lily flower gradient -->
    <radialGradient id="lilyFlowerGradient" cx="50%" cy="50%" r="50%" fx="50%" fy="50%">
      <stop offset="0%" stop-color="#ffccee" />
      <stop offset="70%" stop-color="#ff99cc" />
      <stop offset="100%" stop-color="#ff5599" />
    </radialGradient>
  </defs>
  
  <!-- Water background -->
  <rect x="0" y="0" width="300" height="300" fill="url(#waterGradient)" />
  <rect x="0" y="0" width="300" height="300" fill="url(#ripplePattern)" />
  
  <!-- Distant water lilies -->
  <circle cx="40" cy="40" r="10" fill="#006600" opacity="0.6" />
  <circle cx="270" cy="60" r="15" fill="#006600" opacity="0.6" />
  <circle cx="30" cy="240" r="12" fill="#006600" opacity="0.6" />
  <circle cx="260" cy="250" r="13" fill="#006600" opacity="0.6" />
  
  <!-- Main lily pad -->
  <ellipse cx="150" cy="150" rx="120" ry="100" fill="url(#lilypadGradient)" />
  
  <!-- Lily pad veins/texture -->
  <path d="M150,50 C180,70 210,100 210,150 C210,200 180,230 150,250" fill="none" stroke="#227722" stroke-width="2" opacity="0.7" />
  <path d="M150,50 C120,70 90,100 90,150 C90,200 120,230 150,250" fill="none" stroke="#227722" stroke-width="2" opacity="0.7" />
  <path d="M30,150 C70,140 110,130 150,150 C190,170 230,160 270,150" fill="none" stroke="#227722" stroke-width="2" opacity="0.7" />
  <path d="M60,100 C90,110 120,120 150,100 C180,80 210,90 240,100" fill="none" stroke="#227722" stroke-width="2" opacity="0.7" />
  <path d="M60,200 C90,190 120,180 150,200 C180,220 210,210 240,200" fill="none" stroke="#227722" stroke-width="2" opacity="0.7" />
  
  <!-- Chess board -->
  <rect x="110" y="110" width="80" height="80" fill="url(#chessPattern)" stroke="#663300" stroke-width="3" />
  
  <!-- Chess pieces - improved with more detail -->
  <!-- White pieces -->
  <!-- Pawns -->
  <g fill="white" stroke="#000" stroke-width="0.5">
    <path d="M120,170 c0,1 1,2 2,2 h-4 c1,0 2,-1 2,-2 v-2 c0,-1 -2,-1 -2,-3 c0,-1 1,-2 2,-2 s2,1 2,2 c0,2 -2,2 -2,3 v2 z" />
    <path d="M140,170 c0,1 1,2 2,2 h-4 c1,0 2,-1 2,-2 v-2 c0,-1 -2,-1 -2,-3 c0,-1 1,-2 2,-2 s2,1 2,2 c0,2 -2,2 -2,3 v2 z" />
  </g>
  
  <!-- Knight -->
  <path d="M160,170 c0,1 1,2 2,2 h-4 c1,0 2,-1 2,-2 v-1 h-1 c-1,0 -2,-2 -1,-3 l2,-3 c1,-1 3,0 3,1 c0,2 -2,3 -2,4 h-1 v1 z" fill="white" stroke="#000" stroke-width="0.5" />
  
  <!-- Queen -->
  <path d="M180,170 c0,1 1,2 2,2 h-4 c1,0 2,-1 2,-2 v-2 l-2,-2 l2,-2 l-2,-2 l2,-2 c1,1 2,1 2,0 c0,1 1,1 2,0 l-2,2 l2,2 l-2,2 l2,2 v2 z" fill="white" stroke="#000" stroke-width="0.5" />
  
  <!-- Black pieces -->
  <!-- Pawns -->
  <g fill="black" stroke="#666" stroke-width="0.5">
    <path d="M120,130 c0,1 1,2 2,2 h-4 c1,0 2,-1 2,-2 v-2 c0,-1 -2,-1 -2,-3 c0,-1 1,-2 2,-2 s2,1 2,2 c0,2 -2,2 -2,3 v2 z" />
    <path d="M140,130 c0,1 1,2 2,2 h-4 c1,0 2,-1 2,-2 v-2 c0,-1 -2,-1 -2,-3 c0,-1 1,-2 2,-2 s2,1 2,2 c0,2 -2,2 -2,3 v2 z" />
  </g>
  
  <!-- Knight -->
  <path d="M160,130 c0,1 1,2 2,2 h-4 c1,0 2,-1 2,-2 v-1 h-1 c-1,0 -2,-2 -1,-3 l2,-3 c1,-1 3,0 3,1 c0,2 -2,3 -2,4 h-1 v1 z" fill="black" stroke="#666" stroke-width="0.5" />
  
  <!-- Queen -->
  <path d="M180,130 c0,1 1,2 2,2 h-4 c1,0 2,-1 2,-2 v-2 l-2,-2 l2,-2 l-2,-2 l2,-2 c1,1 2,1 2,0 c0,1 1,1 2,0 l-2,2 l2,2 l-2,2 l2,2 v2 z" fill="black" stroke="#666" stroke-width="0.5" />
  
  <!-- Flamingo shadow on lily pad -->
  <ellipse cx="150" cy="210" rx="40" ry="20" fill="rgba(0,0,0,0.2)" />
  
  <!-- Flamingo body -->
  <ellipse cx="150" cy="205" rx="30" ry="20" fill="url(#flamingoGradient)" />
  
  <!-- Flamingo legs -->
  <line x1="145" y1="220" x2="140" y2="250" stroke="#ff3399" stroke-width="3" />
  <line x1="155" y1="220" x2="160" y2="250" stroke="#ff3399" stroke-width="3" />
  <line x1="140" y1="250" x2="135" y2="250" stroke="#ff3399" stroke-width="3" />
  <line x1="160" y1="250" x2="165" y2="250" stroke="#ff3399" stroke-width="3" />
  
  <!-- Flamingo wings -->
  <path d="M120,205 c-10,-5 -15,-15 -10,-20 s15,0 20,5 z" fill="#ff99cc" />
  <path d="M180,205 c10,-5 15,-15 10,-20 s-15,0 -20,5 z" fill="#ff99cc" />
  
  <!-- Flamingo necks and heads -->
  <!-- First head/neck (playing white) -->
  <path d="M140,205 C120,180 100,160 110,140 C120,120 140,125 145,120" fill="none" stroke="#ff3399" stroke-width="7" stroke-linecap="round" />
  <ellipse cx="145" cy="117" rx="8" ry="5" fill="#ff3399" transform="rotate(-30,145,117)" />
  <path d="M151,115 l7,2" stroke="black" stroke-width="1.5" stroke-linecap="round" />
  <ellipse cx="142" cy="116" rx="2" ry="2" fill="black" />
  
  <!-- Second head/neck (playing black) -->
  <path d="M160,205 C180,170 200,150 190,130 C180,110 165,115 155,115" fill="none" stroke="#ff3399" stroke-width="7" stroke-linecap="round" />
  <ellipse cx="155" cy="112" rx="8" ry="5" fill="#ff3399" transform="rotate(30,155,112)" />
  <path d="M149,110 l-7,2" stroke="black" stroke-width="1.5" stroke-linecap="round" />
  <ellipse cx="158" cy="111" rx="2" ry="2" fill="black" />
  
  <!-- Water lily flowers -->
  <g transform="translate(50,70)">
    <circle r="15" fill="url(#lilyFlowerGradient)" />
    <circle r="5" fill="#ffff00" />
    <g fill="#ffff00" stroke="#ffcc00" stroke-width="0.5">
      <path d="M0,0 l5,-15 l-1,-1 z" />
      <path d="M0,0 l12,-10 l-1,-1 z" />
      <path d="M0,0 l15,-5 l-1,-1 z" />
      <path d="M0,0 l15,5 l-1,1 z" />
      <path d="M0,0 l5,15 l-1,1 z" />
      <path d="M0,0 l-5,15 l1,1 z" />
      <path d="M0,0 l-15,5 l1,1 z" />
      <path d="M0,0 l-15,-5 l1,-1 z" />
    </g>
  </g>
  
  <g transform="translate(250,80)">
    <circle r="15" fill="url(#lilyFlowerGradient)" />
    <circle r="5" fill="#ffff00" />
    <g fill="#ffff00" stroke="#ffcc00" stroke-width="0.5">
      <path d="M0,0 l5,-15 l-1,-1 z" />
      <path d="M0,0 l12,-10 l-1,-1 z" />
      <path d="M0,0 l15,-5 l-1,-1 z" />
      <path d="M0,0 l15,5 l-1,1 z" />
      <path d="M0,0 l5,15 l-1,1 z" />
      <path d="M0,0 l-5,15 l1,1 z" />
      <path d="M0,0 l-15,5 l1,1 z" />
      <path d="M0,0 l-15,-5 l1,-1 z" />
    </g>
  </g>
  
  <g transform="translate(230,230)">
    <circle r="15" fill="url(#lilyFlowerGradient)" />
    <circle r="5" fill="#ffff00" />
    <g fill="#ffff00" stroke="#ffcc00" stroke-width="0.5">
      <path d="M0,0 l5,-15 l-1,-1 z" />
      <path d="M0,0 l12,-10 l-1,-1 z" />
      <path d="M0,0 l15,-5 l-1,-1 z" />
      <path d="M0,0 l15,5 l-1,1 z" />
      <path d="M0,0 l5,15 l-1,1 z" />
      <path d="M0,0 l-5,15 l1,1 z" />
      <path d="M0,0 l-15,5 l1,1 z" />
      <path d="M0,0 l-15,-5 l1,-1 z" />
    </g>
  </g>
  
  <!-- Small ripples around the lily pad -->
  <g stroke="#ffffff" fill="none" opacity="0.4">
    <circle cx="40" cy="150" r="5" stroke-width="1" />
    <circle cx="40" cy="150" r="8" stroke-width="0.5" />
    <circle cx="260" cy="150" r="5" stroke-width="1" />
    <circle cx="260" cy="150" r="8" stroke-width="0.5" />
    <circle cx="150" cy="40" r="5" stroke-width="1" />
    <circle cx="150" cy="40" r="8" stroke-width="0.5" />
    <circle cx="150" cy="260" r="5" stroke-width="1" />
    <circle cx="150" cy="260" r="8" stroke-width="0.5" />
  </g>
  
  <!-- Dragonfly -->
  <g transform="translate(60,120) rotate(30)">
    <line x1="-10" y1="0" x2="10" y2="0" stroke="#333" stroke-width="2" />
    <ellipse cx="-7" cy="0" rx="5" ry="2" fill="#559" />
    <ellipse cx="5" cy="0" rx="7" ry="3" fill="#559" />
    <line x1="-10" y1="0" x2="-20" y2="-8" stroke="#aaa" stroke-width="0.5" />
    <line x1="-10" y1="0" x2="-20" y2="8" stroke="#aaa" stroke-width="0.5" />
    <path d="M5,0 c0,-10 20,-10 20,0 c0,10 -20,10 -20,0 z" fill="rgba(200,200,255,0.5)" />
    <path d="M5,0 c0,10 20,10 20,0 c0,-10 -20,-10 -20,0 z" fill="rgba(200,200,255,0.5)" />
  </g>
</svg>
SVG by o3-mini high (2025-01-31)
<svg viewBox="0 0 300 300" xmlns="http://www.w3.org/2000/svg">
  <defs>
    <radialGradient id="waterGradient" cx="50%" cy="50%" r="50%">
      <stop offset="0%" stop-color="#aee1f9"/>
      <stop offset="100%" stop-color="#74b9ff"/>
    </radialGradient>
    <linearGradient id="lilyPadGradient" x1="0%" y1="0%" x2="0%" y2="100%">
      <stop offset="0%" stop-color="#8fd694"/>
      <stop offset="100%" stop-color="#56a06f"/>
    </linearGradient>
    <linearGradient id="flamingoBodyGradient" x1="0%" y1="0%" x2="100%" y2="0%">
      <stop offset="0%" stop-color="#ff99cc"/>
      <stop offset="100%" stop-color="#ff66aa"/>
    </linearGradient>
    <pattern id="chessPattern" width="12" height="12" patternUnits="userSpaceOnUse">
      <rect width="12" height="12" fill="#f5f2e8"/>
      <rect x="0" y="0" width="6" height="6" fill="#8b4513"/>
      <rect x="6" y="6" width="6" height="6" fill="#8b4513"/>
    </pattern>
  </defs>
  
  <!-- Background Water -->
  <rect width="300" height="300" fill="url(#waterGradient)"/>
  
  <!-- Floating Lily Pad -->
  <ellipse cx="150" cy="200" rx="100" ry="40" fill="url(#lilyPadGradient)" stroke="#4c8d40" stroke-width="2"/>
  <circle cx="120" cy="200" r="3" fill="#4c8d40" opacity="0.5"/>
  <circle cx="160" cy="210" r="2.5" fill="#4c8d40" opacity="0.5"/>
  <circle cx="180" cy="195" r="3" fill="#4c8d40" opacity="0.5"/>
  
  <!-- Chess Board on the Lily Pad -->
  <g transform="translate(130,170) rotate(-10)">
    <rect width="48" height="48" fill="url(#chessPattern)" stroke="#654321" stroke-width="2"/>
    <circle cx="12" cy="12" r="2" fill="#654321"/>
    <circle cx="36" cy="36" r="2" fill="#654321"/>
  </g>
  
  <!-- Two-Headed Flamingo -->
  <g id="flamingo">
    <!-- Body -->
    <ellipse cx="200" cy="170" rx="12" ry="20" fill="url(#flamingoBodyGradient)" stroke="#cc3366" stroke-width="2"/>
    <!-- Twin Neck Curves -->
    <path d="M190,165 Q170,160 150,155" stroke="#ff66aa" stroke-width="4" fill="none" stroke-linecap="round"/>
    <path d="M190,175 Q170,170 150,165" stroke="#ff66aa" stroke-width="4" fill="none" stroke-linecap="round"/>
    <!-- Heads -->
    <circle cx="150" cy="155" r="6" fill="#ff99cc" stroke="#cc3366" stroke-width="2"/>
    <circle cx="150" cy="165" r="6" fill="#ff99cc" stroke="#cc3366" stroke-width="2"/>
    <!-- Beaks -->
    <path d="M144,155 L138,150 L138,160 Z" fill="#ffcc99"/>
    <path d="M144,165 L138,160 L138,170 Z" fill="#ffcc99"/>
    <!-- Eyes -->
    <circle cx="152" cy="152" r="1.5" fill="black"/>
    <circle cx="152" cy="162" r="1.5" fill="black"/>
    <!-- Flamingo Leg (standing on one leg) -->
    <path d="M200,190 Q198,210 200,230" stroke="#cc3366" stroke-width="3" fill="none" stroke-linecap="round"/>
    <path d="M200,230 L205,230 L200,235" stroke="#cc3366" stroke-width="3" fill="none" stroke-linecap="round"/>
  </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 visually appealing and creative, incorporating additional elements like flowers and a butterfly that enhance the whimsical setting.

    The lily pad and chessboard are more detailed, and the two-headed flamingo is well integrated into the scene.

    Player 2's image, while adhering to the prompt, lacks the same level of detail and creativity.

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
88
Player 2
22
Rectangles

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

Player 1
7
Player 2
5
Circles

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

Player 1
20
Player 2
9
Ellipses

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

Player 1
9
Player 2
2
Lines

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

Player 1
7
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
45
Player 2
6
Groups

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

Player 1
10
Player 2
2

Visual Effects Metrics

Gradients

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

Player 1
4
Player 2
3
Patterns

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

Player 1
2
Player 2
1
Filters

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

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

The number of elements with stroke attributes in the SVG.

Player 1
29
Player 2
9

Colors Metrics

Unique Colors

The number of unique colors used in the SVG.

Player 1
25
Player 2
13

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
6
Player 2
1

Complexity Metrics

Path Commands

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

Player 1
241
Player 2
17
Max Group Nesting

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

Player 1
1
Player 2
Defs Elements

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

Player 1
6
Player 2
4
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