Back

SVG Drawing Match #2265

May 09, 2025
GPT-4o
Challenge Creator

Creative Challenge

"A snail racing a cheetah on roller skates under a full moon."

SVG by Gemini 2.5 Pro Preview 05-06
<svg viewBox="0 0 300 300" xmlns="http://www.w3.org/2000/svg">
  <defs>
    <linearGradient id="skyGradient" x1="0%" y1="0%" x2="0%" y2="100%">
      <stop offset="0%" style="stop-color:#0c001f;"/> <!-- Deep indigo -->
      <stop offset="50%" style="stop-color:#2d004f;"/> <!-- Dark Purple -->
      <stop offset="100%" style="stop-color:#5f107d;"/> <!-- Rich Purple towards horizon -->
    </linearGradient>
    <radialGradient id="moonSurface" cx="50%" cy="50%" r="50%" fx="40%" fy="40%">
      <stop offset="0%" style="stop-color:#FFFDE4;"/> <!-- Pale Yellow -->
      <stop offset="80%" style="stop-color:#FAFAD2;"/> <!-- LightGoldenrodYellow -->
      <stop offset="100%" style="stop-color:#E8E4C9;"/> <!-- PaleKhaki -->
    </radialGradient>
    <radialGradient id="moonGlow" cx="50%" cy="50%" r="50%" fx="50%" fy="50%">
      <stop offset="50%" style="stop-color:rgba(255,255,240,0.35)"/>
      <stop offset="100%" style="stop-color:rgba(255,255,240,0)"/>
    </radialGradient>
    <filter id="subtleMotionBlur" x="-50%" y="-50%" width="200%" height="200%">
      <feGaussianBlur in="SourceGraphic" stdDeviation="0.7 0" />
    </filter>
  </defs>

  <!-- Background -->
  <rect width="300" height="300" fill="url(#skyGradient)" />
  
  <!-- Stars -->
  <circle cx="25" cy="30" r="1.1" fill="#FFFACD" opacity="0.9"/>
  <circle cx="70" cy="50" r="0.8" fill="white" opacity="0.7"/>
  <circle cx="120" cy="20" r="1.3" fill="#FFFDE4" opacity="1"/>
  <circle cx="180" cy="90" r="0.9" fill="#F0F8FF" opacity="0.8"/>
  <circle cx="270" cy="40" r="1.1" fill="#FFFACD" opacity="0.9"/>
  <circle cx="290" cy="120" r="0.7" fill="white" opacity="0.6"/>
  <circle cx="40" cy="150" r="1" fill="#F0F8FF" opacity="0.7"/>
  <circle cx="150" cy="160" r="0.6" fill="#FFFDE4" opacity="0.8"/>
  <circle cx="210" cy="140" r="0.8" fill="white" opacity="0.75"/>
  <circle cx="90" cy="100" r="1.2" fill="#FFFACD" opacity="0.85"/>


  <!-- Moon -->
  <circle cx="230" cy="70" r="58" fill="url(#moonGlow)" />
  <circle cx="230" cy="70" r="48" fill="url(#moonSurface)" stroke="#DCDCDC" stroke-width="0.5"/>
  <!-- Moon Craters (subtle) -->
  <ellipse cx="218" cy="62" rx="6" ry="4" fill="#C8BFB6" opacity="0.6"/>
  <ellipse cx="248" cy="78" rx="8" ry="5" fill="#C0B6AC" opacity="0.5"/>
  <ellipse cx="233" cy="92" rx="5" ry="3" fill="#BEB4A8" opacity="0.6"/>
  <ellipse cx="240" cy="55" rx="3" ry="2" fill="#D0C8BE" opacity="0.5"/>

  <!-- Ground / Track -->
  <path d="M0 210 C60 195, 240 195, 300 210 L300 300 L0 300 Z" fill="#424242"/>
  <path d="M0 218 C60 203, 240 203, 300 218 L300 300 L0 300 Z" fill="#2E2E2E"/>
  
  <path d="M-10 225 L310 225" stroke="rgba(180,180,200,0.4)" stroke-width="1.5" stroke-dasharray="20 10"/>
  <path d="M-10 250 L310 250" stroke="rgba(180,180,200,0.3)" stroke-width="2.5" stroke-dasharray="25 12"/>
  <path d="M-10 280 L310 280" stroke="rgba(180,180,200,0.2)" stroke-width="3.5" stroke-dasharray="30 15"/>

  <!-- Cheetah -->
  <g id="cheetah" transform="translate(15 135) scale(0.85)">
    <path d="M-30 90 Q 30 80, 70 95" stroke="#A0A0FF" stroke-width="4" stroke-opacity="0.4" fill="none" filter="url(#subtleMotionBlur)"/>
    <path d="M-35 98 Q 25 88, 65 103" stroke="#B0B0FF" stroke-width="3" stroke-opacity="0.3" fill="none" filter="url(#subtleMotionBlur)"/>

    <path d="M160 110 Q155 125 150 130" stroke="#D48C32" stroke-width="8" fill="none" stroke-linecap="round"/> <!-- Front Leg -->
    <path d="M90 125 Q75 135 70 140" stroke="#D48C32" stroke-width="8" fill="none" stroke-linecap="round"/> <!-- Rear Leg -->

    <path d="M20 70 C40 40, 90 30, 140 50 C190 70, 200 110, 170 130 C140 150, 80 155, 50 140 C20 125, 0 90, 20 70 Z" fill="#FFB347" stroke="#A0522D" stroke-width="1.5"/>
    
    <ellipse cx="70" cy="70" rx="5" ry="3.5" fill="#5C3317" transform="rotate(-20 70 70)"/>
    <ellipse cx="100" cy="60" rx="4.5" ry="3" fill="#5C3317"/>
    <ellipse cx="130" cy="75" rx="5.5" ry="3.5" fill="#5C3317" transform="rotate(15 130 75)"/>
    <ellipse cx="150" cy="100" rx="5" ry="3.5" fill="#5C3317"/>
    <ellipse cx="90" cy="115" rx="5.5" ry="4" fill="#5C3317" transform="rotate(-10 90 115)"/>
    <ellipse cx="55" cy="100" rx="4" ry="3" fill="#5C3317"/>
    <ellipse cx="162" cy="118" rx="3" ry="2" fill="#5C3317"/> <!-- Spot on front leg area -->
    <ellipse cx="85" cy="130" rx="3" ry="2" fill="#5C3317"/> <!-- Spot on rear leg area -->

    <ellipse cx="175" cy="45" rx="22" ry="18" fill="#FFB347" stroke="#A0522D" stroke-width="1.5"/>
    <ellipse cx="186" cy="40" r="4.5" fill="white" stroke="black" stroke-width="0.5"/>
    <circle cx="188" cy="40" r="2.5" fill="#1A1A1A"/>
    <path d="M170 25 Q173 13 182 22 Z" fill="#FFB347" stroke="#A0522D" stroke-width="1.5"/>
    <path d="M190 28 Q196 16 203 25 Z" fill="#FFB347" stroke="#A0522D" stroke-width="1.5"/>
    <path d="M198 52 Q190 58 182 52" fill="#FADADD" stroke="#A0522D" stroke-width="0.5"/>

    <path d="M20 75 Q-10 90, -30 110 C -45 125, -35 135, -25 130" stroke="#FFB347" stroke-width="10" fill="none" stroke-linecap="round"/>
    <ellipse cx="-10" cy="95" rx="3.5" ry="2.5" fill="#5C3317" transform="rotate(40 -10 95)"/>
    <ellipse cx="-25" cy="115" rx="3" ry="2" fill="#5C3317" transform="rotate(20 -25 115)"/>
    <path d="M-23 130 L-15 130 M-18 124 L-10 124" stroke="#4A2E04" stroke-width="4" stroke-linecap="round"/>

    <g transform="translate(150 130)">
      <path d="M0 -12 C 5 -12, 8 -8, 8 0 L -8 0 C -8 -8, -5 -12, 0 -12 Z" fill="#FFB347" stroke="#A0522D" stroke-width="1"/>
      <rect x="-10" y="0" width="22" height="13" rx="3" fill="#00FFFF" stroke="#007777" stroke-width="1"/>
      <circle cx="-7" cy="19" r="6" fill="#FF1493" stroke="#333" stroke-width="1"/>
      <circle cx="7" cy="19" r="6" fill="#FF1493" stroke="#333" stroke-width="1"/>
    </g>
    <g transform="translate(70 140)">
      <path d="M0 -12 C 5 -12, 8 -8, 8 0 L -8 0 C -8 -8, -5 -12, 0 -12 Z" fill="#FFB347" stroke="#A0522D" stroke-width="1"/>
      <rect x="-10" y="0" width="22" height="13" rx="3" fill="#7FFF00" stroke="#3A7A00" stroke-width="1"/>
      <circle cx="-7" cy="19" r="6" fill="#FF69B4" stroke="#333" stroke-width="1"/>
      <circle cx="7" cy="19" r="6" fill="#FF69B4" stroke="#333" stroke-width="1"/>
    </g>
  </g>

  <!-- Snail -->
  <g id="snail" transform="translate(220 195) scale(0.8)">
    <path d="M-30 35 C-50 35, -60 55, -60 65 C-60 80, -40 90, -10 90 C20 90, 40 80, 40 65 C40 50, 25 35, 0 35 C-10 35, -20 35, -30 35Z" fill="#8FBC8F" stroke="#005500" stroke-width="1.5"/>
    
    <g transform="translate(-5 32) rotate(-10) scale(1.1)">
        <path d="M0 -25 C20 -30, 35 -15, 30 10 C25 35, -25 35, -30 10 C-35 -15, -20 -30, 0 -25 Z" fill="#CD853F" stroke="#8B4513" stroke-width="1.5"/>
        <path d="M0 -18 A18 18 0 0 1 0 18 A15 15 0 0 0 0 -12 A12 12 0 0 1 0 9 A9 9 0 0 0 0 -6 A6 6 0 0 1 0 3" fill="none" stroke="#7A4E13" stroke-width="2"/>
        <path d="M-25 -5 Q0 -20 25 -5" stroke="#FF0000" stroke-width="3.5" fill="none" stroke-dasharray="5,2.5" stroke-linecap="round"/>
    </g>

    <line x1="5" y1="38" x2="15" y2="18" stroke="#005500" stroke-width="3.5" stroke-linecap="round"/>
    <circle cx="17" cy="16" r="7" fill="#5F9EA0" stroke="#222" stroke-width="1"/>
    <circle cx="18" cy="15" r="2.5" fill="white" opacity="0.5"/>
    <line x1="-15" y1="38" x2="-25" y2="18" stroke="#005500" stroke-width="3.5" stroke-linecap="round"/>
    <circle cx="-27" cy="16" r="7" fill="#5F9EA0" stroke="#222" stroke-width="1"/>
    <circle cx="-26" cy="15" r="2.5" fill="white" opacity="0.5"/>
    <path d="M17 16 Q -5 5 -27 16" stroke="#4A4A4A" stroke-width="2.5" fill="none"/>

    <circle cx="-68" cy="75" r="2.5" fill="#FFD700" opacity="0.9"><animate attributeName="r" values="2.5;3;2.5" dur="1s" repeatCount="indefinite"/></circle>
    <circle cx="-74" cy="72" r="2" fill="#ADD8E6" opacity="0.8"><animate attributeName="cx" values="-74;-76;-74" dur="1.2s" repeatCount="indefinite"/></circle>
    <circle cx="-79" cy="78" r="1.5" fill="#FFC0CB" opacity="0.95"><animate attributeName="r" values="1.5;2;1.5" dur="0.8s" repeatCount="indefinite"/></circle>
  </g>

  <!-- Finish Line -->
  <g opacity="0.4" transform="translate(100 -30)">
    <rect x="280" y="150" width="4" height="70" fill="white"/>
    <rect x="284" y="150" width="4" height="70" fill="#222"/>
    <rect x="288" y="150" width="4" height="70" fill="white"/>
    <rect x="292" y="150" width="4" height="70" fill="#222"/>
    <rect x="280" y="145" width="16" height="5" fill="#D22B2B"/>
  </g>
</svg>
SVG by DeepSeek R1
<svg viewBox="0 0 300 300" xmlns="http://www.w3.org/2000/svg">
  <defs>
    <radialGradient id="moonGlow" cx="0.7" cy="0.3">
      <stop offset="0%" stop-color="#f4e3b2"/>
      <stop offset="100%" stop-color="#2a2356"/>
    </radialGradient>
    <linearGradient id="cheetahGrad" x1="0%" y1="0%" x2="100%" y2="100%">
      <stop offset="0%" stop-color="#ffd700"/>
      <stop offset="100%" stop-color="#d4870c"/>
    </linearGradient>
    <linearGradient id="shellGrad" gradientTransform="rotate(45)">
      <stop offset="0%" stop-color="#ff6b6b"/>
      <stop offset="100%" stop-color="#ff0066"/>
    </linearGradient>
    <filter id="sparkle" x="-20%" y="-20%" width="140%" height="140%">
      <feGaussianBlur in="SourceAlpha" stdDeviation="2"/>
      <feMerge>
        <feMergeNode />
        <feMergeNode in="SourceGraphic"/>
      </feMerge>
    </filter>
  </defs>

  <!-- Background -->
  <rect width="300" height="300" fill="url(#moonGlow)"/>
  <g fill="#ffffff" opacity="0.7">
    <circle cx="45" cy="75" r="1.2"/>
    <circle cx="120" cy="30" r="0.8"/>
    <circle cx="250" cy="90" r="1.5"/>
    <circle cx="180" cy="150" r="1"/>
  </g>

  <!-- Moon -->
  <circle cx="250" cy="50" r="25" fill="#f8f3e3" filter="url(#sparkle)"/>

  <!-- Racing Track -->
  <path d="M0 230 Q150 180 300 230" stroke="#4a3867" stroke-width="40" fill="none"/>
  <path d="M0 230 Q150 180 300 230" stroke="#6b5b8c" stroke-width="30" stroke-dasharray="4 8" fill="none"/>

  <!-- Cheetah -->
  <g transform="translate(80,190)">
    <path d="M0 0 l20 -30 q15 20 30 0 l10 20" fill="url(#cheetahGrad)"/>
    <circle cx="35" cy="-15" r="8" fill="#2d1a0f"/>
    <path d="M25 -5 l15 25" stroke="#2d1a0f" stroke-width="3"/>
    <!-- Roller Skates -->
    <g transform="translate(45,25)">
      <rect x="-10" y="0" width="20" height="8" rx="3" fill="#a83236"/>
      <circle cx="0" cy="8" r="5" fill="#363636"/>
      <circle cx="-7" cy="8" r="3" fill="#fff" opacity="0.8"/>
    </g>
  </g>

  <!-- Snail -->
  <g transform="translate(160,210)">
    <path d="M0 0 Q30 -40 60 0" fill="url(#shellGrad)"/>
    <path d="M30 0 l-20 -15 q10 -5 20 0" fill="#8bc34a"/>
    <circle cx="40" cy="-5" r="3" fill="#2d1a0f"/>
    <!-- Roller Skates -->
    <g transform="translate(15,15)">
      <rect x="-8" y="0" width="16" height="6" rx="2" fill="#4a90e2"/>
      <circle cx="0" cy="6" r="4" fill="#363636"/>
      <circle cx="-4" cy="6" r="2" fill="#fff" opacity="0.8"/>
    </g>
    <!-- Slime Trail -->
    <path d="M-40 25 q20 -10 40 0" stroke="#d4ff00" stroke-width="8" stroke-linecap="round" opacity="0.6"/>
  </g>

  <!-- Motion Lines -->
  <g stroke="#ffffff" opacity="0.6" stroke-dasharray="3 5">
    <path d="M100 190 l15 -25"/>
    <path d="M180 200 l20 -15"/>
  </g>
</svg>
GPT-4o
Judge & Evaluator
The winner of this SVG challenge is Gemini 2.5 Pro Preview 05-06 Player 1

Judge's Analysis

    Player 1's submission effectively adheres to the prompt by clearly depicting a snail and a cheetah on roller skates under a full moon.

    The whimsical scene is colorful and well-composed, with distinct and recognizable features for the characters.

    Player 2's image is more abstract and less clear in portraying the scenario, which impacts adherence to the prompt and overall visual communication.

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
72
Player 2
23
Rectangles

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

Player 1
8
Player 2
3
Circles

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

Player 1
24
Player 2
11
Ellipses

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

Player 1
16
Player 2
Lines

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

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

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

Player 1
6
Player 2
6

Visual Effects Metrics

Gradients

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

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

The number of elements with stroke attributes in the SVG.

Player 1
33
Player 2
5

Colors Metrics

Unique Colors

The number of unique colors used in the SVG.

Player 1
44
Player 2
17

Interactivity Metrics

Animations

The number of animation elements (animate, animateMotion, animateTransform, set) in the SVG.

Player 1
3
Player 2
Elements with Transform

The number of elements with transform attributes in the SVG.

Player 1
11
Player 2
4

Complexity Metrics

Path Commands

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

Player 1
77
Player 2
21
Max Group Nesting

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

Player 1
1
Player 2
1
Defs Elements

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

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