Creative Challenge
"A steam-powered mechanical hummingbird with clockwork wings"
<svg viewBox="0 0 300 300" xmlns="http://www.w3.org/2000/svg">
<defs>
<linearGradient id="bodyGrad" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" style="stop-color:#4a90a0"/>
<stop offset="100%" style="stop-color:#2c5458"/>
</linearGradient>
<pattern id="gears" width="20" height="20" patternUnits="userSpaceOnUse">
<circle cx="10" cy="10" r="8" fill="none" stroke="#brass" stroke-width="2"/>
<path d="M10,2 L10,18 M2,10 L18,10" stroke="#brass" stroke-width="2"/>
</pattern>
</defs>
<!-- Steam trails -->
<path d="M50,150 C30,130 40,110 60,100 C80,90 70,70 50,60" fill="none" stroke="#steam" stroke-width="3" opacity="0.6">
<animate attributeName="d" dur="3s" repeatCount="indefinite"
values="M50,150 C30,130 40,110 60,100 C80,90 70,70 50,60;
M50,150 C40,120 50,100 70,90 C90,80 80,60 60,50;
M50,150 C30,130 40,110 60,100 C80,90 70,70 50,60"/>
</path>
<!-- Body -->
<path d="M120,150 C160,130 200,130 220,150 C240,170 240,190 220,200 C180,220 140,220 120,200 Z"
fill="url(#bodyGrad)" stroke="#1a1a1a" stroke-width="2"/>
<!-- Wings -->
<g id="wing" transform="translate(170,150)">
<path d="M0,0 C20,-20 40,-25 60,-20 C40,-10 20,-5 0,0"
fill="none" stroke="#brass" stroke-width="1.5">
<animate attributeName="d" dur="0.2s" repeatCount="indefinite"
values="M0,0 C20,-20 40,-25 60,-20 C40,-10 20,-5 0,0;
M0,0 C20,-15 40,-20 60,-15 C40,-5 20,0 0,0;
M0,0 C20,-20 40,-25 60,-20 C40,-10 20,-5 0,0"/>
</path>
<circle cx="30" cy="-15" r="5" fill="#brass"/>
<circle cx="45" cy="-18" r="3" fill="#brass"/>
</g>
<use href="#wing" transform="scale(1,-1)"/>
<!-- Head -->
<path d="M220,150 L240,140 L250,150 L240,160 Z" fill="#brass"/>
<!-- Gears -->
<circle cx="160" cy="160" r="15" fill="url(#gears)">
<animateTransform attributeName="transform" type="rotate"
from="0 160 160" to="360 160 160" dur="2s" repeatCount="indefinite"/>
</circle>
<!-- Steam vents -->
<circle cx="140" cy="180" r="3" fill="#444">
<animate attributeName="opacity" values="1;0.3;1" dur="1s" repeatCount="indefinite"/>
</circle>
<circle cx="150" cy="185" r="2" fill="#444">
<animate attributeName="opacity" values="0.3;1;0.3" dur="1s" repeatCount="indefinite"/>
</circle>
</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="skyGradient" cx="50%" cy="50%" r="70%">
<stop offset="0%" stop-color="#1a0f3c"/>
<stop offset="100%" stop-color="#2c5364"/>
</radialGradient>
<linearGradient id="metalGradient" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#b08d57"/>
<stop offset="50%" stop-color="#d4af37"/>
<stop offset="100%" stop-color="#b08d57"/>
</linearGradient>
<pattern id="gearPattern" patternUnits="userSpaceOnUse" width="20" height="20">
<path d="M10 0L13 5H7L10 0M0 10L5 13V7L0 10M10 20L7 15H13L10 20M20 10L15 7V13L20 10" stroke="#3e2f1d" fill="none"/>
</pattern>
<filter id="steamFilter">
<feGaussianBlur stdDeviation="4" result="blur"/>
<feColorMatrix in="blur" type="matrix" values="1 0 0 0 0.8 0 1 0 0 0.8 0 0 1 0 0.8 0 0 0 2 0"/>
</filter>
</defs>
<rect width="300" height="300" fill="url(#skyGradient)"/>
<g transform="translate(150 170)">
<!-- Body -->
<ellipse cx="0" cy="-20" rx="35" ry="50" fill="url(#metalGradient)"/>
<path d="M-25 -30Q0 -50 25 -30L15 -40Q0 -55 -15 -40Z" fill="#3e2f1d"/>
<!-- Main Wing -->
<g transform="rotate(-10)">
<path d="M-80 0Q-120 -40 -60 -80L0 0" fill="none" stroke="#63513a" stroke-width="3"/>
<path d="M-60 -30Q-75 -50 -40 -70" fill="none" stroke="#d4af37" stroke-width="2" stroke-dasharray="4 2"/>
<use xlink:href="#gearPattern" transform="rotate(45) translate(-60 -60)" width="40" height="40"/>
</g>
<!-- Clockwork Wings -->
<g transform="rotate(15) translate(60 0)">
<path d="M0 0Q80 -40 40 -80" fill="none" stroke="#63513a" stroke-width="3"/>
<circle cx="20" cy="-60" r="15" fill="#2c1810"/>
<path d="M20 -60a15 15 0 0 1 15 15 15 15 0 0 1 -30 0 15 15 0 0 1 15 -15" fill="none" stroke="#d4af37"/>
</g>
<!-- Tail Mechanism -->
<g transform="translate(0 30)">
<rect x="-40" y="0" width="80" height="20" fill="#2c1810" rx="5"/>
<path d="M-30 10L-50 40M30 10L50 40" stroke="#63513a" stroke-width="4"/>
</g>
<!-- Steam Vents -->
<g filter="url(#steamFilter)" opacity="0.7">
<ellipse cx="-20" cy="-50" rx="15" ry="25" fill="#ffffff"/>
<ellipse cx="25" cy="-60" rx="12" ry="20" fill="#ffffff"/>
</g>
<!-- Eye -->
<radialGradient id="eyeGlow">
<stop offset="0%" stop-color="#ff2200"/>
<stop offset="100%" stop-color="#770000"/>
</radialGradient>
<circle cx="15" cy="-40" r="6" fill="url(#eyeGlow)"/>
<circle cx="16" cy="-42" r="2" fill="#ffffff"/>
</g>
<!-- Floating Gears -->
<circle cx="80" cy="100" r="12" fill="url(#gearPattern)" transform="rotate(15 80 100)"/>
<circle cx="220" cy="200" r="8" fill="url(#gearPattern)" transform="rotate(-10 220 200)"/>
</svg>
Judge's Analysis
Player 2's image captures the essence of a steam-powered mechanical hummingbird with clockwork wings more effectively.
The design incorporates mechanical elements and a luminous effect that enhances the steampunk aesthetic.
While Player 1's image is minimalistic, it lacks the mechanical and intricate detailing that aligns with the prompt.
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
"An ancient tree with a glowing doorway at its base under a midnight sky."
"An astronaut planting a flag on a giant slice of pizza floating in space."
"An octopus holding a cupcake on each tentacle under a disco ball."
"Flamingo playing a saxophone under a starry night sky"