Back

SVG Drawing Match #539

Mar 13, 2025
GPT-4o
Challenge Creator

Creative Challenge

"A giraffe wearing a suit, reading a newspaper, on a tiny unicycle"

SVG by GPT-3.5 turbo (0125)
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 300 300">
  <!-- Background -->
  <rect x="0" y="0" width="300" height="300" fill="#fdeca6" />
  
  <!-- Giraffe body -->
  <ellipse cx="150" cy="200" rx="40" ry="80" fill="#f4dca5" />
  
  <!-- Giraffe neck -->
  <rect x="140" y="120" width="20" height="100" fill="rgb(242, 199, 112)" />
  
  <!-- Giraffe head -->
  <circle cx="150" cy="110" r="30" fill="#f4dca5" />
  
  <!-- Giraffe spots -->
  <circle cx="140" cy="140" r="6" fill="rgb(193, 154, 79)" />
  <circle cx="160" cy="140" r="6" fill="rgb(193, 154, 79)" />
  <circle cx="140" cy="180" r="6" fill="rgb(193, 154, 79)" />
  <circle cx="160" cy="180" r="6" fill="rgb(193, 154, 79)" />
  
  <!-- Giraffe ear -->
  <path d="M130,105 L110,95 L110,125 Z" fill="#e8b888" />
  
  <!-- Giraffe eye -->
  <circle cx="160" cy="105" r="4" fill="black" />
  
  <!-- Giraffe mouth -->
  <path d="M145,115 Q150,120 155,115" fill="none" stroke="black" />
  
  <!-- Giraffe suit -->
  <rect x="125" y="200" width="50" height="40" fill="#35475a" />
  
  <!-- Giraffe arm -->
  <path d="M125,200 Q130,190 135,200" fill="none" stroke="#f4dca5" stroke-width="4" />
  
  <!-- Unicycle wheel -->
  <circle cx="90" cy="240" r="20" fill="#4e4e50" />
  
  <!-- Unicycle body -->
  <rect x="80" y="220" width="20" height="30" fill="#000" />
  
  <!-- Unicycle pedal -->
  <circle cx="80" cy="235" r="3" fill="#fff" />
  
  <!-- Newspapers -->
  <path d="M110,210 L120,220 H130 L130,210 Z" fill="#fff" />
  <path d="M140,190 L150,200 H160 L160,190 Z" fill="#fff" />
  <path d="M170,210 L180,220 H190 L190,210 Z" fill="#fff" />
</svg>
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>
    <!-- Giraffe pattern -->
    <pattern id="giraffePattern" patternUnits="userSpaceOnUse" width="30" height="30">
      <rect width="30" height="30" fill="#f9d77e"/>
      <path d="M0,0 L10,10 M10,0 L0,10 M20,0 L30,10 M30,0 L20,10 M0,20 L10,30 M10,20 L0,30 M20,20 L30,30 M30,20 L20,30" stroke="#c87137" stroke-width="3" fill="none"/>
    </pattern>
    
    <!-- Suit gradient -->
    <linearGradient id="suitGradient" x1="0%" y1="0%" x2="100%" y2="100%">
      <stop offset="0%" stop-color="#2c3e50"/>
      <stop offset="100%" stop-color="#34495e"/>
    </linearGradient>
    
    <!-- Shirt gradient -->
    <linearGradient id="shirtGradient" x1="0%" y1="0%" x2="100%" y2="100%">
      <stop offset="0%" stop-color="#ffffff"/>
      <stop offset="100%" stop-color="#ecf0f1"/>
    </linearGradient>
    
    <!-- Newspaper texture -->
    <pattern id="newspaperPattern" patternUnits="userSpaceOnUse" width="40" height="40">
      <rect width="40" height="40" fill="#f5f5f5"/>
      <rect x="0" y="0" width="40" height="5" fill="#ddd"/>
      <rect x="0" y="7" width="40" height="1" fill="#ccc"/>
      <rect x="0" y="10" width="40" height="1" fill="#ccc"/>
      <rect x="0" y="13" width="40" height="1" fill="#ccc"/>
      <rect x="0" y="16" width="40" height="1" fill="#ccc"/>
      <rect x="0" y="19" width="40" height="1" fill="#ccc"/>
      <rect x="0" y="22" width="40" height="1" fill="#ccc"/>
      <rect x="0" y="25" width="40" height="1" fill="#ccc"/>
      <rect x="0" y="28" width="40" height="1" fill="#ccc"/>
      <rect x="0" y="31" width="40" height="1" fill="#ccc"/>
      <rect x="0" y="34" width="40" height="1" fill="#ccc"/>
      <rect x="0" y="37" width="40" height="1" fill="#ccc"/>
    </pattern>
    
    <!-- Metal gradient for unicycle -->
    <linearGradient id="metalGradient" x1="0%" y1="0%" x2="100%" y2="100%">
      <stop offset="0%" stop-color="#c0c0c0"/>
      <stop offset="50%" stop-color="#f0f0f0"/>
      <stop offset="100%" stop-color="#c0c0c0"/>
    </linearGradient>
    
    <!-- Background gradient -->
    <linearGradient id="bgGradient" x1="0%" y1="0%" x2="0%" y2="100%">
      <stop offset="0%" stop-color="#87CEEB"/>
      <stop offset="100%" stop-color="#E0F7FA"/>
    </linearGradient>
    
    <!-- Floor shadow -->
    <radialGradient id="floorShadow" cx="50%" cy="50%" r="50%" fx="50%" fy="50%">
      <stop offset="0%" stop-color="rgba(0,0,0,0.4)"/>
      <stop offset="100%" stop-color="rgba(0,0,0,0)"/>
    </radialGradient>
    
    <!-- Glasses reflection -->
    <linearGradient id="glassesReflection" x1="0%" y1="0%" x2="100%" y2="100%">
      <stop offset="0%" stop-color="rgba(255,255,255,0.8)"/>
      <stop offset="100%" stop-color="rgba(255,255,255,0)"/>
    </linearGradient>
    
    <!-- Tie pattern -->
    <pattern id="tiePattern" patternUnits="userSpaceOnUse" width="10" height="10">
      <rect width="10" height="10" fill="#e74c3c"/>
      <path d="M0,0 L10,10 M10,0 L0,10" stroke="#c0392b" stroke-width="1" fill="none"/>
    </pattern>
  </defs>
  
  <!-- Background -->
  <rect width="300" height="300" fill="url(#bgGradient)"/>
  
  <!-- Floor shadow -->
  <ellipse cx="150" cy="280" rx="80" ry="12" fill="url(#floorShadow)"/>
  
  <!-- Unicycle -->
  <g id="unicycle" transform="translate(150, 260)">
    <!-- Wheel -->
    <circle cx="0" cy="0" r="20" stroke="#333" stroke-width="3" fill="none"/>
    <circle cx="0" cy="0" r="18" stroke="#555" stroke-width="1" fill="none"/>
    <circle cx="0" cy="0" r="15" stroke="#777" stroke-width="0.5" fill="none"/>
    <circle cx="0" cy="0" r="3" fill="#333"/>
    
    <!-- Spokes -->
    <line x1="-20" y1="0" x2="20" y2="0" stroke="#555" stroke-width="1.5"/>
    <line x1="0" y1="-20" x2="0" y2="20" stroke="#555" stroke-width="1.5"/>
    <line x1="-14" y1="-14" x2="14" y2="14" stroke="#555" stroke-width="1.5"/>
    <line x1="14" y1="-14" x2="-14" y2="14" stroke="#555" stroke-width="1.5"/>
    
    <!-- Pedals -->
    <rect x="-17" y="-2" width="10" height="4" fill="#333" transform="rotate(20)"/>
    <rect x="7" y="-2" width="10" height="4" fill="#333" transform="rotate(-20)"/>
    
    <!-- Pedal connectors -->
    <line x1="0" y1="0" x2="-12" y2="5" stroke="#555" stroke-width="2"/>
    <line x1="0" y1="0" x2="12" y2="-5" stroke="#555" stroke-width="2"/>
    
    <!-- Seat post -->
    <rect x="-2" y="-70" width="4" height="50" fill="url(#metalGradient)"/>
    
    <!-- Seat -->
    <ellipse cx="0" cy="-70" rx="10" ry="5" fill="#222"/>
    <ellipse cx="0" cy="-71" rx="8" ry="3" fill="#333"/>
  </g>
  
  <!-- Giraffe legs -->
  <g id="giraffe-legs">
    <!-- Back legs -->
    <path d="M155,200 C155,220 155,240 154,260" stroke="#d9a45b" stroke-width="8" stroke-linecap="round" fill="none"/>
    <path d="M160,200 C160,220 162,240 165,255" stroke="#d9a45b" stroke-width="8" stroke-linecap="round" fill="none"/>
    
    <!-- Front legs -->
    <path d="M140,200 C140,220 140,240 143,250" stroke="#d9a45b" stroke-width="8" stroke-linecap="round" fill="none"/>
    <path d="M135,200 C135,220 133,240 130,245" stroke="#d9a45b" stroke-width="8" stroke-linecap="round" fill="none"/>
    
    <!-- Feet -->
    <ellipse cx="154" cy="260" rx="6" ry="3" fill="#a87d44"/>
    <ellipse cx="165" cy="255" rx="6" ry="3" fill="#a87d44"/>
    <ellipse cx="143" cy="250" rx="6" ry="3" fill="#a87d44"/>
    <ellipse cx="130" cy="245" rx="6" ry="3" fill="#a87d44"/>
  </g>
  
  <!-- Giraffe body -->
  <g id="giraffe-body">
    <!-- Body -->
    <ellipse cx="150" cy="180" rx="25" ry="30" fill="url(#giraffePattern)"/>
    
    <!-- Neck -->
    <path d="M145,160 C145,130 145,100 140,70 C135,40 130,25 125,15" 
          stroke="#c87137" stroke-width="1" fill="url(#giraffePattern)" stroke-linejoin="round" stroke-linecap="round"/>
    
    <!-- Head -->
    <ellipse cx="125" cy="15" rx="18" ry="12" fill="url(#giraffePattern)"/>
    
    <!-- Muzzle -->
    <ellipse cx="132" cy="20" rx="8" ry="5" fill="#f9d77e"/>
    
    <!-- Ears -->
    <ellipse cx="115" cy="12" rx="4" ry="6" fill="#d9a45b"/>
    <ellipse cx="135" cy="12" rx="4" ry="6" fill="#d9a45b"/>
    <ellipse cx="115" cy="12" rx="2" ry="3" fill="#c87137"/>
    <ellipse cx="135" cy="12" rx="2" ry="3" fill="#c87137"/>
    
    <!-- Horns -->
    <line x1="118" y1="7" x2="115" y2="0" stroke="#555" stroke-width="2" stroke-linecap="round"/>
    <line x1="132" y1="7" x2="135" y2="0" stroke="#555" stroke-width="2" stroke-linecap="round"/>
    
    <!-- Eyes -->
    <circle cx="120" cy="13" r="2.5" fill="#000"/>
    <circle cx="130" cy="13" r="2.5" fill="#000"/>
    <circle cx="121" cy="12" r="0.8" fill="#fff"/>
    <circle cx="131" cy="12" r="0.8" fill="#fff"/>
    
    <!-- Eyelids -->
    <path d="M117.5,12 C120,9 123,12 122.5,12" stroke="#c87137" stroke-width="0.75" fill="none"/>
    <path d="M127.5,12 C130,9 133,12 132.5,12" stroke="#c87137" stroke-width="0.75" fill="none"/>
    
    <!-- Eyelashes -->
    <line x1="118" y1="11" x2="116" y2="10" stroke="#000" stroke-width="0.5"/>
    <line x1="120" y1="11" x2="120" y2="9" stroke="#000" stroke-width="0.5"/>
    <line x1="122" y1="11" x2="124" y2="10" stroke="#000" stroke-width="0.5"/>
    
    <line x1="128" y1="11" x2="126" y2="10" stroke="#000" stroke-width="0.5"/>
    <line x1="130" y1="11" x2="130" y2="9" stroke="#000" stroke-width="0.5"/>
    <line x1="132" y1="11" x2="134" y2="10" stroke="#000" stroke-width="0.5"/>
    
    <!-- Reading glasses -->
    <circle cx="120" cy="13" r="4.5" fill="none" stroke="#333" stroke-width="1"/>
    <circle cx="130" cy="13" r="4.5" fill="none" stroke="#333" stroke-width="1"/>
    <path d="M116,11 L118,13" stroke="url(#glassesReflection)" stroke-width="0.75"/>
    <path d="M126,11 L128,13" stroke="url(#glassesReflection)" stroke-width="0.75"/>
    <line x1="124.5" y1="13" x2="125.5" y2="13" stroke="#333" stroke-width="1"/>
    <line x1="110" y1="13" x2="115.5" y2="13" stroke="#333" stroke-width="1"/>
    
    <!-- Nostrils -->
    <ellipse cx="130" cy="21" rx="1.5" ry="1" fill="#a87d44" transform="rotate(-10)"/>
    <ellipse cx="134" cy="21" rx="1.5" ry="1" fill="#a87d44" transform="rotate(10)"/>
    
    <!-- Mouth -->
    <path d="M128,25 C130,27 134,27 136,25" stroke="#a87d44" stroke-width="0.75" fill="none"/>
    
    <!-- Tail -->
    <path d="M170,185 C175,175 180,180 175,165" stroke="#d9a45b" stroke-width="3" fill="none"/>
    <ellipse cx="175" cy="163" rx="2" ry="4" fill="#8b572a" transform="rotate(-15)"/>
  </g>
  
  <!-- Business suit -->
  <g id="suit">
    <!-- Jacket -->
    <path d="M125,180 C125,160 175,160 175,180 L175,215 L125,215 Z" fill="url(#suitGradient)"/>
    
    <!-- Suit details and creases -->
    <path d="M125,180 C130,170 170,170 175,180" fill="none" stroke="#1a2530" stroke-width="0.5"/>
    <path d="M135,180 L135,215 M165,180 L165,215" fill="none" stroke="#1a2530" stroke-width="0.5"/>
    
    <!-- Lapels -->
    <path d="M140,180 L143,200 L150,180" fill="#fff" stroke="#222" stroke-width="0.5"/>
    <path d="M150,180 L157,200 L160,180" fill="#fff" stroke="#222" stroke-width="0.5"/>
    
    <!-- Collar -->
    <path d="M137,170 C140,165 160,165 163,170" fill="none" stroke="#fff" stroke-width="2"/>
    
    <!-- Shirt -->
    <rect x="143" y="180" width="14" height="35" fill="url(#shirtGradient)"/>
    
    <!-- Shirt details -->
    <line x1="150" y1="180" x2="150" y2="215" stroke="#ddd" stroke-width="0.5"/>
    <circle cx="150" cy="185" r="1" fill="#ddd"/>
    <circle cx="150" cy="190" r="1" fill="#ddd"/>
    <circle cx="150" cy="195" r="1" fill="#ddd"/>
    
    <!-- Tie -->
    <path d="M150,180 L146,195 L150,215 L154,195 Z" fill="url(#tiePattern)"/>
    <path d="M150,180 L148,185 L150,190 L152,185 Z" fill="#c0392b"/>
    
    <!-- Pocket square -->
    <path d="M135,185 L132,188 L135,190 L138,188 Z" fill="#3498db"/>
    
    <!-- Buttons -->
    <circle cx="170" cy="195" r="1.5" fill="#f0c419"/>
    <circle cx="170" cy="205" r="1.5" fill="#f0c419"/>
    
    <!-- Cufflinks -->
    <rect x="110" y="190" width="4" height="3" rx="1" ry="1" fill="#f0c419"/>
    <rect x="186" y="190" width="4" height="3" rx="1" ry="1" fill="#f0c419"/>
  </g>
  
  <!-- Arms -->
  <path d="M125,185 C115,185 105,190 95,185" stroke="#d9a45b" stroke-width="6" stroke-linecap="round" fill="none"/>
  <path d="M175,185 C185,185 195,175 200,170" stroke="#d9a45b" stroke-width="6" stroke-linecap="round" fill="none"/>
  
  <!-- Sleeves -->
  <path d="M125,185 C115,185 105,190 100,187" stroke="url(#suitGradient)" stroke-width="10" stroke-linecap="round" fill="none"/>
  <path d="M175,185 C185,185 195,175 197,172" stroke="url(#suitGradient)" stroke-width="10" stroke-linecap="round" fill="none"/>
  <ellipse cx="100" cy="187" rx="5" ry="4" fill="#fff" transform="rotate(-10)"/>
  <ellipse cx="197" cy="172" rx="5" ry="4" fill="#fff" transform="rotate(30)"/>
  
  <!-- Newspaper -->
  <g id="newspaper" transform="translate(85, 110) rotate(-20)">
    <rect x="0" y="0" width="60" height="40" fill="url(#newspaperPattern)" stroke="#888" stroke-width="0.75"/>
    <rect x="0" y="0" width="60" height="40" fill="none" stroke="#444" stroke-width="0.25"/>
    
    <!-- Newspaper folds -->
    <line x1="30" y1="0" x2="30" y2="40" stroke="#ccc" stroke-width="0.5"/>
    <line x1="0" y1="20" x2="60" y2="20" stroke="#ddd" stroke-width="0.5"/>
    
    <!-- Headline -->
    <rect x="5" y="5" width="20" height="4" fill="#333"/>
    <rect x="35" y="5" width="20" height="4" fill="#333"/>
    
    <!-- Subheadline -->
    <rect x="5" y="11" width="15" height="2" fill="#555"/>
    <rect x="35" y="11" width="15" height="2" fill="#555"/>
    
    <!-- Text lines -->
    <rect x="5" y="15" width="20" height="1" fill="#777"/>
    <rect x="5" y="17" width="20" height="1" fill="#777"/>
    <rect x="5" y="19" width="20" height="1" fill="#777"/>
    
    <rect x="5" y="23" width="20" height="1" fill="#777"/>
    <rect x="5" y="25" width="20" height="1" fill="#777"/>
    <rect x="5" y="27" width="20" height="1" fill="#777"/>
    <rect x="5" y="29" width="20" height="1" fill="#777"/>
    <rect x="5" y="31" width="15" height="1" fill="#777"/>
    <rect x="5" y="33" width="20" height="1" fill="#777"/>
    <rect x="5" y="35" width="20" height="1" fill="#777"/>
    
    <rect x="35" y="15" width="20" height="1" fill="#777"/>
    <rect x="35" y="17" width="20" height="1" fill="#777"/>
    <rect x="35" y="19" width="20" height="1" fill="#777"/>
    
    <!-- Image on newspaper -->
    <rect x="35" y="23" width="20" height="15" fill="#ddd" stroke="#999" stroke-width="0.5"/>
    <circle cx="40" cy="28" r="2" fill="#999"/>
    <path d="M38,33 L42,33 L45,36 L52,30" stroke="#999" stroke-width="1" fill="none"/>
  </g>
  
  <!-- Decorative elements -->
  <g id="decorations">
    <!-- Sun/Moon -->
    <circle cx="260" cy="40" r="15" fill="#f1c40f"/>
    <circle cx="255" cy="35" r="5" fill="#f39c12"/>
    <circle cx="265" cy="45" r="3" fill="#f39c12"/>
    
    <!-- Clouds -->
    <path d="M50,50 C45,40 30,45 35,55 C30,65 45,70 55,60 C65,70 80,60 75,50 C80,40 65,35 55,45 C50,35 35,40 50,50" fill="#fff" opacity="0.8"/>
    
    <!-- Birds -->
    <path d="M200,40 C205,35 210,40 215,35 C210,45 205,40 200,40" fill="#333"/>
    <path d="M220,50 C225,45 230,50 235,45 C230,55 225,50 220,50" fill="#333"/>
    
    <!-- Tiny buildings in background -->
    <rect x="240" y="90" width="10" height="20" fill="#34495e"/>
    <rect x="250" y="80" width="15" height="30" fill="#2c3e50"/>
    <rect x="265" y="85" width="12" height="25" fill="#34495e"/>
    <rect x="243" y="85" width="4" height="4" fill="#f1c40f"/>
    <rect x="243" y="95" width="4" height="4" fill="#f1c40f"/>
    <rect x="255" y="85" width="5" height="5" fill="#f1c40f"/>
    <rect x="255" y="95" width="5" height="5" fill="#f1c40f"/>
    <rect x="268" y="90" width="6" height="6" fill="#f1c40f"/>
    <rect x="268" y="100" width="6" height="6" fill="#f1c40f"/>
  </g>
</svg>
GPT-4o
Judge & Evaluator
The winner of this SVG challenge is Claude 3.7 Sonnet Thinking (2025-02-19) Player 2

Judge's Analysis

    Player 2's submission more effectively captures the idea of a giraffe wearing a suit, reading a newspaper, and riding a tiny unicycle.

    The composition is more detailed and visually engaging, with clear elements that align with the prompt.

    Additionally, the technical execution is superior, with a more dynamic and lively depiction compared to Player 1's simpler and less defined illustration.

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
19
Player 2
138
Rectangles

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

Player 1
4
Player 2
51
Circles

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

Player 1
8
Player 2
19
Ellipses

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

Player 1
1
Player 2
19
Lines

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

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

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

Player 1
Player 2
6

Visual Effects Metrics

Gradients

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

Player 1
Player 2
6
Patterns

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

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

The number of elements with stroke attributes in the SVG.

Player 1
2
Player 2
50

Colors Metrics

Unique Colors

The number of unique colors used in the SVG.

Player 1
10
Player 2
36

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
Player 2
9

Complexity Metrics

Path Commands

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

Player 1
23
Player 2
101
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
Player 2
9
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