Creative Challenge
"A cat DJing a party on a giant floating slice of pizza"
<svg viewBox="0 0 300 300" xmlns="http://www.w3.org/2000/svg">
<defs>
<!-- Pizza crust texture -->
<pattern id="crustPattern" patternUnits="userSpaceOnUse" width="10" height="10">
<rect width="10" height="10" fill="#e8b96a"/>
<circle cx="5" cy="5" r="1" fill="#c99d55"/>
</pattern>
<!-- Cheese texture -->
<pattern id="cheesePattern" patternUnits="userSpaceOnUse" width="20" height="20">
<rect width="20" height="20" fill="#ffd866"/>
<circle cx="5" cy="5" r="2" fill="#ffeda1"/>
<circle cx="15" cy="15" r="2" fill="#ffeda1"/>
</pattern>
<!-- Glow filter for lights -->
<filter id="glow" x="-30%" y="-30%" width="160%" height="160%">
<feGaussianBlur stdDeviation="3" result="blur"/>
<feComposite in="SourceGraphic" in2="blur" operator="over"/>
</filter>
<!-- Disco ball gradient -->
<radialGradient id="discoBallGradient" cx="0.5" cy="0.5" r="0.5">
<stop offset="0%" stop-color="#ffffff"/>
<stop offset="80%" stop-color="#a8a8ff"/>
<stop offset="100%" stop-color="#7878ff"/>
</radialGradient>
<!-- Sound waves animation -->
<linearGradient id="soundWaveGradient" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" stop-color="#ff3366">
<animate attributeName="stop-color" values="#ff3366;#ff33cc;#9933ff;#33ccff;#33ff66;#ff3366" dur="4s" repeatCount="indefinite"/>
</stop>
<stop offset="100%" stop-color="#33ccff">
<animate attributeName="stop-color" values="#33ccff;#33ff66;#ff3366;#ff33cc;#9933ff;#33ccff" dur="4s" repeatCount="indefinite"/>
</stop>
</linearGradient>
</defs>
<!-- Background with party atmosphere -->
<rect width="300" height="300" fill="#2a1a4a"/>
<!-- Party lights -->
<circle cx="50" cy="30" r="10" fill="#ff3366" filter="url(#glow)">
<animate attributeName="opacity" values="0.6;1;0.6" dur="2s" repeatCount="indefinite"/>
</circle>
<circle cx="150" cy="20" r="8" fill="#33ccff" filter="url(#glow)">
<animate attributeName="opacity" values="0.7;1;0.7" dur="1.5s" repeatCount="indefinite"/>
</circle>
<circle cx="250" cy="40" r="12" fill="#33ff66" filter="url(#glow)">
<animate attributeName="opacity" values="0.5;0.9;0.5" dur="2.3s" repeatCount="indefinite"/>
</circle>
<!-- Disco ball -->
<circle cx="150" cy="45" r="20" fill="url(#discoBallGradient)"/>
<circle cx="150" cy="45" r="20" fill="none" stroke="#ffffff" stroke-width="0.5"/>
<circle cx="150" cy="45" r="20" fill="none" stroke="#ffffff" stroke-width="0.5" stroke-dasharray="2,3"/>
<line x1="150" y1="0" x2="150" y2="25" stroke="#888888" stroke-width="2"/>
<!-- Pizza slice base -->
<path d="M30,200 L150,290 L270,200 Q240,160 150,140 Q60,160 30,200 Z" fill="url(#crustPattern)"/>
<path d="M40,195 L150,275 L260,195 Q230,160 150,145 Q70,160 40,195 Z" fill="url(#cheesePattern)"/>
<!-- Pizza crust edge -->
<path d="M30,200 L40,195 Q70,160 150,145 Q230,160 260,195 L270,200 Q240,160 150,140 Q60,160 30,200 Z" fill="#d8a758"/>
<!-- Pizza toppings -->
<circle cx="90" cy="180" r="8" fill="#d62828"/> <!-- Pepperoni -->
<circle cx="130" cy="210" r="8" fill="#d62828"/> <!-- Pepperoni -->
<circle cx="190" cy="190" r="8" fill="#d62828"/> <!-- Pepperoni -->
<circle cx="220" cy="220" r="8" fill="#d62828"/> <!-- Pepperoni -->
<circle cx="170" cy="240" r="8" fill="#d62828"/> <!-- Pepperoni -->
<path d="M110,170 Q115,165 120,170 Q125,175 130,170 L127,190 L113,190 Z" fill="#46972a"/> <!-- Bell pepper -->
<path d="M200,230 Q205,225 210,230 Q215,235 220,230 L217,250 L203,250 Z" fill="#46972a"/> <!-- Bell pepper -->
<!-- Pizza floating effect -->
<ellipse cx="150" cy="290" rx="130" ry="5" fill="#2a1a4a" opacity="0.7"/>
<!-- DJ Table -->
<rect x="100" y="170" width="100" height="20" rx="3" fill="#222222" stroke="#444444"/>
<rect x="110" y="160" width="80" height="10" rx="2" fill="#333333"/>
<!-- DJ Equipment -->
<circle cx="130" cy="165" r="6" fill="#111111" stroke="#666666"/>
<circle cx="170" cy="165" r="6" fill="#111111" stroke="#666666"/>
<rect x="115" y="180" width="30" height="5" rx="1" fill="#444444"/>
<rect x="155" y="180" width="30" height="5" rx="1" fill="#444444"/>
<!-- Turntables -->
<circle cx="130" cy="165" r="5" fill="#333333">
<animateTransform attributeName="transform" type="rotate" from="0 130 165" to="360 130 165" dur="1s" repeatCount="indefinite"/>
</circle>
<circle cx="170" cy="165" r="5" fill="#333333">
<animateTransform attributeName="transform" type="rotate" from="0 170 165" to="360 170 165" dur="1.5s" repeatCount="indefinite"/>
</circle>
<!-- Sound waves -->
<path d="M80,150 Q90,140 80,130 Q70,120 80,110 Q90,100 80,90" fill="none" stroke="url(#soundWaveGradient)" stroke-width="2">
<animate attributeName="d" values="M80,150 Q90,140 80,130 Q70,120 80,110 Q90,100 80,90;M80,150 Q95,135 80,130 Q65,125 80,110 Q95,95 80,90;M80,150 Q90,140 80,130 Q70,120 80,110 Q90,100 80,90" dur="0.7s" repeatCount="indefinite"/>
</path>
<path d="M220,150 Q210,140 220,130 Q230,120 220,110 Q210,100 220,90" fill="none" stroke="url(#soundWaveGradient)" stroke-width="2">
<animate attributeName="d" values="M220,150 Q210,140 220,130 Q230,120 220,110 Q210,100 220,90;M220,150 Q205,135 220,130 Q235,125 220,110 Q205,95 220,90;M220,150 Q210,140 220,130 Q230,120 220,110 Q210,100 220,90" dur="0.7s" repeatCount="indefinite"/>
</path>
<!-- DJ Cat -->
<ellipse cx="150" cy="140" rx="25" ry="22" fill="#808080"/> <!-- Body -->
<circle cx="150" cy="110" r="15" fill="#808080"/> <!-- Head -->
<!-- Cat ears -->
<polygon points="140,98 143,85 150,95" fill="#808080"/>
<polygon points="160,98 157,85 150,95" fill="#808080"/>
<polygon points="141,97 144,87 149,94" fill="#ffcccc"/>
<polygon points="159,97 156,87 151,94" fill="#ffcccc"/>
<!-- Cat face -->
<circle cx="145" cy="107" r="2" fill="#000000"/> <!-- Eyes -->
<circle cx="155" cy="107" r="2" fill="#000000"/>
<circle cx="144.5" cy="106.5" r="0.5" fill="#ffffff"/>
<circle cx="154.5" cy="106.5" r="0.5" fill="#ffffff"/>
<path d="M148,112 Q150,114 152,112" fill="none" stroke="#000000" stroke-width="0.7"/> <!-- Mouth -->
<ellipse cx="150" cy="110" rx="1" ry="0.5" fill="#ff9999"/> <!-- Nose -->
<!-- Whiskers -->
<line x1="150" y1="110" x2="140" y2="108" stroke="#dddddd" stroke-width="0.7"/>
<line x1="150" y1="110" x2="140" y2="110" stroke="#dddddd" stroke-width="0.7"/>
<line x1="150" y1="110" x2="140" y2="112" stroke="#dddddd" stroke-width="0.7"/>
<line x1="150" y1="110" x2="160" y2="108" stroke="#dddddd" stroke-width="0.7"/>
<line x1="150" y1="110" x2="160" y2="110" stroke="#dddddd" stroke-width="0.7"/>
<line x1="150" y1="110" x2="160" y2="112" stroke="#dddddd" stroke-width="0.7"/>
<!-- DJ Headphones -->
<path d="M135,103 Q130,90 145,90" fill="none" stroke="#222222" stroke-width="2"/>
<path d="M165,103 Q170,90 155,90" fill="none" stroke="#222222" stroke-width="2"/>
<ellipse cx="135" cy="103" rx="5" ry="7" fill="#ff3366"/>
<ellipse cx="165" cy="103" rx="5" ry="7" fill="#ff3366"/>
<!-- Cat paws on DJ equipment -->
<circle cx="130" cy="158" r="4" fill="#a6a6a6"/>
<circle cx="170" cy="158" r="4" fill="#a6a6a6"/>
<!-- Cat tail -->
<path d="M175,140 Q200,130 195,110 Q190,100 180,105" fill="none" stroke="#808080" stroke-width="5" stroke-linecap="round">
<animate attributeName="d" values="M175,140 Q200,130 195,110 Q190,100 180,105; M175,140 Q200,135 190,115 Q185,105 180,105; M175,140 Q200,130 195,110 Q190,100 180,105" dur="3s" repeatCount="indefinite"/>
</path>
<!-- Party confetti animation -->
<g>
<rect x="40" y="40" width="3" height="3" fill="#ff3366">
<animate attributeName="y" from="-10" to="300" dur="3s" begin="0s" repeatCount="indefinite"/>
<animate attributeName="x" from="40" to="30" dur="3s" begin="0s" repeatCount="indefinite"/>
</rect>
<rect x="100" y="30" width="3" height="3" fill="#ffcc00">
<animate attributeName="y" from="-10" to="300" dur="3.7s" begin="0.4s" repeatCount="indefinite"/>
<animate attributeName="x" from="100" to="110" dur="3.7s" begin="0.4s" repeatCount="indefinite"/>
</rect>
<circle cx="200" cy="50" r="2" fill="#33ccff">
<animate attributeName="cy" from="-10" to="300" dur="2.8s" begin="0.7s" repeatCount="indefinite"/>
<animate attributeName="cx" from="200" to="210" dur="2.8s" begin="0.7s" repeatCount="indefinite"/>
</circle>
<rect x="250" y="40" width="3" height="3" fill="#33ff66">
<animate attributeName="y" from="-10" to="300" dur="3.3s" begin="1s" repeatCount="indefinite"/>
<animate attributeName="x" from="250" to="240" dur="3.3s" begin="1s" repeatCount="indefinite"/>
</rect>
<circle cx="80" cy="30" r="2" fill="#ff9900">
<animate attributeName="cy" from="-10" to="300" dur="4s" begin="1.5s" repeatCount="indefinite"/>
<animate attributeName="cx" from="80" to="70" dur="4s" begin="1.5s" repeatCount="indefinite"/>
</circle>
<rect x="150" y="40" width="3" height="3" fill="#ff33cc">
<animate attributeName="y" from="-10" to="300" dur="3.5s" begin="2s" repeatCount="indefinite"/>
<animate attributeName="x" from="150" to="160" dur="3.5s" begin="2s" repeatCount="indefinite"/>
</rect>
</g>
</svg>
<svg viewBox="0 0 300 300" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<defs>
<radialGradient id="pizzaGradient" cx="50%" cy="50%" r="50%" fx="50%" fy="50%">
<stop offset="0%" style="stop-color:#FFD700;stop-opacity:1" />
<stop offset="100%" style="stop-color:#FF4500;stop-opacity:1" />
</radialGradient>
<radialGradient id="skyGradient" cx="50%" cy="50%" r="50%" fx="50%" fy="50%">
<stop offset="0%" style="stop-color:#87CEEB;stop-opacity:1" />
<stop offset="100%" style="stop-color:#1E90FF;stop-opacity:1" />
</radialGradient>
<radialGradient id="catGradient" cx="50%" cy="50%" r="50%" fx="50%" fy="50%">
<stop offset="0%" style="stop-color:#D3D3D3;stop-opacity:1" />
<stop offset="100%" style="stop-color:#A9A9A9;stop-opacity:1" />
</radialGradient>
<pattern id="pepperoni" width="10" height="10" patternUnits="userSpaceOnUse">
<circle cx="5" cy="5" r="4" fill="#8B0000" />
</pattern>
<pattern id="cheese" width="10" height="10" patternUnits="userSpaceOnUse">
<rect x="0" y="0" width="10" height="10" fill="#FFD700" />
<circle cx="5" cy="5" r="2" fill="#FFA500" />
</pattern>
<filter id="shadow" x="-20%" y="-20%" width="140%" height="140%">
<feGaussianBlur in="SourceAlpha" stdDeviation="3" />
<feOffset dx="5" dy="5" result="offsetblur" />
<feMerge>
<feMergeNode in="offsetblur" />
<feMergeNode in="SourceGraphic" />
</feMerge>
</filter>
</defs>
<rect width="300" height="300" fill="url(#skyGradient)" />
<ellipse cx="150" cy="150" rx="120" ry="80" fill="url(#pizzaGradient)" filter="url(#shadow)" />
<rect x="100" y="130" width="100" height="40" fill="url(#cheese)" />
<circle cx="150" cy="150" r="90" fill="url(#pepperoni)" />
<g transform="translate(120, 100)">
<rect x="0" y="0" width="60" height="20" fill="#000" />
<rect x="10" y="20" width="40" height="50" fill="#000" />
<circle cx="30" cy="30" r="10" fill="#FFF" />
<circle cx="30" cy="30" r="5" fill="#000" />
<rect x="25" y="50" width="10" height="20" fill="#000" />
<rect x="25" y="70" width="10" height="10" fill="#FFD700" />
<rect x="20" y="80" width="20" height="10" fill="#FFD700" />
</g>
<g transform="translate(120, 160)">
<circle cx="15" cy="15" r="10" fill="url(#catGradient)" />
<circle cx="15" cy="15" r="5" fill="#FFF" />
<circle cx="15" cy="15" r="3" fill="#000" />
<ellipse cx="15" cy="30" rx="10" ry="5" fill="url(#catGradient)" />
<rect x="5" cy="35" width="20" height="10" fill="url(#catGradient)" />
<rect x="10" cy="45" width="10" height="15" fill="url(#catGradient)" />
<rect x="5" cy="60" width="20" height="5" fill="url(#catGradient)" />
</g>
<g transform="translate(180, 160)">
<circle cx="15" cy="15" r="10" fill="url(#catGradient)" />
<circle cx="15" cy="15" r="5" fill="#FFF" />
<circle cx="15" cy="15" r="3" fill="#000" />
<ellipse cx="15" cy="30" rx="10" ry="5" fill="url(#catGradient)" />
<rect x="5" cy="35" width="20" height="10" fill="url(#catGradient)" />
<rect x="10" cy="45" width="10" height="15" fill="url(#catGradient)" />
<rect x="5" cy="60" width="20" height="5" fill="url(#catGradient)" />
</g>
<text x="100" y="250" font-family="Arial" font-size="20" fill="#FFF">DJ Cat on Pizza Party!</text>
</svg>
Judge's Analysis
Player 1's image clearly illustrates the concept of a cat DJing on a floating pizza slice with a whimsical and colorful style.
The presence of a disco ball and confetti enhances the party atmosphere, and the technical execution is neat and visually appealing.
Player 2's image, while creatively abstract, lacks clarity and adherence to the prompt, making it less effective in conveying the idea.
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
"Flying cat with fish wings over a city skyline"
"Dreaming octopus juggling clocks under a starry sky"
"Floating city above a waterfall, with fish swimming upwards"
"Surreal clock with dreams pouring out"
"Surrealist penguin in a floating teacup, under a melting clock sky"
"A cat made of clock gears, sitting atop a ticking pocket watch"