Creative Challenge
"A giraffe on roller skates juggling pineapples."
<svg viewBox="0 0 300 300" xmlns="http://www.w3.org/2000/svg">
<defs>
<radialGradient id="skyGrad" cx="50%" cy="50%" r="70%">
<stop offset="0%" stop-color="#6a11cb"/>
<stop offset="100%" stop-color="#2575fc"/>
</radialGradient>
<linearGradient id="neckGrad" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" stop-color="#ffe47a"/>
<stop offset="100%" stop-color="#ffd700"/>
</linearGradient>
<pattern id="pinePattern" width="0.2" height="0.2" patternUnits="objectBoundingBox">
<rect width="100%" height="100%" fill="#654321"/>
<path d="M0.1,0.1 l0.05,0.1 M0.15,0 l0,0.2 M0.2,0.1 l-0.05,0.1" stroke="#ffd700" stroke-width="0.02"/>
</pattern>
</defs>
<rect width="300" height="300" fill="url(#skyGrad)"/>
<!-- Giraffe body -->
<g transform="translate(120 180)">
<rect x="30" y="-80" width="40" height="140" rx="20" fill="url(#neckGrad)"/>
<ellipse cx="50" cy="-90" rx="25" ry="35" fill="#ffd700"/>
<circle cx="40" cy="-100" r="6" fill="#333"/>
<circle cx="60" cy="-100" r="6" fill="#333"/>
<path d="M45 -85 Q50 -75 55 -85" stroke="#333" fill="none" stroke-width="2"/>
<!-- Spots -->
<g fill="#e67e22" stroke="#d35400" stroke-width="1.5">
<path d="M40 -70 q-10 5 0 15 q10 -5 0 -15z"/>
<path d="M60 -50 q12 8 -5 18 q-12 -8 5 -18z"/>
<path d="M35 -30 q-8 12 10 10 q8 -12 -10 -10z"/>
</g>
<!-- Roller skates -->
<g transform="translate(-10 60)">
<rect x="40" y="0" width="30" height="15" rx="5" fill="#e74c3c"/>
<circle cx="45" cy="15" r="8" fill="#2c3e50"/>
<circle cx="65" cy="15" r="8" fill="#34495e"/>
<path d="M40 0 l15 -5 15 5" fill="#c0392b"/>
</g>
</g>
<!-- Juggling pineapples -->
<g stroke="#2ecc71" stroke-width="3">
<g transform="translate(100 80)">
<ellipse rx="20" ry="30" fill="url(#pinePattern)"/>
<path d="M-15 -25 l5 -10 5 10 M5 -25 l5 -10 5 10" stroke="#8b4513"/>
</g>
<g transform="translate(170 50)">
<ellipse rx="18" ry="25" fill="url(#pinePattern)"/>
<path d="M-12 -20 l4 -8 4 8 M4 -20 l4 -8 4 8" stroke="#8b4513"/>
</g>
<g transform="translate(220 100)">
<ellipse rx="15" ry="22" fill="url(#pinePattern)"/>
<path d="M-10 -18 l3 -6 3 6 M3 -18 l3 -6 3 6" stroke="#8b4513"/>
</g>
</g>
<!-- Motion lines -->
<g stroke="#ffffff88" stroke-width="2" stroke-dasharray="4 4">
<path d="M130 220 q-30 -40 -50 -60"/>
<path d="M200 210 q20 -35 40 -50"/>
</g>
</svg>
<svg viewBox="0 0 300 300" xmlns="http://www.w3.org/2000/svg">
<defs>
<linearGradient id="giraffeGrad" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" style="stop-color:#FFE4B5;stop-opacity:1" />
<stop offset="100%" style="stop-color:#DEB887;stop-opacity:1" />
</linearGradient>
<linearGradient id="pineappleGrad" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" style="stop-color:#FFD700;stop-opacity:1" />
<stop offset="100%" style="stop-color:#FFA500;stop-opacity:1" />
</linearGradient>
<radialGradient id="wheelGrad">
<stop offset="0%" style="stop-color:#FF1493;stop-opacity:1" />
<stop offset="100%" style="stop-color:#C71585;stop-opacity:1" />
</radialGradient>
<pattern id="spots" x="0" y="0" width="20" height="20" patternUnits="userSpaceOnUse">
<circle cx="10" cy="10" r="6" fill="#8B4513" opacity="0.7"/>
</pattern>
</defs>
<!-- Background -->
<rect width="300" height="300" fill="#87CEEB"/>
<circle cx="50" cy="50" r="30" fill="#FFF9C4" opacity="0.8"/>
<!-- Ground -->
<ellipse cx="150" cy="280" rx="140" ry="20" fill="#90EE90" opacity="0.5"/>
<!-- Giraffe Body -->
<ellipse cx="150" cy="180" rx="40" ry="60" fill="url(#giraffeGrad)"/>
<rect x="130" y="120" width="40" height="80" fill="url(#giraffeGrad)" mask="url(#spotMask)"/>
<!-- Giraffe Spots -->
<ellipse cx="150" cy="180" rx="40" ry="60" fill="url(#spots)" opacity="0.6"/>
<!-- Giraffe Neck -->
<rect x="140" y="60" width="20" height="80" fill="url(#giraffeGrad)" transform="rotate(-5 150 100)"/>
<rect x="140" y="60" width="20" height="80" fill="url(#spots)" opacity="0.6" transform="rotate(-5 150 100)"/>
<!-- Giraffe Head -->
<ellipse cx="145" cy="50" rx="20" ry="25" fill="url(#giraffeGrad)"/>
<circle cx="138" cy="45" r="3" fill="#000"/>
<circle cx="152" cy="45" r="3" fill="#000"/>
<ellipse cx="145" cy="60" rx="8" ry="5" fill="#8B4513"/>
<!-- Giraffe Horns -->
<rect x="138" y="25" width="4" height="10" rx="2" fill="#8B4513"/>
<rect x="148" y="25" width="4" height="10" rx="2" fill="#8B4513"/>
<circle cx="140" cy="25" r="3" fill="#8B4513"/>
<circle cx="150" cy="25" r="3" fill="#8B4513"/>
<!-- Giraffe Legs with Roller Skates -->
<rect x="130" y="220" width="12" height="40" fill="url(#giraffeGrad)"/>
<rect x="158" y="220" width="12" height="40" fill="url(#giraffeGrad)"/>
<!-- Roller Skates -->
<rect x="125" y="255" width="22" height="15" rx="3" fill="#FF6347"/>
<rect x="153" y="255" width="22" height="15" rx="3" fill="#FF6347"/>
<circle cx="130" cy="275" r="6" fill="url(#wheelGrad)"/>
<circle cx="142" cy="275" r="6" fill="url(#wheelGrad)"/>
<circle cx="158" cy="275" r="6" fill="url(#wheelGrad)"/>
<circle cx="170" cy="275" r="6" fill="url(#wheelGrad)"/>
<!-- Motion lines -->
<path d="M 110 270 L 90 270" stroke="#4169E1" stroke-width="3" opacity="0.6"/>
<path d="M 110 275 L 85 275" stroke="#4169E1" stroke-width="3" opacity="0.5"/>
<path d="M 110 280 L 90 280" stroke="#4169E1" stroke-width="3" opacity="0.4"/>
<!-- Juggling Pineapples -->
<g transform="rotate(20 80 100)">
<ellipse cx="80" cy="100" rx="15" ry="20" fill="url(#pineappleGrad)"/>
<path d="M 65 90 L 80 80 L 95 90" fill="#228B22" stroke="#228B22" stroke-width="2"/>
</g>
<g transform="rotate(-30 150 40)">
<ellipse cx="150" cy="40" rx="15" ry="20" fill="url(#pineappleGrad)"/>
<path d="M 135 30 L 150 20 L 165 30" fill="#228B22" stroke="#228B22" stroke-width="2"/>
</g>
<g transform="rotate(45 220 120)">
<ellipse cx="220" cy="120" rx="15" ry="20" fill="url(#pineappleGrad)"/>
<path d="M 205 110 L 220 100 L 235 110" fill="#228B22" stroke="#228B22" stroke-width="2"/>
</g>
<!-- Juggling motion arcs -->
<path d="M 80 100 Q 115 20, 150 40" fill="none" stroke="#FFD700" stroke-width="2" stroke-dasharray="5,5" opacity="0.5"/>
<path d="M 150 40 Q 185 80, 220 120" fill="none" stroke="#FFD700" stroke-width="2" stroke-dasharray="5,5" opacity="0.5"/>
<path d="M 220 120 Q 150 140, 80 100" fill="none" stroke="#FFD700" stroke-width="2" stroke-dasharray="5,5" opacity="0.5"/>
<!-- Giraffe Arms -->
<ellipse cx="120" cy="160" rx="8" ry="30" fill="url(#giraffeGrad)" transform="rotate(-30 120 160)"/>
<ellipse cx="180" cy="160" rx="8" ry="30" fill="url(#giraffeGrad)" transform="rotate(30 180 160)"/>
</svg>
Judge's Analysis
Player 2's submission demonstrates better adherence to the prompt by clearly depicting a giraffe on roller skates juggling pineapples with well-defined shapes and a cohesive composition.
The technical quality and creativity are superior, with thoughtful details like the juggling motion and a more realistic giraffe form.
Player 1's submission, while colorful, lacks clarity and proportion in its depiction of the giraffe and the scene 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
The total number of shape elements (rect, circle, ellipse, line, polygon, polyline, path) in the SVG.
The number of rectangle elements (rect) in the SVG.
The number of circle elements (circle) in the SVG.
The number of ellipse elements (ellipse) in the SVG.
The number of line elements (line) in the SVG.
The number of polygon elements (polygon) in the SVG.
The number of path elements (path) in the SVG.
The number of group elements (g) in the SVG.
Visual Effects Metrics
The number of gradient definitions (linearGradient, radialGradient) in the SVG.
The number of pattern definitions (pattern) in the SVG.
The number of filter definitions (filter) in the SVG.
The number of mask definitions (mask) in the SVG.
The number of clipping path definitions (clipPath) in the SVG.
The number of elements with opacity attributes in the SVG.
The number of elements with stroke attributes in the SVG.
Colors Metrics
The number of unique colors used in the SVG.
Interactivity Metrics
The number of animation elements (animate, animateMotion, animateTransform, set) in the SVG.
The number of elements with transform attributes in the SVG.
Complexity Metrics
The total number of path commands in all path elements (M, L, C, Q, etc.) in the SVG.
The maximum nesting level of group elements (g) in the SVG.
The number of elements defined within the defs element in the SVG.
The number of use elements (use) in the SVG.
Text Metrics
The number of text elements (text) in the SVG.
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.