Creative Challenge
"A snail racing a cheetah on roller skates under a full moon."
<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 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>
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
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.
Similar Challenges
"Three-eyed owl perched on a glowing crescent moon."
"Clock tower with melting gears under a swirling aurora sky."
"A giant snail racing a time-traveling turtle under a starry sky."
"An octopus wearing a top hat and monocle, sipping tea at a tiny table underwater."