Creative Challenge
"Dancing Cactus in a Tuxedo"
<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%" stop-color="#1a1a3a" />
<stop offset="100%" stop-color="#4a5568" />
</linearGradient>
<linearGradient id="floorGradient" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" stop-color="#8B4513" />
<stop offset="50%" stop-color="#A0522D" />
<stop offset="100%" stop-color="#8B4513" />
</linearGradient>
<linearGradient id="cactusGradient" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#2D8A54" />
<stop offset="100%" stop-color="#1E5631" />
</linearGradient>
<linearGradient id="armGradient" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" stop-color="#2D8A54" />
<stop offset="100%" stop-color="#1E5631" />
</linearGradient>
<filter id="glow" x="-20%" y="-20%" width="140%" height="140%">
<feGaussianBlur stdDeviation="5" result="blur" />
<feComposite in="SourceGraphic" in2="blur" operator="over" />
</filter>
<pattern id="starPattern" width="300" height="300" patternUnits="userSpaceOnUse">
<circle cx="10" cy="10" r="1" fill="white" opacity="0.8" />
<circle cx="50" cy="30" r="0.8" fill="white" opacity="0.6" />
<circle cx="100" cy="50" r="1.2" fill="white" opacity="0.7" />
<circle cx="150" cy="20" r="0.7" fill="white" opacity="0.8" />
<circle cx="200" cy="40" r="1" fill="white" opacity="0.7" />
<circle cx="250" cy="60" r="0.9" fill="white" opacity="0.6" />
<circle cx="20" cy="80" r="1.1" fill="white" opacity="0.7" />
<circle cx="80" cy="100" r="0.8" fill="white" opacity="0.8" />
<circle cx="130" cy="120" r="1" fill="white" opacity="0.7" />
<circle cx="180" cy="90" r="0.7" fill="white" opacity="0.6" />
<circle cx="220" cy="110" r="1.2" fill="white" opacity="0.8" />
<circle cx="270" cy="70" r="0.9" fill="white" opacity="0.7" />
</pattern>
</defs>
<!-- Background -->
<rect x="0" y="0" width="300" height="300" fill="url(#skyGradient)" />
<rect x="0" y="0" width="300" height="300" fill="url(#starPattern)" />
<rect x="0" y="260" width="300" height="40" fill="url(#floorGradient)" />
<!-- Spotlight -->
<ellipse cx="150" cy="265" rx="70" ry="10" fill="#FFDB58" opacity="0.3" filter="url(#glow)" />
<!-- Cactus Body -->
<g id="dancing-cactus">
<!-- Main Body -->
<path d="M140,180 C135,150 135,120 135,90 C135,75 165,75 165,90 C165,120 165,150 160,180 Z" fill="url(#cactusGradient)" />
<!-- Right Arm -->
<path d="M165,120 C165,120 190,115 200,105 C210,95 220,105 210,115 C200,125 180,135 165,130 Z" fill="url(#armGradient)" />
<!-- Left Arm -->
<path d="M135,140 C135,140 110,145 100,155 C90,165 80,155 90,145 C100,135 120,130 135,135 Z" fill="url(#armGradient)" />
<!-- Right Leg -->
<path d="M160,180 C165,200 175,240 180,260 C183,270 168,270 165,260 C160,240 155,210 150,180 Z" fill="url(#cactusGradient)" />
<!-- Left Leg -->
<path d="M140,180 C135,200 125,240 120,260 C117,270 132,270 135,260 C140,240 145,210 150,180 Z" fill="url(#cactusGradient)" />
<!-- Tuxedo Jacket -->
<path d="M140,180 C135,150 135,120 135,110 C135,110 145,125 150,125 C155,125 165,110 165,110 C165,120 165,150 160,180 Z" fill="#000000" />
<path d="M143,180 C138,150 138,120 138,110 C138,110 145,122 150,122 C155,122 162,110 162,110 C162,120 162,150 157,180 Z" fill="white" />
<!-- Bow Tie -->
<path d="M145,110 C145,110 150,113 155,110 C155,110 158,107 158,107 C158,107 156,105 150,105 C144,105 142,107 142,107 C142,107 145,107 145,110 Z" fill="red" />
<circle cx="150" cy="110" r="2" fill="black" />
<!-- Spikes on Cactus -->
<line x1="135" y1="100" x2="125" y2="95" stroke="#A0522D" stroke-width="1" />
<line x1="135" y1="110" x2="125" y2="110" stroke="#A0522D" stroke-width="1" />
<line x1="135" y1="120" x2="125" y2="125" stroke="#A0522D" stroke-width="1" />
<line x1="165" y1="100" x2="175" y2="95" stroke="#A0522D" stroke-width="1" />
<line x1="165" y1="110" x2="175" y2="110" stroke="#A0522D" stroke-width="1" />
<line x1="165" y1="120" x2="175" y2="125" stroke="#A0522D" stroke-width="1" />
<!-- Cactus Face -->
<circle cx="143" cy="95" r="3" fill="black" />
<circle cx="157" cy="95" r="3" fill="black" />
<path d="M143,105 C147,110 153,110 157,105" fill="none" stroke="black" stroke-width="1.5" stroke-linecap="round" />
<!-- Top Hat -->
<rect x="135" y="70" width="30" height="5" fill="black" rx="1" />
<rect x="140" y="50" width="20" height="20" fill="black" rx="1" />
<rect x="140" y="65" width="20" height="2" fill="#444" />
<rect x="145" y="50" width="10" height="5" fill="#444" />
<!-- Shoes -->
<ellipse cx="180" cy="262" rx="12" ry="5" fill="black" />
<ellipse cx="120" cy="262" rx="12" ry="5" fill="black" />
<!-- Music Notes -->
<g fill="white" opacity="0.7">
<path d="M195,80 C195,80 200,75 205,80 C210,85 205,95 200,95 C195,95 190,90 195,85 L195,60 L190,65 L195,80 Z" />
<path d="M105,90 C105,90 110,85 115,90 C120,95 115,105 110,105 C105,105 100,100 105,95 L105,70 L100,75 L105,90 Z" />
<path d="M210,120 C210,120 215,115 220,120 C225,125 220,135 215,135 C210,135 205,130 210,125 L210,100 L205,105 L210,120 Z" />
</g>
</g>
<!-- Animation -->
<style>
@keyframes dance {
0%, 100% { transform: rotate(-5deg) translateY(0); }
25% { transform: rotate(5deg) translateY(-5px); }
50% { transform: rotate(-5deg) translateY(0); }
75% { transform: rotate(5deg) translateY(-5px); }
}
#dancing-cactus {
transform-origin: 150px 220px;
animation: dance 2s infinite ease-in-out;
}
</style>
</svg>
<svg viewBox="0 0 300 300" xmlns="http://www.w3.org/2000/svg">
<defs>
<linearGradient id="cactusGradient" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" style="stop-color:#6fdc7f;stop-opacity:1" />
<stop offset="100%" style="stop-color:#4caf50;stop-opacity:1" />
</linearGradient>
<linearGradient id="tuxedoGradient" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" style="stop-color:#000;stop-opacity:1" />
<stop offset="100%" style="stop-color:#555;stop-opacity:1" />
</linearGradient>
<radialGradient id="flowerGradient" cx="50%" cy="50%" r="50%" fx="50%" fy="50%">
<stop offset="0%" style="stop-color:#ff4081;stop-opacity:1" />
<stop offset="100%" style="stop-color:#ff80ab;stop-opacity:1" />
</radialGradient>
<pattern id="backgroundPattern" patternUnits="userSpaceOnUse" width="20" height="20">
<rect width="20" height="20" fill="#e0f7fa" />
<circle cx="10" cy="10" r="5" fill="#009688" />
</pattern>
</defs>
<rect width="300" height="300" fill="url(#backgroundPattern)" />
<g transform="translate(150, 200)">
<path d="M-10,-130 C-30,-70 -50,-30 -10,10 Q0,0 10,10 C50,-30 30,-70 10,-130 Z" fill="url(#cactusGradient)" />
<path d="M-5,-130 Q0,-145 5,-130 Q10,-115 -5,-80 Q-15,-90 -5,-130 Z" fill="url(#cactusGradient)" />
<circle cx="-10" cy="-135" r="5" fill="#fff" />
<circle cx="10" cy="-135" r="5" fill="#fff" />
<circle cx="-10" cy="-135" r="2.5" fill="#000" />
<circle cx="10" cy="-135" r="2.5" fill="#000" />
<path d="M-10,-80 L10,-80 L-5,-60 Z" fill="url(#tuxedoGradient)" />
<path d="M-17,-70 L17,-70 L-10,-60 L10,-60 Z" fill="#fff" />
<path d="M-5,-55 C-15,-50 -15,-40 -5,-35 C5,-30 5,-40 -5,-55 Z" fill="#000" />
<path d="M-5,-35 L-10,-30 L0,-20 L10,-30 L5,-35 Z" fill="#fff" />
<ellipse cx="0" cy="-38" rx="5" ry="3" fill="#ff4081" />
<path d="M-20,-130 C-30,-140 -30,-150 -20,-160 C-10,-170 0,-165 0,-160 C0,-155 10,-170 20,-160 C30,-150 30,-140 20,-130 Z" fill="url(#flowerGradient)" />
<path d="M-30,-160 C-25,-175 -5,-175 0,-160 C5,-175 25,-175 30,-160 C35,-145 15,-140 0,-150 C-15,-140 -35,-145 -30,-160 Z" fill="url(#flowerGradient)" />
<path d="M-30,-160 L-20,-170 L0,-160 L20,-170 L30,-160 C35,-145 15,-145 0,-150 C-15,-145 -35,-145 -30,-160 Z" fill="url(#flowerGradient)" />
</g>
</svg>
Judge's Analysis
Player 1's image effectively captures the whimsical idea of a 'Dancing Cactus in a Tuxedo' with a lively pose and musical notes enhancing the dance theme.
The use of a top hat and tuxedo details are clear and align well with the prompt.
Player 2's submission, while creative, lacks the dynamic elements of dancing and has less visual clarity in representing the tuxedo concept.
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
"Flamingo in a tuxedo, tap-dancing on a lilypad"
"Flying cat playing a trumpet in a starry skyline"
"A sun setting behind a skyline of teacups"
"Cloud with one quirky face winking"
"A giraffe wearing a top hat, juggling planets in space"
"A cat piloting a spaceship shaped like a giant fish"