Back

SVG Drawing Match #2591

May 09, 2025
GPT-4o
Challenge Creator

Creative Challenge

"A clock melting over a cloud under a starry night sky."

SVG by GPT-4.1 (2025-04-14)
<svg viewBox="0 0 300 300" xmlns="http://www.w3.org/2000/svg">
  <defs>
    <!-- Night Sky Gradient -->
    <radialGradient id="skyGrad" cx="50%" cy="30%" r="80%">
      <stop offset="0%" stop-color="#22305b"/>
      <stop offset="70%" stop-color="#10172a"/>
      <stop offset="100%" stop-color="#060912"/>
    </radialGradient>
    <!-- Cloud Gradient -->
    <radialGradient id="cloudGrad" cx="60%" cy="60%" r="90%">
      <stop offset="0%" stop-color="#f7fafc" />
      <stop offset="30%" stop-color="#cbe3fc" />
      <stop offset="70%" stop-color="#a9c1e7" />
      <stop offset="100%" stop-color="#87a1c4" />
    </radialGradient>
    <!-- Melted Clock Body Gradient -->
    <linearGradient id="clockGrad" x1="0" y1="0" x2="1" y2="1">
      <stop offset="0%" stop-color="#ffeeaf"/>
      <stop offset="60%" stop-color="#f9e0b6"/>
      <stop offset="100%" stop-color="#e0b16e"/>
    </linearGradient>
    <!-- Gold Rim Gradient -->
    <linearGradient id="rimGrad" x1="0" y1="0.1" x2="1" y2="1">
      <stop offset="0%" stop-color="#ffd352"/>
      <stop offset="100%" stop-color="#b87d2d"/>
    </linearGradient>
    <!-- Shadow for cloud -->
    <radialGradient id="cloudShadow" cx="60%" cy="90%" r="60%">
      <stop offset="0%" stop-color="#667682" stop-opacity="0.3"/>
      <stop offset="80%" stop-color="transparent"/>
    </radialGradient>
    <!-- Star sparkle -->
    <radialGradient id="starSparkle" cx="50%" cy="50%" r="50%">
      <stop offset="0%" stop-color="#fffdd0" stop-opacity="1"/>
      <stop offset="60%" stop-color="#fceabb" stop-opacity="0.6"/>
      <stop offset="100%" stop-color="transparent" stop-opacity="0"/>
    </radialGradient>
    <!-- Time Hand gradient -->
    <linearGradient id="handGrad" x1="0" y1="0" x2="1" y2="1">
      <stop offset="0%" stop-color="#4c232e"/>
      <stop offset="80%" stop-color="#ad97b4"/>
      <stop offset="100%" stop-color="#fff"/>
    </linearGradient>
  </defs>

  <!-- Night Sky Background -->
  <rect width="300" height="300" fill="url(#skyGrad)"/>

  <!-- Stars -->
  <g>
    <circle cx="40" cy="50" r="2.8" fill="url(#starSparkle)" />
    <circle cx="110" cy="36" r="1.5" fill="url(#starSparkle)" />
    <circle cx="260" cy="70" r="2.1" fill="url(#starSparkle)" />
    <circle cx="235" cy="50" r="1.8" fill="#fff5dd" opacity="0.85" />
    <circle cx="270" cy="120" r="1.3" fill="#fff"/>
    <circle cx="145" cy="65" r="1.5" fill="#ffffea"/>
    <circle cx="192" cy="40" r="3.4" fill="url(#starSparkle)" />
    <circle cx="78" cy="25" r="1.2" fill="#fff"/>
    <circle cx="200" cy="105" r="1.0" fill="#fffffc"/>
    <circle cx="173" cy="83" r="2.3" fill="#fceabb" opacity="0.9"/>
    <circle cx="120" cy="80" r="1" fill="#fff" />
    <circle cx="262" cy="32" r="2.1" fill="url(#starSparkle)" />
    <ellipse cx="50" cy="85" rx="1.7" ry="0.6" fill="#fff"/>
    <ellipse cx="140" cy="19" rx="2.4" ry="1.1" fill="url(#starSparkle)" />
    <!-- More stars for a dreamy, dense sky -->
    <circle cx="70" cy="60" r="0.7" fill="#fff"/>
    <circle cx="162" cy="22" r="0.9" fill="#fff"/>
    <circle cx="210" cy="28" r="1.0" fill="#eeffe7"/>
    <circle cx="290" cy="33" r="2.1" fill="#fffde4" opacity="0.48"/>
    <circle cx="240" cy="19" r="1.2" fill="#fff" />
    <circle cx="115" cy="115" r="1.2" fill="#ffffe0" opacity="0.8"/>
    <circle cx="273" cy="61" r="1.1" fill="#fffbae"/>
    <circle cx="23" cy="29" r="1.7" fill="#fff" />
  </g>

  <!-- Cloud shadow -->
  <ellipse cx="148" cy="232" rx="82" ry="20" fill="url(#cloudShadow)" opacity="0.8"/>

  <!-- Main Cloud -->
  <g>
    <ellipse cx="140" cy="215" rx="56" ry="25" fill="url(#cloudGrad)" />
    <ellipse cx="94" cy="226" rx="22" ry="13" fill="url(#cloudGrad)" />
    <ellipse cx="188" cy="228" rx="31" ry="16" fill="url(#cloudGrad)" />
    <ellipse cx="170" cy="215" rx="41" ry="18" fill="url(#cloudGrad)" />
    <!-- Overlap lines for fluffiness -->
    <ellipse cx="163" cy="205" rx="14" ry="11" fill="url(#cloudGrad)" opacity="0.61"/>
    <ellipse cx="120" cy="215" rx="22" ry="10" fill="url(#cloudGrad)" opacity="0.72"/>
    <ellipse cx="111" cy="210" rx="12" ry="8" fill="url(#cloudGrad)" opacity="0.4"/>
  </g>
  
  <!-- Melting Clock: body -->
  <g>
    <!-- Main body - drawn as a complex 'melted' path -->
    <path 
      d="M90,112
         Q80,145 102,168
         Q120,178 129,203
         Q130,209 139,211
         Q153,213 162,196
         Q165,191 172,174
         Q180,155 189,141
         Q202,120 190,109
         Q172,92 136,98
         Q110,102 90,112
         Z"
      fill="url(#clockGrad)"
      stroke="url(#rimGrad)"
      stroke-width="6"
      filter="drop-shadow(1px 3px 4px #28282655)"
    />

    <!-- Melting drips (dangling downwards) -->
    <path 
      d="M129,203 
         Q128,216 135,224 
         Q142,232 143,218"
      fill="none"
      stroke="url(#rimGrad)" stroke-width="5"
      stroke-linecap="round" />
    <path 
      d="M135,217
         Q138,232 142,245
         Q143,251 147,245
         Q151,238 150,234
         Q149,228 143,218"
      fill="url(#clockGrad)"
      stroke="url(#rimGrad)"
      stroke-width="3"
    />

    <!-- inner white shadow for melted effect -->
    <path 
      d="M137,220 
         Q139,236 145,241
         Q150,244 149,237
         Q148,230 144,221
         Q141,218 137,220
         Z"
      fill="#fffad2" opacity="0.55"
    />

    <!-- Gold rim inner highlight -->
    <path
      d="M93,116
        Q85,144 112,163
        Q132,174 138,194
        Q140,199 148,202
        Q158,204 163,193
        Q167,184 177,166
        Q186,150 194,137
        Q203,122 189,111
        Q170,99 135,104
        Q106,108 93,116 Z"
      fill="none"
      stroke="gold"
      stroke-width="1.5"
      opacity="0.43"
    />
  </g>

  <!-- Clock face markers -->
  <g>
    <!-- 12, 3, 6, 9 markers (bold) and faint others -->
    <circle cx="141" cy="117" r="2.3" fill="#ac8841"/>
    <circle cx="160" cy="120" r="2" fill="#ceb47e"/>
    <circle cx="183" cy="136" r="2.1" fill="#ad8841"/>
    <circle cx="189" cy="152" r="1.3" fill="#eadc9b" opacity="0.8"/>
    <circle cx="180" cy="170" r="2.2" fill="#ceb47e"/>
    <circle cx="166" cy="185" r="2.0" fill="#ac8841"/>
    <circle cx="153" cy="199" r="2.2" fill="#ceb47e"/>
    <circle cx="133" cy="197" r="1.1" fill="#eadc9b" opacity="0.7"/>
    <circle cx="112" cy="183" r="2.1" fill="#ceb47e"/>
    <circle cx="101" cy="161" r="2.0" fill="#ac8841"/>
    <circle cx="109" cy="140" r="1.6" fill="#eadc9b" opacity="0.82"/>
    <circle cx="124" cy="123" r="2.1" fill="#ceb47e"/>
  </g>

  <!-- Clock hands (intentionally drooping to suggest melting) -->
  <g>
    <!-- Hour hand -->
    <path 
      d="M150,144 
        Q147,156 145,170"
      stroke="url(#handGrad)" stroke-width="4" stroke-linecap="round"/>
    <!-- Minute hand (melting down, a little curve) -->
    <path 
      d="M147,144
        Q150,160 152,186
        Q153,194 146,192"
      stroke="url(#handGrad)" stroke-width="2.6" stroke-linecap="round"/>
    <!-- Center circle -->
    <circle cx="147" cy="144" r="5.2" fill="#de7b48" stroke="#c5a452" stroke-width="0.7"/>
  </g>

  <!-- Highlights and dreamy sparkles on the clock -->
  <g>
    <ellipse cx="121" cy="126" rx="10" ry="4" fill="#fff" opacity="0.18" />
    <ellipse cx="176" cy="117" rx="9" ry="3.2" fill="#fff" opacity="0.11" />
  </g>
</svg>
SVG by o4-mini medium (2025-04-16)
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 300 300">
  <defs>
    <radialGradient id="skyGradient" cx="50%" cy="0%" r="80%">
      <stop offset="0%" stop-color="#001848"/>
      <stop offset="100%" stop-color="#000017"/>
    </radialGradient>
    <linearGradient id="cloudGradient" x1="0" y1="0" x2="0" y2="1">
      <stop offset="0%" stop-color="#ffffff"/>
      <stop offset="100%" stop-color="#ddeaff"/>
    </linearGradient>
    <radialGradient id="clockGradient" cx="50%" cy="30%" r="60%">
      <stop offset="0%" stop-color="#fff8e7"/>
      <stop offset="100%" stop-color="#ffdca3"/>
    </radialGradient>
    <filter id="starBlur">
      <feGaussianBlur stdDeviation="0.7"/>
    </filter>
    <filter id="shadow" x="-50%" y="-50%" width="200%" height="200%">
      <feDropShadow dx="0" dy="2" stdDeviation="2" flood-color="#000" flood-opacity="0.3"/>
    </filter>
  </defs>

  <!-- Night sky -->
  <rect width="300" height="300" fill="url(#skyGradient)" />

  <!-- Stars -->
  <g fill="#fff" filter="url(#starBlur)">
    <circle cx="30" cy="20" r="1.2"/>
    <circle cx="80" cy="50" r="0.8"/>
    <circle cx="150" cy="15" r="1.5"/>
    <circle cx="200" cy="60" r="1"/>
    <circle cx="250" cy="30" r="0.9"/>
    <circle cx="120" cy="80" r="1"/>
    <circle cx="50" cy="100" r="0.7"/>
    <circle cx="180" cy="30" r="1"/>
    <circle cx="220" cy="100" r="1.2"/>
    <circle cx="280" cy="20" r="0.8"/>
    <circle cx="30" cy="150" r="0.6"/>
    <circle cx="90" cy="130" r="1"/>
    <circle cx="140" cy="120" r="0.7"/>
    <circle cx="170" cy="90" r="1"/>
    <circle cx="260" cy="80" r="0.9"/>
    <circle cx="240" cy="140" r="1.1"/>
    <circle cx="60" cy="140" r="0.8"/>
    <circle cx="110" cy="40" r="1"/>
    <circle cx="190" cy="20" r="0.9"/>
    <circle cx="275" cy="70" r="1"/>
  </g>

  <!-- Cloud -->
  <g filter="url(#shadow)">
    <ellipse cx="100" cy="200" rx="60" ry="20" fill="url(#cloudGradient)"/>
    <ellipse cx="70" cy="210" rx="35" ry="18" fill="url(#cloudGradient)"/>
    <ellipse cx="130" cy="210" rx="40" ry="20" fill="url(#cloudGradient)"/>
  </g>

  <!-- Melting clock -->
  <g transform="translate(130,190) rotate(-15)" filter="url(#shadow)">
    <ellipse cx="0" cy="0" rx="40" ry="25" fill="url(#clockGradient)" stroke="#555" stroke-width="2"/>
    <circle cx="0" cy="0" r="2" fill="#555"/>
    <line x1="0" y1="0" x2="0" y2="-18" stroke="#555" stroke-width="2"/>
    <line x1="0" y1="0" x2="12" y2="4" stroke="#555" stroke-width="2"/>
    <path d="M -20,10 q5,15 -5,30 q12,-5 10,-30z" fill="url(#clockGradient)" stroke="#555" stroke-width="1"/>
    <path d="M 0,10 q3,12 -3,25 q8,-4 6,-25z" fill="url(#clockGradient)" stroke="#555" stroke-width="1"/>
    <path d="M 20,8 q4,14 -7,28 q10,-6 8,-28z" fill="url(#clockGradient)" stroke="#555" stroke-width="1"/>
  </g>
</svg>
GPT-4o
Judge & Evaluator
The winner of this SVG challenge is GPT-4.1 (2025-04-14) Player 1

Judge's Analysis

    Player 1's submission demonstrates stronger creativity and better adherence to the prompt.

    The melting clock is well-defined and integrates smoothly with the cloud and starry night background, creating a surreal and visually appealing composition.

    Player 2's image, while minimalistic, lacks the same level of detail and impact, making it less engaging overall.

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
53
Player 2
31
Rectangles

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

Player 1
1
Player 2
1
Circles

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

Player 1
33
Player 2
21
Ellipses

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

Player 1
12
Player 2
4
Lines

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

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

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

Player 1
6
Player 2
3

Visual Effects Metrics

Gradients

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

Player 1
7
Player 2
3
Patterns

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

Player 1
Player 2
Filters

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

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

The number of elements with stroke attributes in the SVG.

Player 1
7
Player 2
6

Colors Metrics

Unique Colors

The number of unique colors used in the SVG.

Player 1
34
Player 2
8

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
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
41
Player 2
12
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
7
Player 2
5
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