Back

SVG Drawing Match #2525

May 09, 2025
GPT-4o
Challenge Creator

Creative Challenge

"An octopus juggling flaming swords under the moonlight."

SVG by GPT-4.1 nano (2025-04-14)
<svg viewBox="0 0 300 300" xmlns="http://www.w3.org/2000/svg">
  <!-- Sky Gradient background for moonlit night -->
  <defs>
    <radialGradient id="skyGradient" cx="50%" cy="50%" r="50%">
      <stop offset="0%" stop-color="#0d1b2a"/>
      <stop offset="100%" stop-color="#000000"/>
    </radialGradient>
    <!-- Moon Gradient -->
    <radialGradient id="moonGradient" cx="50%" cy="50%" r="50%">
      <stop offset="0%" stop-color="#fffbea"/>
      <stop offset="100%" stop-color="#f2e8d5"/>
    </radialGradient>
    <!-- Sword flame gradient -->
    <linearGradient id="fireGradient" x1="0" y1="0" x2="0" y2="1">
      <stop offset="0%" stop-color="#ff4d00" />
      <stop offset="100%" stop-color="#ffff00" />
    </linearGradient>
  </defs>
  
  <!-- Background -->
  <rect width="100%" height="100%" fill="url(#skyGradient)" />

  <!-- Moon -->
  <circle cx="250" cy="60" r="30" fill="url(#moonGradient)" opacity="0.8"/>

  <!-- Octopus Body -->
  <g id="octopus" transform="translate(150,180)">
    <!-- Main body -->
    <ellipse cx="0" cy="0" rx="40" ry="25" fill="#7f3f98" stroke="#4b006e" stroke-width="2"/>
    <!-- Head tentacles -->
    <ellipse cx="0" cy="0" rx="40" ry="25" fill="#7f3f98" stroke="#4b006e" stroke-width="2"/>

    <!-- Tentacles -->
    <!-- Tentacle 1 -->
    <g transform="translate(-20,10)">
      <path d="M0,0 Q-15,30 -5,50 Q-10,70 0,90" fill="none" stroke="#4b006e" stroke-width="5" stroke-linecap="round"/>
    </g>
    <!-- Tentacle 2 -->
    <g transform="translate(0,12)">
      <path d="M0,0 Q-15,25 5,50 Q10,65 0,85" fill="none" stroke="#4b006e" stroke-width="5" stroke-linecap="round"/>
    </g>
    <!-- Tentacle 3 -->
    <g transform="translate(20,10)">
      <path d="M0,0 Q15,30 5,50 Q-10,70 0,90" fill="none" stroke="#4b006e" stroke-width="5" stroke-linecap="round"/>
    </g>
    <!-- Tentacle 4 -->
    <g transform="translate(-25,20)">
      <path d="M0,0 Q-20,35 -5,55 Q-12,75 0,95" fill="none" stroke="#4b006e" stroke-width="5" stroke-linecap="round"/>
    </g>
    <!-- Tentacle 5 -->
    <g transform="translate(25,20)">
      <path d="M0,0 Q20,35 5,55 Q12,75 0,95" fill="none" stroke="#4b006e" stroke-width="5" stroke-linecap="round"/>
    </g>
  </g>

  <!-- Juggling Swords -->
  <!-- Sword 1 -->
  <g transform="translate(150,150)">
    <!-- Sword blade -->
    <rect x="-2" y="-60" width="4" height="60" fill="#a9a9a9"/>
    <!-- Sword handle -->
    <rect x="-4" y="0" width="8" height="10" fill="#654321"/>
    <!-- Flame -->
    <path d="M0,-60 Q5,-50 0,-40 Q-5,-50 0,-60" fill="url(#fireGradient)" opacity="0.8"/>
  </g>
  <!-- Sword 2 -->
  <g transform="translate(200,180)">
    <rect x="-2" y="-60" width="4" height="60" fill="#a9a9a9"/>
    <rect x="-4" y="0" width="8" height="10" fill="#654321"/>
    <path d="M0,-60 Q5,-50 0,-40 Q-5,-50 0,-60" fill="url(#fireGradient)" opacity="0.8" transform="rotate(120,0,-60)"/>
  </g>
  <!-- Sword 3 -->
  <g transform="translate(100,180)">
    <rect x="-2" y="-60" width="4" height="60" fill="#a9a9a9"/>
    <rect x="-4" y="0" width="8" height="10" fill="#654321"/>
    <path d="M0,-60 Q5,-50 0,-40 Q-5,-50 0,-60" fill="url(#fireGradient)" opacity="0.8" transform="rotate(240,0,-60)"/>
  </g>
  <!-- Additional Swords for juggling effect -->
  <g transform="translate(180,130)">
    <rect x="-2" y="-60" width="4" height="60" fill="#a9a9a9"/>
    <rect x="-4" y="0" width="8" height="10" fill="#654321"/>
    <path d="M0,-60 Q5,-50 0,-40 Q-5,-50 0,-60" fill="url(#fireGradient)" opacity="0.8" transform="rotate(60,0,-60)"/>
  </g>
  <g transform="translate(120,130)">
    <rect x="-2" y="-60" width="4" height="60" fill="#a9a9a9"/>
    <rect x="-4" y="0" width="8" height="10" fill="#654321"/>
    <path d="M0,-60 Q5,-50 0,-40 Q-5,-50 0,-60" fill="url(#fireGradient)" opacity="0.8" transform="rotate(300,0,-60)"/>
  </g>
</svg>
SVG by GPT-4.1 (2025-04-14)
<svg viewBox="0 0 300 300" xmlns="http://www.w3.org/2000/svg">
  <defs>
    <!-- Gradients -->
    <radialGradient id="moonGlow" cx="70%" cy="25%" r="35%">
      <stop offset="0%" stop-color="#fffbe6" />
      <stop offset="65%" stop-color="#ffe66b" stop-opacity="0.25" />
      <stop offset="100%" stop-color="#80a9e6" stop-opacity="0.05" />
    </radialGradient>
    <radialGradient id="bgGrad" cx="50%" cy="60%" r="90%">
      <stop offset="0%" stop-color="#1a2159" />
      <stop offset="80%" stop-color="#171c3a" />
      <stop offset="100%" stop-color="#0a1125" />
    </radialGradient>
    <radialGradient id="octoBody" cx="50%" cy="40%" r="90%">
      <stop offset="0%" stop-color="#6be8ec"/>
      <stop offset="50%" stop-color="#426be5"/>
      <stop offset="100%" stop-color="#2e2d7a"/>
    </radialGradient>
    <radialGradient id="swordBlade" cx="80%" cy="0%" r="100%">
      <stop offset="0%" stop-color="#f8f8f9" />
      <stop offset="70%" stop-color="#d1e4f7" />
      <stop offset="98%" stop-color="#a3bbd5" />
      <stop offset="100%" stop-color="#ffffff" stop-opacity="0" />
    </radialGradient>
    <linearGradient id="flame1" x1="0" y1="0" x2="0" y2="1">
      <stop offset="8%" stop-color="#fff5a0" />
      <stop offset="38%" stop-color="#ff930f" />
      <stop offset="100%" stop-color="#f34723" />
    </linearGradient>
    <linearGradient id="tentacleGrad" x1="0" y1="0" x2="1" y2="1">
      <stop offset="0%" stop-color="#78e7db"/>
      <stop offset="100%" stop-color="#2642af"/>
    </linearGradient>
    <radialGradient id="suckerGrad" cx="50%" cy="50%" r="60%">
      <stop offset="0%" stop-color="#fdf6ec" />
      <stop offset="100%" stop-color="#e2c6be" />
    </radialGradient>
    <radialGradient id="octoEyeWhite" cx="60%" cy="40%" r="70%">
      <stop offset="0%" stop-color="#f7fafd"/>
      <stop offset="100%" stop-color="#bfe9f5"/>
    </radialGradient>
    <radialGradient id="octoPupil" cx="60%" cy="40%" r="70%">
      <stop offset="0%" stop-color="#1e1e2a"/>
      <stop offset="100%" stop-color="#4b82b1"/>
    </radialGradient>
    <filter id="glow" x="-40%" y="-40%" width="180%" height="180%">
      <feGaussianBlur stdDeviation="4" result="coloredBlur"/>
      <feMerge>
        <feMergeNode in="coloredBlur"/>
        <feMergeNode in="SourceGraphic"/>
      </feMerge>
    </filter>
    <filter id="flameGlow" width="250%" height="250%" x="-90%" y="-90%">
      <feGaussianBlur stdDeviation="3"/>
    </filter>
  </defs>

  <!-- Night Sky Background -->
  <rect x="0" y="0" width="300" height="300" fill="url(#bgGrad)"/>

  <!-- Moon and Moon Glow -->
  <circle cx="210" cy="65" r="38" fill="url(#moonGlow)" filter="url(#glow)" opacity="0.95"/>
  <!-- Craters -->
  <ellipse cx="227" cy="73" rx="6" ry="2.2" fill="#e5dab7" opacity="0.22"/>
  <ellipse cx="198" cy="58" rx="4.5" ry="1.3" fill="#39343a" opacity="0.16"/>
  <ellipse cx="211" cy="46" rx="3" ry="1" fill="#ded6b2" opacity="0.13"/>
  
  <!-- Subtle clouds for mystique -->
  <ellipse cx="200" cy="90" rx="36" ry="11" fill="#fff" opacity=".09"/>
  <ellipse cx="240" cy="55" rx="30" ry="7" fill="#fff" opacity=".07"/>
  <ellipse cx="180" cy="65" rx="20" ry="5" fill="#fff" opacity=".07"/>
  
  <!-- Stars -->
  <g>
    <circle cx="52" cy="31" r="1.1" fill="#fffbe9"/>
    <circle cx="15" cy="180" r=".8" fill="#fffbed"/>
    <circle cx="88" cy="54" r=".9" fill="#fffde7"/>
    <circle cx="44" cy="86" r=".7" fill="#fffeef"/>
    <circle cx="268" cy="25" r="1.7" fill="#fffbfb"/>
    <circle cx="280" cy="130" r="1.05" fill="#f5f9e8"/>
    <circle cx="148" cy="35" r="1.0" fill="#FDFDFF"/>
    <circle cx="225" cy="105" r=".6" fill="#fff"/>
    <circle cx="32" cy="242" r=".9" fill="#fffae2"/>
    <circle cx="267" cy="264" r=".7" fill="#f1f6e9"/>
    <circle cx="190" cy="14" r="1.3" fill="#fff"/>
    <circle cx="175" cy="77" r=".7" fill="#fff"/>
    <circle cx="187" cy="39" r=".9" fill="#fff"/>
    <circle cx="212" cy="22" r="1.6" fill="#fff"/>
  </g>

  <!-- Ground shadow/spotlight for surface -->
  <ellipse cx="140" cy="245" rx="70" ry="18" fill="#365086" opacity=".18"/>

  <!-- Octopus main body (bulbous head) -->
  <ellipse cx="140" cy="155" rx="48" ry="42" fill="url(#octoBody)" filter="url(#glow)"/>
  
  <!-- Tentacles (8) -->
  <g>
    <!-- Each tentacle is a complex path with gradient fill and several suckers -->

    <!-- Lower left (closest) -->
    <path d="M121,180 Q94,224 105,260 Q131,265 140,225 Q134,247 118,233 Q123,203 121,180Z"
      fill="url(#tentacleGrad)" stroke="#21589d" stroke-width="2"/>
    <!-- Suckers -->
    <ellipse cx="119" cy="191" rx="4.5" ry="2.2" fill="url(#suckerGrad)" opacity=".7"/>
    <ellipse cx="112" cy="210" rx="3.8" ry="2.1" fill="url(#suckerGrad)" opacity=".82"/>
    <ellipse cx="110" cy="229" rx="3" ry="1.5" fill="url(#suckerGrad)" opacity=".7"/>

    <!-- Lower right -->
    <path d="M159,183 Q192,244 167,270 Q150,271 145,245 Q153,259 170,260 Q185,249 166,215 Q173,203 159,183Z"
      fill="url(#tentacleGrad)" stroke="#21589d" stroke-width="2"/>
    <ellipse cx="163" cy="196" rx="4" ry="2" fill="url(#suckerGrad)" opacity=".72"/>
    <ellipse cx="172" cy="217" rx="3.6" ry="2" fill="url(#suckerGrad)" opacity=".75"/>
    <ellipse cx="165" cy="242" rx="2.4" ry="1.2" fill="url(#suckerGrad)" opacity=".74"/>
    
    <!-- Upper left (extended out) -->
    <path d="M109,162 Q64,160 39,110 Q66,102 88,139 Q76,128 48,122 Q62,134 92,151 Q103,152 109,162Z"
      fill="url(#tentacleGrad)" stroke="#21589d" stroke-width="2"/>
    <ellipse cx="96" cy="150" rx="3.8" ry="1.9" fill="url(#suckerGrad)" opacity=".8"/>
    <ellipse cx="75" cy="135" rx="3" ry="1.4" fill="url(#suckerGrad)" opacity=".65"/>
    <ellipse cx="58" cy="124" rx="2.5" ry="1.2" fill="url(#suckerGrad)" opacity=".56"/>
    
    <!-- Upper right (extended out) -->
    <path d="M171,161 Q218,158 256,115 Q216,99 202,145 Q220,120 251,112 Q232,137 187,149 Q176,151 171,161Z"
      fill="url(#tentacleGrad)" stroke="#21589d" stroke-width="2"/>
    <ellipse cx="181" cy="151" rx="3.9" ry="2" fill="url(#suckerGrad)" opacity=".76"/>
    <ellipse cx="211" cy="140" rx="3.3" ry="1.6" fill="url(#suckerGrad)" opacity=".61"/>
    <ellipse cx="236" cy="120" rx="2.4" ry="1.1" fill="url(#suckerGrad)" opacity=".52"/>
    
    <!-- Center left -->
    <path d="M110,172 Q66,187 49,210 Q72,240 110,225 Q81,234 63,221 Q75,203 112,189 Q113,180 110,172Z"
      fill="url(#tentacleGrad)" stroke="#21589d" stroke-width="2"/>
    <ellipse cx="98" cy="196" rx="3.5" ry="1.7" fill="url(#suckerGrad)" opacity=".7"/>
    <ellipse cx="79" cy="208" rx="2.7" ry="1.2" fill="url(#suckerGrad)" opacity=".7"/>
    
    <!-- Center right -->
    <path d="M169,170 Q217,188 242,221 Q235,249 192,230 Q228,240 236,225 Q210,209 166,186 Q166,176 169,170Z"
      fill="url(#tentacleGrad)" stroke="#21589d" stroke-width="2"/>
    <ellipse cx="184" cy="196" rx="3.5" ry="1.7" fill="url(#suckerGrad)" opacity=".72"/>
    <ellipse cx="212" cy="212" rx="2.7" ry="1.2" fill="url(#suckerGrad)" opacity=".69"/>
     
    <!-- Top left -->
    <path d="M128,147 Q104,120 99,77 Q125,88 134,132 Q127,99 112,88 Q121,113 137,144 Q133,144 128,147Z"
      fill="url(#tentacleGrad)" stroke="#21589d" stroke-width="2"/>
    <ellipse cx="121" cy="114" rx="2.4" ry="1.1" fill="url(#suckerGrad)" opacity=".62"/>
    <ellipse cx="127" cy="132" rx="2.4" ry="1.1" fill="url(#suckerGrad)" opacity=".63"/>
    
    <!-- Top right -->
    <path d="M151,147 Q172,117 183,74 Q155,86 150,128 Q157,97 176,84 Q158,116 144,142 Q147,144 151,147Z"
      fill="url(#tentacleGrad)" stroke="#21589d" stroke-width="2"/>
    <ellipse cx="158" cy="120" rx="2.3" ry="1.1" fill="url(#suckerGrad)" opacity=".61"/>
    <ellipse cx="152" cy="134" rx="2.2" ry="1.0" fill="url(#suckerGrad)" opacity=".61"/>
  </g>

  <!-- Octopus Eyes -->
  <g>
    <!-- Left eye -->
    <ellipse cx="124" cy="149" rx="13" ry="14" fill="url(#octoEyeWhite)" stroke="#245293" stroke-width="1.4"/>
    <ellipse cx="124" cy="153" rx="6" ry="6.8" fill="url(#octoPupil)" />
    <ellipse cx="127" cy="151" rx="2.4" ry="1.1" fill="#e0f8ff" opacity="0.65"/>
    <!-- Right eye -->
    <ellipse cx="157" cy="149" rx="13" ry="14" fill="url(#octoEyeWhite)" stroke="#245293" stroke-width="1.4"/>
    <ellipse cx="157" cy="153" rx="6" ry="6.7" fill="url(#octoPupil)" />
    <ellipse cx="160" cy="151" rx="2.3" ry="1.1" fill="#e0f8ff" opacity="0.65"/>
  </g>
  <!-- Cheek spots -->
  <ellipse cx="113" cy="167" rx="3.4" ry="2.2" fill="#f1a0e7" opacity="0.14"/>
  <ellipse cx="168" cy="167" rx="3.4" ry="2.2" fill="#f1a0e7" opacity="0.17"/>

  <!-- Octopus whimsical eyebrows -->
  <path d="M119,140 Q123,137 127,141" stroke="#4c2b41" stroke-width="2" fill="none" />
  <path d="M152,141 Q156,137 161,141" stroke="#4c2b41" stroke-width="2" fill="none" />

  <!-- Moustache for personality -->
  <path d="M126,168 Q132,173 140,168 Q148,173 154,168" stroke="#664388" stroke-width="2" fill="none" opacity="0.55"/>

  <!-- Fiery juggling swords (6, in arc above) -->
  <g>
    <!-- Define transformations for each sword/flame around a juggling arc -->
    <!-- 1, far left -->
    <g transform="rotate(-39 140 119)">
      <g>
        <!-- Sword Blade -->
        <rect x="137" y="81" width="6" height="34" rx="2.5" fill="url(#swordBlade)" stroke="#dbeaff" stroke-width="1.2"/>
        <!-- Hilt -->
        <rect x="136" y="117" width="8" height="7" rx="2.4" fill="#567888" stroke="#3d535b" stroke-width="0.7"/>
        <!-- Crossguard -->
        <rect x="134" y="119.5" width="12" height="2" rx="1" fill="#e7c778"/>
        <!-- Flame -->
        <path d="M140,80 Q143,72 142,69 Q146,74 144,77 Q146,65 137,71 Q136,77 140,80 Z"
          fill="url(#flame1)" filter="url(#flameGlow)" />
      </g>
    </g>

    <!-- 2, left center -->
    <g transform="rotate(-22 140 119)">
      <g>
        <rect x="137" y="81" width="6" height="34" rx="2.5" fill="url(#swordBlade)" stroke="#dbeaff" stroke-width="1.2"/>
        <rect x="136" y="117" width="8" height="7" rx="2.4" fill="#567888" stroke="#3d535b" stroke-width="0.7"/>
        <rect x="134" y="119.5" width="12" height="2" rx="1" fill="#e7c778"/>
        <path d="M140,80 Q143,74 141,68 Q146,73 144,76 Q146,66 135,72 Q136,77 140,80 Z"
          fill="url(#flame1)" filter="url(#flameGlow)" />
      </g>
    </g>

    <!-- 3, center left -->
    <g transform="rotate(-7 140 119)">
      <g>
        <rect x="137" y="79" width="6" height="34" rx="2.5" fill="url(#swordBlade)" stroke="#dbeaff" stroke-width="1.2"/>
        <rect x="136" y="115" width="8" height="7" rx="2.4" fill="#567888" stroke="#3d535b" stroke-width="0.7"/>
        <rect x="134" y="117.5" width="12" height="2" rx="1" fill="#e7c778"/>
        <path d="M140,78 Q143,72 143,67 Q146,74 144,76 Q146,67 136,70 Q137,75 140,78 Z"
          fill="url(#flame1)" filter="url(#flameGlow)" />
      </g>
    </g>

    <!-- 4, center right -->
    <g transform="rotate(10 140 119)">
      <g>
        <rect x="137" y="81" width="6" height="34" rx="2.5" fill="url(#swordBlade)" stroke="#dbeaff" stroke-width="1.2"/>
        <rect x="136" y="117" width="8" height="7" rx="2.4" fill="#567888" stroke="#3d535b" stroke-width="0.7"/>
        <rect x="134" y="119.5" width="12" height="2" rx="1" fill="#e7c778"/>
        <path d="M140,80 Q143,75 141,69 Q146,74 144,76 Q146,70 134,72 Q135,77 140,80 Z"
          fill="url(#flame1)" filter="url(#flameGlow)" />
      </g>
    </g>

    <!-- 5, right center -->
    <g transform="rotate(26 140 119)">
      <g>
        <rect x="137" y="81" width="6" height="34" rx="2.5" fill="url(#swordBlade)" stroke="#dbeaff" stroke-width="1.2"/>
        <rect x="136" y="117" width="8" height="7" rx="2.4" fill="#567888" stroke="#3d535b" stroke-width="0.7"/>
        <rect x="134" y="119.5" width="12" height="2" rx="1" fill="#e7c778"/>
        <path d="M140,80 Q145,74 141,68 Q146,73 144,76 Q146,65 134,71 Q136,77 140,80 Z"
          fill="url(#flame1)" filter="url(#flameGlow)" />
      </g>
    </g>

    <!-- 6, far right -->
    <g transform="rotate(39 140 119)">
      <g>
        <rect x="137" y="82" width="6" height="34" rx="2.5" fill="url(#swordBlade)" stroke="#dbeaff" stroke-width="1.2"/>
        <rect x="136" y="118" width="8" height="7" rx="2.4" fill="#567888" stroke="#3d535b" stroke-width="0.7"/>
        <rect x="134" y="120.5" width="12" height="2" rx="1" fill="#e7c778"/>
        <path d="M140,81 Q144,76 141,70 Q146,75 144,78 Q146,66 137,73 Q137,78 140,81 Z"
          fill="url(#flame1)" filter="url(#flameGlow)" />
      </g>
    </g>
  </g>

  <!-- Juggling motion arcs (light swirls/faint arcs under moonlight) -->
  <path d="M88,97 Q140,49 192,98" fill="none" stroke="#e7eefd" stroke-width="2.2" opacity="0.13" />
  <path d="M78,102 Q140,69 206,101" fill="none" stroke="#f4c04c" stroke-width="1.3" opacity="0.11" />
  <path d="M100,110 Q140,88 188,109" fill="none" stroke="#ee7f2f" stroke-width="0.7" opacity="0.11"/>

  <!-- Final touch: reflection/light from fire on tentacles -->
  <ellipse cx="140" cy="115" rx="45" ry="12" fill="orange" opacity="0.11"/>
</svg>
GPT-4o
Judge & Evaluator
The winner of this SVG challenge is GPT-4.1 (2025-04-14) Player 2

Judge's Analysis

    Player 2's submission demonstrates superior creativity, technical quality, and visual appeal.

    The octopus is vividly illustrated, with expressive features and a dynamic juggling pose that captures the theme.

    In comparison, Player 1's image is simpler and less detailed, with the octopus design being less engaging and the composition not fully embracing the prompt's dramatic potential.

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
24
Player 2
91
Rectangles

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

Player 1
11
Player 2
19
Circles

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

Player 1
1
Player 2
15
Ellipses

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

Player 1
2
Player 2
37
Lines

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

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

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

Player 1
11
Player 2
16

Visual Effects Metrics

Gradients

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

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

The number of elements with stroke attributes in the SVG.

Player 1
7
Player 2
28

Colors Metrics

Unique Colors

The number of unique colors used in the SVG.

Player 1
10
Player 2
52

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

Complexity Metrics

Path Commands

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

Player 1
30
Player 2
104
Max Group Nesting

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

Player 1
1
Player 2
2
Defs Elements

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

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