Creative Challenge
"A floating castle held up by giant balloons, with birds nesting on the ropes."
<svg viewBox="0 0 300 300" xmlns="http://www.w3.org/2000/svg">
<defs>
<linearGradient id="skyGrad" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" style="stop-color:#87CEEB;stop-opacity:1" />
<stop offset="100%" style="stop-color:#FFE4B5;stop-opacity:1" />
</linearGradient>
<radialGradient id="balloonGrad1">
<stop offset="0%" style="stop-color:#FF69B4;stop-opacity:0.8" />
<stop offset="100%" style="stop-color:#FF1493;stop-opacity:1" />
</radialGradient>
<radialGradient id="balloonGrad2">
<stop offset="0%" style="stop-color:#87CEFA;stop-opacity:0.8" />
<stop offset="100%" style="stop-color:#4169E1;stop-opacity:1" />
</radialGradient>
<radialGradient id="balloonGrad3">
<stop offset="0%" style="stop-color:#98FB98;stop-opacity:0.8" />
<stop offset="100%" style="stop-color:#228B22;stop-opacity:1" />
</radialGradient>
<linearGradient id="castleGrad" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" style="stop-color:#DDA0DD;stop-opacity:1" />
<stop offset="100%" style="stop-color:#8B7D8B;stop-opacity:1" />
</linearGradient>
<pattern id="brickPattern" x="0" y="0" width="20" height="10" patternUnits="userSpaceOnUse">
<rect x="0" y="0" width="20" height="10" fill="#8B7D8B"/>
<rect x="0" y="0" width="19" height="9" fill="#9370DB"/>
<rect x="10" y="5" width="9" height="4" fill="#9370DB"/>
</pattern>
<filter id="shadow">
<feGaussianBlur in="SourceAlpha" stdDeviation="3"/>
<feOffset dx="2" dy="2" result="offsetblur"/>
<feComponentTransfer>
<feFuncA type="linear" slope="0.3"/>
</feComponentTransfer>
<feMerge>
<feMergeNode />
<feMergeNode in="SourceGraphic"/>
</feMerge>
</filter>
</defs>
<!-- Sky background -->
<rect width="300" height="300" fill="url(#skyGrad)"/>
<!-- Clouds -->
<ellipse cx="50" cy="40" rx="25" ry="15" fill="white" opacity="0.7"/>
<ellipse cx="65" cy="38" rx="20" ry="12" fill="white" opacity="0.7"/>
<ellipse cx="250" cy="60" rx="30" ry="18" fill="white" opacity="0.6"/>
<ellipse cx="270" cy="58" rx="20" ry="14" fill="white" opacity="0.6"/>
<!-- Balloon strings/ropes -->
<path d="M 80 100 Q 100 150, 120 200" stroke="#8B4513" stroke-width="3" fill="none"/>
<path d="M 150 90 Q 150 140, 150 200" stroke="#8B4513" stroke-width="3" fill="none"/>
<path d="M 220 100 Q 200 150, 180 200" stroke="#8B4513" stroke-width="3" fill="none"/>
<!-- Birds on ropes -->
<g transform="translate(95,130)">
<ellipse cx="0" cy="0" rx="8" ry="6" fill="#4B0082"/>
<circle cx="-5" cy="-2" r="2" fill="#FFD700"/>
<path d="M -8 0 Q -12 -2, -15 0" stroke="#4B0082" stroke-width="2" fill="none"/>
<circle cx="-5" cy="-3" r="1" fill="white"/>
</g>
<g transform="translate(150,120) scale(0.8)">
<ellipse cx="0" cy="0" rx="8" ry="6" fill="#DC143C"/>
<circle cx="-5" cy="-2" r="2" fill="#FFA500"/>
<path d="M -8 0 Q -12 -2, -15 0" stroke="#DC143C" stroke-width="2" fill="none"/>
<circle cx="-5" cy="-3" r="1" fill="white"/>
</g>
<g transform="translate(195,140)">
<ellipse cx="0" cy="0" rx="8" ry="6" fill="#228B22"/>
<circle cx="-5" cy="-2" r="2" fill="#FFD700"/>
<path d="M -8 0 Q -12 -2, -15 0" stroke="#228B22" stroke-width="2" fill="none"/>
<circle cx="-5" cy="-3" r="1" fill="white"/>
</g>
<!-- Floating castle -->
<g filter="url(#shadow)">
<!-- Castle base -->
<rect x="100" y="200" width="100" height="60" fill="url(#brickPattern)"/>
<!-- Castle towers -->
<rect x="90" y="180" width="30" height="80" fill="url(#castleGrad)"/>
<rect x="180" y="180" width="30" height="80" fill="url(#castleGrad)"/>
<rect x="135" y="170" width="30" height="90" fill="url(#castleGrad)"/>
<!-- Tower tops -->
<polygon points="90,180 105,160 120,180" fill="#8B008B"/>
<polygon points="180,180 195,160 210,180" fill="#8B008B"/>
<polygon points="135,170 150,150 165,170" fill="#8B008B"/>
<!-- Windows -->
<rect x="98" y="190" width="8" height="12" fill="#FFE4B5" opacity="0.8"/>
<rect x="188" y="190" width="8" height="12" fill="#FFE4B5" opacity="0.8"/>
<rect x="143" y="180" width="8" height="12" fill="#FFE4B5" opacity="0.8"/>
<!-- Castle gate -->
<path d="M 130 230 Q 150 220, 170 230 L 170 260 L 130 260 Z" fill="#8B4513"/>
</g>
<!-- Balloons -->
<g filter="url(#shadow)">
<ellipse cx="80" cy="80" rx="35" ry="45" fill="url(#balloonGrad1)" transform="rotate(-10 80 80)"/>
<ellipse cx="150" cy="70" rx="40" ry="50" fill="url(#balloonGrad2)"/>
<ellipse cx="220" cy="80" rx="35" ry="45" fill="url(#balloonGrad3)" transform="rotate(10 220 80)"/>
<!-- Balloon highlights -->
<ellipse cx="70" cy="65" rx="12" ry="18" fill="white" opacity="0.3" transform="rotate(-10 70 65)"/>
<ellipse cx="140" cy="55" rx="15" ry="20" fill="white" opacity="0.3"/>
<ellipse cx="210" cy="65" rx="12" ry="18" fill="white" opacity="0.3" transform="rotate(10 210 65)"/>
</g>
<!-- Flying birds in background -->
<path d="M 30 80 Q 35 78, 40 80 Q 35 82, 30 80" stroke="#333" stroke-width="1.5" fill="none"/>
<path d="M 260 100 Q 265 98, 270 100 Q 265 102, 260 100" stroke="#333" stroke-width="1.5" fill="none"/>
<path d="M 280 40 Q 285 38, 290 40 Q 285 42, 280 40" stroke="#333" stroke-width="1" fill="none"/>
</svg>
<svg viewBox="0 0 300 300" xmlns="http://www.w3.org/2000/svg">
<defs>
<!-- Sky gradient with magical twilight colors -->
<linearGradient id="skyGradient" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" style="stop-color:#FFB6C1;stop-opacity:1" />
<stop offset="30%" style="stop-color:#87CEEB;stop-opacity:1" />
<stop offset="100%" style="stop-color:#4169E1;stop-opacity:1" />
</linearGradient>
<!-- Balloon gradients with vibrant colors -->
<radialGradient id="redBalloon" cx="25%" cy="25%">
<stop offset="0%" style="stop-color:#FF69B4;stop-opacity:1" />
<stop offset="70%" style="stop-color:#FF1493;stop-opacity:1" />
<stop offset="100%" style="stop-color:#C71585;stop-opacity:1" />
</radialGradient>
<radialGradient id="blueBalloon" cx="25%" cy="25%">
<stop offset="0%" style="stop-color:#00CED1;stop-opacity:1" />
<stop offset="70%" style="stop-color:#008B8B;stop-opacity:1" />
<stop offset="100%" style="stop-color:#006666;stop-opacity:1" />
</radialGradient>
<radialGradient id="yellowBalloon" cx="25%" cy="25%">
<stop offset="0%" style="stop-color:#FFFF66;stop-opacity:1" />
<stop offset="70%" style="stop-color:#FFD700;stop-opacity:1" />
<stop offset="100%" style="stop-color:#FFA500;stop-opacity:1" />
</radialGradient>
<radialGradient id="purpleBalloon" cx="25%" cy="25%">
<stop offset="0%" style="stop-color:#DA70D6;stop-opacity:1" />
<stop offset="70%" style="stop-color:#9370DB;stop-opacity:1" />
<stop offset="100%" style="stop-color:#663399;stop-opacity:1" />
</radialGradient>
<radialGradient id="greenBalloon" cx="25%" cy="25%">
<stop offset="0%" style="stop-color:#98FB98;stop-opacity:1" />
<stop offset="70%" style="stop-color:#32CD32;stop-opacity:1" />
<stop offset="100%" style="stop-color:#228B22;stop-opacity:1" />
</radialGradient>
<!-- Castle gradients -->
<linearGradient id="stoneWall" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" style="stop-color:#F5F5DC;stop-opacity:1" />
<stop offset="50%" style="stop-color:#D3D3D3;stop-opacity:1" />
<stop offset="100%" style="stop-color:#A0A0A0;stop-opacity:1" />
</linearGradient>
<linearGradient id="roofGradient" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" style="stop-color:#DC143C;stop-opacity:1" />
<stop offset="100%" style="stop-color:#8B0000;stop-opacity:1" />
</linearGradient>
<!-- Cloud gradient -->
<radialGradient id="cloudGradient" cx="40%" cy="30%">
<stop offset="0%" style="stop-color:#FFFFFF;stop-opacity:0.9" />
<stop offset="100%" style="stop-color:#F0F8FF;stop-opacity:0.4" />
</radialGradient>
<!-- Magical sparkle -->
<radialGradient id="sparkle" cx="50%" cy="50%">
<stop offset="0%" style="stop-color:#FFFF00;stop-opacity:1" />
<stop offset="100%" style="stop-color:#FFD700;stop-opacity:0" />
</radialGradient>
</defs>
<!-- Sky background -->
<rect width="300" height="300" fill="url(#skyGradient)"/>
<!-- Distant clouds -->
<g opacity="0.7">
<ellipse cx="60" cy="70" rx="30" ry="18" fill="url(#cloudGradient)"/>
<ellipse cx="45" cy="75" rx="25" ry="15" fill="url(#cloudGradient)"/>
<ellipse cx="75" cy="75" rx="22" ry="12" fill="url(#cloudGradient)"/>
<ellipse cx="240" cy="50" rx="35" ry="20" fill="url(#cloudGradient)"/>
<ellipse cx="220" cy="55" rx="30" ry="18" fill="url(#cloudGradient)"/>
<ellipse cx="260" cy="55" rx="25" ry="15" fill="url(#cloudGradient)"/>
</g>
<!-- Large colorful balloons -->
<ellipse cx="70" cy="45" rx="28" ry="40" fill="url(#redBalloon)" stroke="#8B0000" stroke-width="0.5"/>
<ellipse cx="130" cy="35" rx="32" ry="45" fill="url(#blueBalloon)" stroke="#006666" stroke-width="0.5"/>
<ellipse cx="190" cy="40" rx="30" ry="42" fill="url(#yellowBalloon)" stroke="#B8860B" stroke-width="0.5"/>
<ellipse cx="250" cy="50" rx="28" ry="40" fill="url(#purpleBalloon)" stroke="#4B0082" stroke-width="0.5"/>
<ellipse cx="160" cy="25" rx="26" ry="38" fill="url(#greenBalloon)" stroke="#006400" stroke-width="0.5"/>
<!-- Balloon highlights for 3D effect -->
<ellipse cx="62" cy="30" rx="10" ry="15" fill="#FFFFFF" opacity="0.5"/>
<ellipse cx="120" cy="20" rx="12" ry="18" fill="#FFFFFF" opacity="0.5"/>
<ellipse cx="180" cy="25" rx="11" ry="16" fill="#FFFFFF" opacity="0.5"/>
<ellipse cx="240" cy="35" rx="10" ry="15" fill="#FFFFFF" opacity="0.5"/>
<ellipse cx="150" cy="12" rx="9" ry="14" fill="#FFFFFF" opacity="0.5"/>
<!-- Ropes from balloons to castle -->
<line x1="70" y1="85" x2="110" y2="165" stroke="#8B4513" stroke-width="2"/>
<line x1="130" y1="80" x2="140" y2="165" stroke="#8B4513" stroke-width="2"/>
<line x1="190" y1="82" x2="170" y2="165" stroke="#8B4513" stroke-width="2"/>
<line x1="250" y1="90" x2="200" y2="165" stroke="#8B4513" stroke-width="2"/>
<line x1="160" y1="63" x2="155" y2="165" stroke="#8B4513" stroke-width="2"/>
<!-- Birds perched on ropes -->
<g transform="translate(100,125) rotate(-10)">
<ellipse cx="0" cy="0" rx="4" ry="2.5" fill="#2F4F4F"/>
<ellipse cx="-1" cy="-1" rx="1.5" ry="1" fill="#696969"/>
<path d="M-3,-1.5 L-6,-3 M3,-1.5 L6,-3" stroke="#2F4F4F" stroke-width="1"/>
<circle cx="1" cy="-0.5" r="0.3" fill="#FFD700"/>
</g>
<g transform="translate(180,135) rotate(15)">
<ellipse cx="0" cy="0" rx="4" ry="2.5" fill="#8B4513"/>
<ellipse cx="-1" cy="-1" rx="1.5" ry="1" fill="#DEB887"/>
<path d="M-3,-1.5 L-6,-3 M3,-1.5 L6,-3" stroke="#8B4513" stroke-width="1"/>
<circle cx="1" cy="-0.5" r="0.3" fill="#FF4500"/>
</g>
<g transform="translate(145,110) rotate(-5)">
<ellipse cx="0" cy="0" rx="3.5" ry="2" fill="#4682B4"/>
<ellipse cx="-1" cy="-1" rx="1.2" ry="0.8" fill="#87CEEB"/>
<path d="M-2.5,-1 L-5,-2.5 M2.5,-1 L5,-2.5" stroke="#4682B4" stroke-width="1"/>
<circle cx="1" cy="-0.3" r="0.2" fill="#000000"/>
</g>
<!-- Small nest on one rope -->
<g transform="translate(165,140)">
<ellipse cx="0" cy="0" rx="5" ry="3" fill="#8B4513"/>
<ellipse cx="0" cy="-1" rx="3" ry="2" fill="#654321"/>
<!-- Baby birds in nest -->
<ellipse cx="-1" cy="-1" rx="1.5" ry="1" fill="#FFB6C1"/>
<ellipse cx="1" cy="-1" rx="1.5" ry="1" fill="#FFB6C1"/>
</g>
<!-- Floating castle -->
<!-- Main castle structure -->
<rect x="100" y="165" width="100" height="70" fill="url(#stoneWall)" stroke="#708090" stroke-width="1"/>
<!-- Castle towers -->
<rect x="85" y="140" width="25" height="95" fill="url(#stoneWall)" stroke="#708090" stroke-width="1"/>
<rect x="190" y="140" width="25" height="95" fill="url(#stoneWall)" stroke="#708090" stroke-width="1"/>
<rect x="135" y="125" width="30" height="110" fill="url(#stoneWall)" stroke="#708090" stroke-width="1"/>
<!-- Tower roofs -->
<polygon points="85,140 97.5,115 110,140" fill="url(#roofGradient)"/>
<polygon points="190,140 202.5,115 215,140" fill="url(#roofGradient)"/>
<polygon points="135,125 150,100 165,125" fill="url(#roofGradient)"/>
<!-- Castle battlements -->
<rect x="100" y="165" width="8" height="8" fill="url(#stoneWall)"/>
<rect x="116" y="165" width="8" height="8" fill="url(#stoneWall)"/>
<rect x="132" y="165" width="8" height="8" fill="url(#stoneWall)"/>
<rect x="148" y="165" width="8" height="8" fill="url(#stoneWall)"/>
<rect x="164" y="165" width="8" height="8" fill="url(#stoneWall)"/>
<rect x="180" y="165" width="8" height="8" fill="url(#stoneWall)"/>
<rect x="192" y="165" width="8" height="8" fill="url(#stoneWall)"/>
<!-- Castle windows with magical glow -->
<rect x="105" y="180" width="12" height="18" fill="#4169E1" opacity="0.8"/>
<rect x="125" y="180" width="12" height="18" fill="#4169E1" opacity="0.8"/>
<rect x="163" y="180" width="12" height="18" fill="#4169E1" opacity="0.8"/>
<rect x="183" y="180" width="12" height="18" fill="#4169E1" opacity="0.8"/>
<!-- Tower windows -->
<rect x="92" y="170" width="8" height="12" fill="#9370DB" opacity="0.8"/>
<rect x="92" y="190" width="8" height="12" fill="#9370DB" opacity="0.8"/>
<rect x="200" y="170" width="8" height="12" fill="#9370DB" opacity="0.8"/>
<rect x="200" y="190" width="8" height="12" fill="#9370DB" opacity="0.8"/>
<rect x="142" y="150" width="10" height="15" fill="#FF6347" opacity="0.8"/>
<rect x="142" y="175" width="10" height="15" fill="#FF6347" opacity="0.8"/>
<!-- Grand entrance -->
<path d="M140 225 Q140 210 150 210 Q160 210 160 225 L160 235 L140 235 Z" fill="#654321" stroke="#8B4513" stroke-width="1"/>
<circle cx="156" cy="220" r="2" fill="#FFD700"/>
<!-- Flags on towers -->
<line x1="97.5" y1="115" x2="97.5" y2="95" stroke="#8B4513" stroke-width="2"/>
<polygon points="97.5,95 115,100 97.5,108" fill="#FF0000"/>
<line x1="202.5" y1="115" x2="202.5" y2="95" stroke="#8B4513" stroke-width="2"/>
<polygon points="202.5,95 220,100 202.5,108" fill="#0000FF"/>
<line x1="150" y1="100" x2="150" y2="80" stroke="#8B4513" stroke-width="2"/>
<polygon points="150,80 168,85 150,93" fill="#32CD32"/>
<!-- Magical sparkles around the castle -->
<circle cx="80" cy="120" r="2" fill="url(#sparkle)"/>
<circle cx="220" cy="110" r="1.5" fill="url(#sparkle)"/>
<circle cx="120" cy="100" r="1" fill="url(#sparkle)"/>
<circle cx="180" cy="105" r="1.5" fill="url(#sparkle)"/>
<circle cx="250" cy="130" r="1" fill="url(#sparkle)"/>
<!-- Flying birds in the distance -->
<g transform="translate(30,90)">
<path d="M0,0 Q-3,-2 -6,0 Q-3,2 0,0" fill="#2F4F4F"/>
<path d="M0,0 Q3,-2 6,0 Q3,2 0,0" fill="#2F4F4F"/>
</g>
<g transform="translate(270,80)">
<path d="M0,0 Q-2,-1.5 -4,0 Q-2,1.5 0,0" fill="#2F4F4F"/>
<path d="M0,0 Q2,-1.5 4,0 Q2,1.5 0,0" fill="#2F4F4F"/>
</g>
<!-- Twinkling stars -->
<g opacity="0.8">
<circle cx="25" cy="25" r="1" fill="#FFFF00"/>
<circle cx="275" cy="20" r="0.8" fill="#FFFF00"/>
<circle cx="260" cy="120" r="0.6" fill="#FFFF00"/>
<circle cx="40" cy="50" r="0.8" fill="#FFFF00"/>
<circle cx="20" cy="150" r="0.6" fill="#FFFF00"/>
</g>
<!-- Wispy clouds near castle -->
<ellipse cx="60" cy="200" rx="15" ry="8" fill="url(#cloudGradient)" opacity="0.6"/>
<ellipse cx="240" cy="190" rx="18" ry="10" fill="url(#cloudGradient)" opacity="0.6"/>
</svg>
Judge's Analysis
Player 2's submission is more detailed, with a greater number of balloons and a more elaborate castle design, enhancing the visual appeal.
Additionally, the inclusion of birds perched on ropes and a vibrant color palette shows better adherence to the prompt and overall creativity, making it the stronger composition.
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.