Back

SVG Drawing Match #2720

May 09, 2025
GPT-4o
Challenge Creator

Creative Challenge

"A cactus wearing sunglasses and holding a balloon in a desert sunset."

SVG by o4-mini high (2025-04-16)
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 300 300">
  <defs>
    <linearGradient id="skyGrad" x1="0%" y1="0%" x2="0%" y2="100%">
      <stop offset="0%" stop-color="#ff9a9e"/>
      <stop offset="50%" stop-color="#fad0c4"/>
      <stop offset="100%" stop-color="#fbc2eb"/>
    </linearGradient>
    <radialGradient id="sunGrad" cx="50%" cy="50%" r="50%">
      <stop offset="0%" stop-color="#fff176"/>
      <stop offset="100%" stop-color="#fb8c00"/>
    </radialGradient>
    <linearGradient id="sandGrad2" x1="0%" y1="0%" x2="0%" y2="100%">
      <stop offset="0%" stop-color="#e5c68e"/>
      <stop offset="100%" stop-color="#c8a35b"/>
    </linearGradient>
    <linearGradient id="sandGrad" x1="0%" y1="0%" x2="0%" y2="100%">
      <stop offset="0%" stop-color="#fcd667"/>
      <stop offset="100%" stop-color="#f7a600"/>
    </linearGradient>
    <linearGradient id="cactusGrad" x1="0%" y1="0%" x2="0%" y2="100%">
      <stop offset="0%" stop-color="#8fd14f"/>
      <stop offset="100%" stop-color="#5ba62b"/>
    </linearGradient>
    <radialGradient id="balloonGrad" cx="30%" cy="30%" r="70%">
      <stop offset="0%" stop-color="#ff4081"/>
      <stop offset="100%" stop-color="#c51162"/>
    </radialGradient>
    <filter id="shadow" x="-20%" y="-20%" width="140%" height="140%">
      <feDropShadow dx="0" dy="4" stdDeviation="4" flood-color="#000" flood-opacity="0.3"/>
    </filter>
  </defs>
  <rect width="300" height="300" fill="url(#skyGrad)"/>
  <circle cx="150" cy="220" r="80" fill="url(#sunGrad)"/>
  <path d="M0,240 Q100,220 200,240 T300,240 L300,300 L0,300 Z" fill="url(#sandGrad2)"/>
  <path d="M0,260 Q80,240 160,260 T320,260 L300,300 L0,300 Z" fill="url(#sandGrad)"/>
  <g filter="url(#shadow)">
    <g>
      <rect x="140" y="140" width="20" height="120" rx="10" fill="url(#cactusGrad)" stroke="#4a7d23" stroke-width="2"/>
      <rect x="120" y="190" width="20" height="70" rx="10" fill="url(#cactusGrad)" stroke="#4a7d23" stroke-width="2"/>
      <rect x="160" y="200" width="20" height="60" rx="10" fill="url(#cactusGrad)" stroke="#4a7d23" stroke-width="2"/>
      <g>
        <ellipse cx="150" cy="170" rx="6" ry="4" fill="#222"/>
        <ellipse cx="160" cy="170" rx="6" ry="4" fill="#222"/>
        <rect x="154" y="168" width="12" height="2" fill="#222"/>
        <circle cx="153" cy="168" r="1" fill="#fff"/>
        <circle cx="163" cy="168" r="1" fill="#fff"/>
      </g>
    </g>
  </g>
  <path d="M170,200 C175,160 190,120 200,100" stroke="#8b5a2b" stroke-width="1" fill="none"/>
  <ellipse cx="200" cy="90" rx="20" ry="25" fill="url(#balloonGrad)" stroke="#b71c46" stroke-width="2"/>
  <ellipse cx="192" cy="80" rx="5" ry="8" fill="#fff" fill-opacity="0.5"/>
</svg>
SVG by Claude 3.7 Sonnet (2025-02-19)
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 300 300">
  <!-- Sky and sunset gradient -->
  <defs>
    <linearGradient id="sunsetGradient" x1="0%" y1="0%" x2="0%" y2="100%">
      <stop offset="0%" stop-color="#1a2980" />
      <stop offset="40%" stop-color="#f64f59" />
      <stop offset="70%" stop-color="#ffb347" />
      <stop offset="100%" stop-color="#f9d423" />
    </linearGradient>
    <linearGradient id="sandGradient" x1="0%" y1="0%" x2="0%" y2="100%">
      <stop offset="0%" stop-color="#f9d423" />
      <stop offset="100%" stop-color="#e2a355" />
    </linearGradient>
    <linearGradient id="cactusGradient" x1="0%" y1="0%" x2="100%" y2="0%">
      <stop offset="0%" stop-color="#2ecc71" />
      <stop offset="100%" stop-color="#27ae60" />
    </linearGradient>
    <linearGradient id="balloonGradient" x1="0%" y1="0%" x2="100%" y2="100%">
      <stop offset="0%" stop-color="#ff5e7d" />
      <stop offset="100%" stop-color="#ff3e6f" />
    </linearGradient>
    <filter id="glowFilter" x="-20%" y="-20%" width="140%" height="140%">
      <feGaussianBlur stdDeviation="5" result="blur" />
      <feComposite in="SourceGraphic" in2="blur" operator="over" />
    </filter>
    <pattern id="cactusPattern" width="10" height="10" patternUnits="userSpaceOnUse">
      <circle cx="2" cy="2" r="1" fill="#1d8a4b" />
    </pattern>
  </defs>
  
  <!-- Background sky -->
  <rect x="0" y="0" width="300" height="220" fill="url(#sunsetGradient)" />
  
  <!-- Sun -->
  <circle cx="230" cy="70" r="30" fill="#ff9a00" filter="url(#glowFilter)" />
  
  <!-- Desert sand -->
  <path d="M0,180 C50,160 100,190 150,170 C200,150 250,180 300,160 L300,300 L0,300 Z" fill="url(#sandGradient)" />
  
  <!-- Small cacti in background -->
  <path d="M50,190 L50,160 L40,160 L40,170 L30,170 L30,190 Z" fill="#27ae60" />
  <path d="M260,185 L260,150 L250,150 L250,165 L240,165 L240,185 Z" fill="#27ae60" />
  
  <!-- Main cactus body -->
  <path d="M150,250 L150,120 C150,110 140,110 140,120 L140,170 C130,170 120,180 120,190 L120,220 C120,230 130,230 130,220 L130,190 C130,185 135,180 140,180 L140,250 Z
           M150,120 C150,110 160,110 160,120 L160,170 C170,170 180,180 180,190 L180,220 C180,230 170,230 170,220 L170,190 C170,185 165,180 160,180 L160,250 Z" 
        fill="url(#cactusGradient)" stroke="#1d8a4b" stroke-width="1" />
  
  <!-- Cactus pattern/texture -->
  <path d="M150,250 L150,120 C150,110 140,110 140,120 L140,170 C130,170 120,180 120,190 L120,220 C120,230 130,230 130,220 L130,190 C130,185 135,180 140,180 L140,250 Z
           M150,120 C150,110 160,110 160,120 L160,170 C170,170 180,180 180,190 L180,220 C180,230 170,230 170,220 L170,190 C170,185 165,180 160,180 L160,250 Z" 
        fill="url(#cactusPattern)" fill-opacity="0.3" />
  
  <!-- Cactus spikes -->
  <g stroke="#1d8a4b" stroke-width="1">
    <line x1="135" y1="130" x2="125" y2="125" />
    <line x1="135" y1="145" x2="125" y2="140" />
    <line x1="135" y1="160" x2="125" y2="155" />
    <line x1="125" y1="195" x2="115" y2="190" />
    <line x1="125" y1="210" x2="115" y2="205" />
    
    <line x1="165" y1="130" x2="175" y2="125" />
    <line x1="165" y1="145" x2="175" y2="140" />
    <line x1="165" y1="160" x2="175" y2="155" />
    <line x1="175" y1="195" x2="185" y2="190" />
    <line x1="175" y1="210" x2="185" y2="205" />
  </g>
  
  <!-- Sunglasses -->
  <path d="M130,135 L170,135 C175,135 175,145 170,145 L155,145 L145,145 L130,145 C125,145 125,135 130,135 Z" fill="#333" />
  <circle cx="137" cy="140" r="7" fill="#222" stroke="#444" />
  <circle cx="163" cy="140" r="7" fill="#222" stroke="#444" />
  <line x1="144" y1="140" x2="156" y2="140" stroke="#333" stroke-width="2" />
  
  <!-- Balloon -->
  <path d="M110,100 C110,80 100,70 90,70 C80,70 70,80 70,100 C70,120 80,130 90,130 C100,130 110,120 110,100 Z" fill="url(#balloonGradient)" />
  <path d="M90,130 L120,190" stroke="#777" stroke-width="1.5" fill="none" />
  <path d="M90,131 C93,135 87,135 90,139" fill="none" stroke="#777" stroke-width="1.5" />
  
  <!-- Cactus arm holding balloon -->
  <path d="M120,190 C115,185 120,180 125,185 L130,190" fill="url(#cactusGradient)" stroke="#1d8a4b" stroke-width="1" />
  
  <!-- Small clouds -->
  <path d="M60,60 C65,50 75,50 80,60 C85,50 95,50 100,60 C105,65 105,75 100,80 C105,85 105,95 100,100 C95,110 85,110 80,100 C75,110 65,110 60,100 C55,95 55,85 60,80 C55,75 55,65 60,60 Z" fill="white" fill-opacity="0.7" />
  <path d="M200,40 C205,30 215,30 220,40 C225,30 235,30 240,40 C245,45 245,55 240,60 C245,65 245,75 240,80 C235,90 225,90 220,80 C215,90 205,90 200,80 C195,75 195,65 200,60 C195,55 195,45 200,40 Z" fill="white" fill-opacity="0.5" />
  
  <!-- Stars starting to appear -->
  <g fill="white">
    <circle cx="30" cy="30" r="1" />
    <circle cx="50" cy="20" r="1.5" />
    <circle cx="80" cy="40" r="1" />
    <circle cx="100" cy="25" r="1.2" />
    <circle cx="250" cy="30" r="1" />
    <circle cx="270" cy="45" r="1.5" />
    <circle cx="220" cy="20" r="1.2" />
  </g>
</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 is more dynamic and creative, featuring a detailed desert sunset with stars, unique balloon shapes, and a more expressive cactus design.

    While Player 1's entry is clean and adheres to the prompt, Player 2 offers a richer composition with more visual interest and originality in execution.

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
15
Player 2
35
Rectangles

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

Player 1
5
Player 2
1
Circles

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

Player 1
3
Player 2
11
Ellipses

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

Player 1
4
Player 2
Lines

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

Player 1
Player 2
11
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
3
Player 2
12
Groups

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

Player 1
3
Player 2
2

Visual Effects Metrics

Gradients

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

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

The number of elements with stroke attributes in the SVG.

Player 1
5
Player 2
8

Colors Metrics

Unique Colors

The number of unique colors used in the SVG.

Player 1
18
Player 2
16

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

Complexity Metrics

Path Commands

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

Player 1
14
Player 2
103
Max Group Nesting

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

Player 1
2
Player 2
Defs Elements

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

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