Creative Challenge
"A snail racing a rocket on a winding rainbow road under a starry sky."
<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:#0B1339"/>
<stop offset="100%" style="stop-color:#1B2D5E"/>
</linearGradient>
<linearGradient id="rainbowGradient" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" style="stop-color:#FF0000"/>
<stop offset="16.6%" style="stop-color:#FF9900"/>
<stop offset="33.3%" style="stop-color:#FFFF00"/>
<stop offset="50%" style="stop-color:#00FF00"/>
<stop offset="66.6%" style="stop-color:#0099FF"/>
<stop offset="83.3%" style="stop-color:#6633FF"/>
<stop offset="100%" style="stop-color:#FF00FF"/>
</linearGradient>
</defs>
<!-- Background -->
<rect x="0" y="0" width="300" height="300" fill="url(#skyGradient)"/>
<!-- Stars -->
<g id="stars">
<circle cx="50" cy="30" r="1" fill="white"/>
<circle cx="150" cy="20" r="1.5" fill="white"/>
<circle cx="250" cy="40" r="1" fill="white"/>
<circle cx="80" cy="60" r="1.2" fill="white"/>
<circle cx="200" cy="50" r="1" fill="white"/>
<circle cx="280" cy="70" r="1.3" fill="white"/>
</g>
<!-- Rainbow Road -->
<path d="M0,200 Q75,150 150,200 T300,200" stroke="url(#rainbowGradient)" stroke-width="20" fill="none"/>
<!-- Rocket -->
<g transform="translate(200,180) rotate(-15)">
<path d="M0,0 L10,-20 L20,0 Z" fill="#FF4444"/>
<rect x="5" y="0" width="10" height="25" fill="#DDDDDD"/>
<path d="M0,25 L10,35 L20,25 Z" fill="#888888"/>
<circle cx="10" cy="15" r="5" fill="#3366FF"/>
<path d="M5,25 L0,35 M15,25 L20,35" stroke="#FF6600" stroke-width="2"/>
</g>
<!-- Snail -->
<g transform="translate(80,180)">
<path d="M0,0 Q10,-10 20,0 T40,0" fill="#884422"/>
<circle cx="40" cy="0" r="15" fill="#AA6633"/>
<path d="M40,-15 Q60,-15 60,0 T40,15" fill="#AA6633"/>
<circle cx="55" cy="-5" r="3" fill="black"/>
<path d="M55,-5 L58,-8" stroke="black" stroke-width="1"/>
<path d="M55,-5 L58,-2" stroke="black" stroke-width="1"/>
</g>
<!-- Speed Lines -->
<g stroke="#FFFFFF" stroke-width="1" opacity="0.5">
<line x1="220" y1="170" x2="240" y2="170"/>
<line x1="225" y1="180" x2="245" y2="180"/>
<line x1="230" y1="190" x2="250" y2="190"/>
</g>
</svg>
<svg viewBox="0 0 300 300" xmlns="http://www.w3.org/2000/svg">
<defs>
<!-- Night sky gradient -->
<radialGradient id="skynight" cx="50%" cy="30%" r="85%">
<stop offset="0%" stop-color="#27236d"/>
<stop offset="60%" stop-color="#201942"/>
<stop offset="100%" stop-color="#0c0923"/>
</radialGradient>
<!-- Rainbow road gradient -->
<linearGradient id="rainbow" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#ff2d55"/>
<stop offset="0.18" stop-color="#ff9500"/>
<stop offset="0.36" stop-color="#ffeb3b"/>
<stop offset="0.54" stop-color="#00d84a"/>
<stop offset="0.72" stop-color="#234aff"/>
<stop offset="0.9" stop-color="#8600fa"/>
</linearGradient>
<!-- Rocket body gradient -->
<linearGradient id="rocketBody" x1="0%" y1="100%" x2="100%" y2="0%">
<stop offset="0%" stop-color="#f8fafc"/>
<stop offset="0.6" stop-color="#85b3ff"/>
<stop offset="1" stop-color="#b600c0"/>
</linearGradient>
<!-- Flame gradient -->
<radialGradient id="flame" cx="50%" cy="90%" r="80%">
<stop offset="0%" stop-color="#fffac3"/>
<stop offset="30%" stop-color="#ffae00"/>
<stop offset="70%" stop-color="#f65a00"/>
<stop offset="100%" stop-color="#a61e0b"/>
</radialGradient>
<!-- Snail shell pattern -->
<radialGradient id="shell" cx="50%" cy="50%" r="80%">
<stop offset="0%" stop-color="#ffc87c"/>
<stop offset="70%" stop-color="#ffb07c"/>
<stop offset="100%" stop-color="#f88536"/>
</radialGradient>
<radialGradient id="snailBody" cx="55%" cy="65%" r="60%">
<stop offset="0%" stop-color="#b2ffbd"/>
<stop offset="100%" stop-color="#57bb74"/>
</radialGradient>
<!-- Road glow -->
<filter id="glow" x="-10%" y="-10%" width="120%" height="120%">
<feGaussianBlur stdDeviation="4" result="blur"/>
<feMerge>
<feMergeNode in="blur"/>
<feMergeNode in="SourceGraphic"/>
</feMerge>
</filter>
<!-- Star glow -->
<filter id="starGlow" x="-70%" y="-70%" width="250%" height="250%">
<feGaussianBlur stdDeviation="1.3" result="coloredBlur"/>
<feMerge>
<feMergeNode in="coloredBlur"/>
<feMergeNode in="SourceGraphic"/>
</feMerge>
</filter>
<!-- Snail eye shine -->
<radialGradient id="eyeshine" cx="50%" cy="45%" r="70%">
<stop offset="0%" stop-color="#fff" stop-opacity="0.7"/>
<stop offset="100%" stop-color="#444" stop-opacity="0"/>
</radialGradient>
</defs>
<!-- Night sky background -->
<rect width="300" height="300" fill="url(#skynight)"/>
<!-- Stars -->
<g>
<circle cx="30" cy="50" r="1.7" fill="#fff" filter="url(#starGlow)" opacity="0.85"/>
<circle cx="69" cy="33" r="0.9" fill="#ffe799" opacity="0.8"/>
<circle cx="181" cy="25" r="1.2" fill="#c5daff" filter="url(#starGlow)" opacity="0.9"/>
<circle cx="260" cy="78" r="1.5" fill="#fff" opacity="0.6"/>
<circle cx="207" cy="67" r="0.7" fill="#ffe799"/>
<circle cx="112" cy="20" r="1.1" fill="#fffdec" />
<circle cx="36" cy="90" r="0.58" fill="#9cdbfc"/>
<circle cx="270" cy="40" r="1.8" fill="#fff" filter="url(#starGlow)"/>
<circle cx="146" cy="54" r="0.8" fill="#ffe799"/>
<circle cx="44" cy="168" r="0.76" fill="#fffde2"/>
<circle cx="173" cy="70" r="0.98" fill="#fff" opacity="0.75"/>
<circle cx="259" cy="112" r="0.79" fill="#fff" opacity="0.50"/>
<!-- Shooting star -->
<g opacity="0.86">
<circle cx="55" cy="65" r="1" fill="#fff" filter="url(#starGlow)"/>
<rect x="48" y="66.5" width="17" height="1" rx="0.5" fill="white" opacity="0.55" transform="rotate(-18 48 66.5)"/>
</g>
</g>
<!-- Winding rainbow road -->
<g filter="url(#glow)">
<path d="
M30 270
Q 100 180, 60 130
Q 40 100, 95 80
Q 160 60, 200 110
Q 250 170, 212 220
Q 187 252, 300 244
" fill="none" stroke="url(#rainbow)" stroke-width="22" stroke-linecap="round"/>
<!-- road white edge lines -->
<path d="
M41 266
Q 105 181, 67 133
Q 53 107, 99 91
Q 158 72, 197 114
Q 241 160, 211 210
Q 194 238, 294 236
" fill="none" stroke="#fff" stroke-width="3.5" stroke-dasharray="5 10" opacity="0.23"/>
<path d="
M20 276
Q 92 184, 51 130
Q 33 96, 92 73
Q 170 56, 210 109
Q 258 180, 212 230
Q 175 272, 292 260
" fill="none" stroke="#fff" stroke-width="3.5" stroke-dasharray="7 12" opacity="0.20"/>
</g>
<!-- Snail -->
<g>
<!-- Snail shadow -->
<ellipse cx="67" cy="227" rx="23" ry="8" fill="#000" opacity="0.13"/>
<!-- Body -->
<ellipse cx="74" cy="209" rx="16" ry="11" fill="url(#snailBody)"/>
<ellipse cx="90" cy="215" rx="7" ry="5" fill="url(#snailBody)"/>
<!-- Head -->
<ellipse cx="88" cy="207" rx="6" ry="5.1" fill="url(#snailBody)"/>
<!-- Tentacles -->
<g>
<path d="M91 204 Q94 196 98 201" stroke="#86fcb0" stroke-width="2.4" fill="none" />
<circle cx="98" cy="201" r="1.8" fill="#3a4a35" />
<circle cx="98" cy="200.4" r="0.68" fill="url(#eyeshine)" />
<path d="M85.5 204 Q85 197 80 200" stroke="#86fcb0" stroke-width="2.1" fill="none" />
<circle cx="80" cy="200" r="1.5" fill="#3a4a35" />
<circle cx="80.2" cy="199.4" r="0.55" fill="url(#eyeshine)" />
</g>
<!-- Smile -->
<path d="M89 210 Q91 212 93 210" stroke="#2d9d5c" stroke-width="1.2" fill="none" />
<!-- Shell -->
<ellipse cx="67" cy="211" rx="10" ry="12" fill="url(#shell)" stroke="#f88536" stroke-width="2"/>
<!-- Shell spiral -->
<path d="M70 211 Q67 216 63 212 Q59 208 65 207 Q70 208 68 211" fill="none" stroke="#db7d3f" stroke-width="1.5"/>
<ellipse cx="73" cy="207" rx="1.3" ry="1" fill="#e1a056"/>
<!-- Snail sparkles (fast!) -->
<g>
<polygon points="57,208 58,211 55,211" fill="#fffbd9" opacity="0.75" />
<polygon points="63,224 65,228 61,227" fill="#f9f7fc" opacity="0.6" />
<polygon points="93,220 96,219 94,222" fill="#fffcd6" opacity="0.5" />
<polygon points="77,214 78,217 75,217" fill="#e5ece5" opacity="0.62" />
</g>
</g>
<!-- Rocket -->
<g>
<!-- Rocket shadow -->
<ellipse cx="171" cy="184" rx="20" ry="7" fill="#000" opacity="0.15"/>
<!-- Flames -->
<g>
<path d="M160 179 Q156 188 167 190 Q164 184 172 186 Q168 180 160 179" fill="url(#flame)" opacity="0.8"/>
<ellipse cx="164" cy="184" rx="4" ry="9" fill="url(#flame)" opacity="0.6"/>
<ellipse cx="160" cy="185" rx="2" ry="5" fill="gold" opacity="0.35"/>
</g>
<!-- Rocket body -->
<ellipse cx="178" cy="174" rx="18" ry="9" fill="url(#rocketBody)" stroke="#cfcfff" stroke-width="1.3"/>
<rect x="162" y="166" width="32" height="16" rx="8" fill="url(#rocketBody)" />
<!-- Rocket window -->
<ellipse cx="191" cy="174" rx="5.4" ry="5.4" fill="#cfffff" stroke="#86bbee" stroke-width="1.1"/>
<ellipse cx="192.6" cy="172" rx="2.1" ry="0.9" fill="#fff" opacity="0.65"/>
<!-- Rocket nose -->
<polygon points="210,174 197,170 197,178" fill="#810078"/>
<!-- Fins -->
<polygon points="164,182 161,192 170,186" fill="#ff5046" opacity="0.82"/>
<polygon points="164,166 161,158 170,162" fill="#39d8ef" opacity="0.88"/>
<polygon points="194,183 198,196 191,184" fill="#fae442" opacity="0.77"/>
<polygon points="194,165 198,154 191,166" fill="#39ef7a" opacity="0.77"/>
<!-- Racing stripes -->
<line x1="197" y1="166" x2="197" y2="182" stroke="#ff2d55" stroke-width="2.2" opacity="0.75"/>
<line x1="200" y1="168" x2="200" y2="180" stroke="#009fef" stroke-width="1.2" opacity="0.6"/>
</g>
<!-- "Speed marks" lines for both racers -->
<g opacity="0.3">
<rect x="76" y="230" width="12" height="2" rx="1" fill="#fffbe5" transform="rotate(-9 76 230)" filter="url(#glow)"/>
<rect x="68" y="225" width="8" height="1.5" rx="0.75" fill="#fffbe5" transform="rotate(-14 68 225)" filter="url(#glow)"/>
<rect x="172" y="194" width="20" height="2.3" rx="1.1" fill="#b4e8ff" transform="rotate(-9 172 194)" filter="url(#glow)"/>
<rect x="174" y="198" width="13" height="1.2" rx="0.6" fill="#fff2b6" transform="rotate(-6 174 198)" filter="url(#glow)"/>
</g>
<!-- Add whimsical clouds for atmosphere -->
<g opacity="0.25">
<ellipse cx="45" cy="46" rx="19" ry="8" fill="#fff"/>
<ellipse cx="63" cy="42" rx="8.5" ry="4.4" fill="#fff"/>
<ellipse cx="111" cy="66" rx="14" ry="4.5" fill="#fff"/>
<ellipse cx="223" cy="39" rx="18" ry="6" fill="#f7ecff"/>
<ellipse cx="239" cy="46" rx="12.5" ry="4" fill="#e0dbf5"/>
</g>
<!-- Foreground stars (bigger) -->
<g>
<circle cx="60" cy="245" r="1.3" fill="#fff" opacity="0.55"/>
<polygon points="282,96 285,105 278,99 287,99 280,105"
fill="#fffbde" opacity="0.7" filter="url(#starGlow)"/>
</g>
<!-- Moon, stylized -->
<g>
<ellipse cx="250" cy="44" rx="21" ry="16" fill="#fffefb" opacity="0.88"/>
<ellipse cx="258" cy="46" rx="17" ry="11" fill="#ece3c9" opacity="0.57"/>
<ellipse cx="254" cy="51" rx="9" ry="6" fill="#ededee" opacity="0.23"/>
</g>
<!-- Optional: Magic sparkles near the road (fairy dust) -->
<g>
<circle cx="120" cy="130" r="1.1" fill="#fffbe8" opacity="0.55"/>
<circle cx="187" cy="162" r="0.7" fill="#fffaea" opacity="0.7"/>
<circle cx="98" cy="94" r="0.8" fill="#effff8" opacity="0.8"/>
<circle cx="104" cy="215" r="0.9" fill="#e0f7fa" opacity="0.73"/>
</g>
</svg>
Judge's Analysis
Player 2's submission showcases a more detailed and visually appealing design, with a polished depiction of the rainbow road, snails, and rocket.
The inclusion of additional elements like the moon, stars, and motion effects enhances the overall composition and aligns better with the prompt.
Player 1's submission, while adhering to the theme, is simpler and less refined in execution and visual quality.
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
"Cat balancing on a unicycle while juggling fish under a starlit sky."
"A snail racing against a rocket on a rainbow track."
"Two trees shaking hands under a glowing, smiling moon."