Creative Challenge
"Bioluminescent jellyfish skydiving over a city at night"
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 300 300">
<defs>
<linearGradient id="skyGradient" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#0b0c10"/>
<stop offset="100%" stop-color="#1f2833"/>
</linearGradient>
<linearGradient id="jellyGradient" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#00ffea" />
<stop offset="100%" stop-color="#005f6a" />
</linearGradient>
<radialGradient id="glow" cx="50%" cy="50%" r="50%">
<stop offset="0%" stop-color="rgba(0,255,234,0.8)" />
<stop offset="100%" stop-color="rgba(0,95,106,0)" />
</radialGradient>
</defs>
<!-- Night Sky -->
<rect width="300" height="300" fill="url(#skyGradient)"/>
<!-- Stars -->
<g fill="white" opacity="0.8">
<circle cx="50" cy="40" r="1.5"/>
<circle cx="120" cy="80" r="1"/>
<circle cx="200" cy="30" r="1.2"/>
<circle cx="250" cy="70" r="1"/>
<circle cx="180" cy="150" r="1.3"/>
<circle cx="70" cy="200" r="1"/>
<circle cx="220" cy="220" r="1.5"/>
<circle cx="30" cy="250" r="1"/>
<circle cx="270" cy="260" r="1.2"/>
</g>
<!-- City Skyline -->
<g fill="#2c3e50">
<rect x="20" y="200" width="30" height="100"/>
<rect x="60" y="180" width="20" height="120"/>
<rect x="90" y="190" width="25" height="110"/>
<rect x="130" y="170" width="35" height="130"/>
<rect x="180" y="210" width="25" height="90"/>
<rect x="220" y="190" width="20" height="110"/>
<rect x="250" y="200" width="30" height="100"/>
</g>
<!-- Building Lights -->
<g fill="#f1c40f" opacity="0.6">
<!-- Building 1 -->
<rect x="25" y="220" width="5" height="10"/>
<rect x="35" y="230" width="5" height="10"/>
<rect x="25" y="240" width="5" height="10"/>
<!-- Building 2 -->
<rect x="65" y="200" width="3" height="8"/>
<rect x="75" y="210" width="3" height="8"/>
<rect x="65" y="220" width="3" height="8"/>
<!-- Building 3 -->
<rect x="95" y="210" width="4" height="9"/>
<rect x="105" y="220" width="4" height="9"/>
<rect x="95" y="230" width="4" height="9"/>
<!-- Building 4 -->
<rect x="135" y="180" width="6" height="12"/>
<rect x="145" y="190" width="6" height="12"/>
<rect x="155" y="200" width="6" height="12"/>
<!-- Building 5 -->
<rect x="185" y="220" width="3" height="8"/>
<rect x="195" y="230" width="3" height="8"/>
<rect x="185" y="240" width="3" height="8"/>
<!-- Building 6 -->
<rect x="225" y="210" width="3" height="8"/>
<rect x="235" y="220" width="3" height="8"/>
<rect x="225" y="230" width="3" height="8"/>
<!-- Building 7 -->
<rect x="255" y="220" width="5" height="10"/>
<rect x="265" y="230" width="5" height="10"/>
<rect x="255" y="240" width="5" height="10"/>
</g>
<!-- Jellyfish Group -->
<g>
<!-- Jellyfish 1 -->
<g>
<ellipse cx="80" cy="100" rx="15" ry="25" fill="url(#jellyGradient)" />
<path d="M80,125 Q75,135 80,145 Q85,135 80,125" fill="url(#glow)" />
<path d="M80,125 Q70,140 75,155" stroke="url(#jellyGradient)" stroke-width="2" fill="none" />
<path d="M80,125 Q90,140 85,155" stroke="url(#jellyGradient)" stroke-width="2" fill="none" />
</g>
<!-- Jellyfish 2 -->
<g>
<ellipse cx="150" cy="80" rx="12" ry="20" fill="url(#jellyGradient)" />
<path d="M150,100 Q145,110 150,120 Q155,110 150,100" fill="url(#glow)" />
<path d="M150,100 Q140,115 145,130" stroke="url(#jellyGradient)" stroke-width="1.5" fill="none" />
<path d="M150,100 Q160,115 155,130" stroke="url(#jellyGradient)" stroke-width="1.5" fill="none" />
</g>
<!-- Jellyfish 3 -->
<g>
<ellipse cx="220" cy="120" rx="18" ry="30" fill="url(#jellyGradient)" />
<path d="M220,150 Q215,160 220,170 Q225,160 220,150" fill="url(#glow)" />
<path d="M220,150 Q210,165 215,180" stroke="url(#jellyGradient)" stroke-width="2" fill="none" />
<path d="M220,150 Q230,165 225,180" stroke="url(#jellyGradient)" stroke-width="2" fill="none" />
</g>
</g>
<!-- Motion Trails -->
<g opacity="0.5">
<path d="M80,100 Q70,110 60,120" stroke="url(#jellyGradient)" stroke-width="1" fill="none" stroke-dasharray="4,2"/>
<path d="M150,80 Q140,90 130,100" stroke="url(#jellyGradient)" stroke-width="1" fill="none" stroke-dasharray="4,2"/>
<path d="M220,120 Q210,130 200,140" stroke="url(#jellyGradient)" stroke-width="1" fill="none" stroke-dasharray="4,2"/>
</g>
</svg>
<svg viewBox="0 0 300 300" xmlns="http://www.w3.org/2000/svg">
<defs>
<radialGradient id="cityGlow" cx="50%" cy="100%" r="70%">
<stop offset="0%" stop-color="#ff980030"/>
<stop offset="100%" stop-color="#00000000"/>
</radialGradient>
<radialGradient id="jellyGlow" cx="50%" cy="50%" r="50%">
<stop offset="0%" stop-color="#00fff990"/>
<stop offset="100%" stop-color="#00fff910"/>
</radialGradient>
</defs>
<!-- Night sky background -->
<rect x="0" y="0" width="300" height="300" fill="#001832"/>
<!-- Stars -->
<g id="stars">
<circle cx="50" cy="30" r="1" fill="white" opacity="0.8"/>
<circle cx="150" cy="20" r="0.8" fill="white" opacity="0.6"/>
<circle cx="250" cy="40" r="1.2" fill="white" opacity="0.7"/>
<circle cx="80" cy="60" r="0.9" fill="white" opacity="0.7"/>
<circle cx="200" cy="50" r="1" fill="white" opacity="0.8"/>
</g>
<use href="#stars" transform="translate(0,60)"/>
<use href="#stars" transform="translate(-30,120)"/>
<!-- City skyline -->
<path d="M0,300 L0,220 L30,230 L50,180 L70,200 L90,170 L120,190 L150,150 L180,220 L200,180 L230,200 L260,160 L280,190 L300,170 L300,300 Z" fill="#001428"/>
<rect x="0" y="280" width="300" height="20" fill="#000a14"/>
<!-- City lights -->
<circle cx="150" cy="280" r="100" fill="url(#cityGlow)"/>
<!-- Jellyfish -->
<g transform="translate(150,150)">
<circle cx="0" cy="0" r="40" fill="url(#jellyGlow)"/>
<path d="M-30,-10 Q0,-40 30,-10 Q40,0 30,20 Q0,40 -30,20 Q-40,0 -30,-10" fill="#00ffff40" stroke="#00ffff" stroke-width="1"/>
<!-- Tentacles -->
<g id="tentacle">
<path d="M0,20 Q-5,40 0,60 Q5,80 0,100" fill="none" stroke="#00ffff80" stroke-width="2">
<animate attributeName="d" dur="3s" repeatCount="indefinite"
values="M0,20 Q-5,40 0,60 Q5,80 0,100;
M0,20 Q5,40 0,60 Q-5,80 0,100;
M0,20 Q-5,40 0,60 Q5,80 0,100"/>
</path>
</g>
<use href="#tentacle" transform="rotate(72)"/>
<use href="#tentacle" transform="rotate(144)"/>
<use href="#tentacle" transform="rotate(216)"/>
<use href="#tentacle" transform="rotate(288)"/>
<!-- Bioluminescent spots -->
<circle cx="10" cy="-10" r="3" fill="#00ffff">
<animate attributeName="opacity" dur="2s" repeatCount="indefinite" values="0.3;1;0.3"/>
</circle>
<circle cx="-15" cy="-5" r="2" fill="#00ffff">
<animate attributeName="opacity" dur="1.5s" repeatCount="indefinite" values="1;0.3;1"/>
</circle>
<circle cx="0" cy="10" r="2.5" fill="#00ffff">
<animate attributeName="opacity" dur="2.5s" repeatCount="indefinite" values="0.3;1;0.3"/>
</circle>
</g>
</svg>
Judge's Analysis
Player 1's submission effectively captures the prompt by depicting multiple bioluminescent jellyfish skydiving over a cityscape, combining both elements in a balanced composition.
The image shows clear technical quality with well-defined shapes and a harmonious color palette.
Although Player 2's image is visually appealing and technically sound, it focuses on a single jellyfish and lacks the cityscape element, making it less adherent to 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
"A dragon made of clouds floating above a calm sea"
"Frog in a suit riding a unicycle on a rainbow"
"Swirling ice cream cone galaxy, stars as sprinkles"
"An octopus juggling planets under a disco ball"
"Penguins at a disco dance-off with mirrored sunglasses"
"Octopus conducting a symphony of glowing fish under a moonlit sea"