<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Zibras Ismail</title>
    <description>The latest articles on DEV Community by Zibras Ismail (@zibrasismail).</description>
    <link>https://dev.to/zibrasismail</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F742608%2F062c5714-2293-41c0-8aee-e5d95d477d27.jpeg</url>
      <title>DEV Community: Zibras Ismail</title>
      <link>https://dev.to/zibrasismail</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/zibrasismail"/>
    <language>en</language>
    <item>
      <title>Build a Web Game: Alien Invaders Game</title>
      <dc:creator>Zibras Ismail</dc:creator>
      <pubDate>Mon, 23 Sep 2024 17:13:03 +0000</pubDate>
      <link>https://dev.to/zibrasismail/build-a-web-game-alien-invaders-game-2add</link>
      <guid>https://dev.to/zibrasismail/build-a-web-game-alien-invaders-game-2add</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/webgame"&gt;Web Game Challenge&lt;/a&gt;, Build a Game: Alien Edition&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;I built a web-based game called "Alien Invaders". The game involves controlling a spaceship to shoot down incoming alien enemies. The player can move the spaceship using arrow keys or the mouse and shoot using the spacebar or mouse click. The game features multiple levels, power-ups, and a boss enemy.&lt;/p&gt;

&lt;h2&gt;
  
  
  How I Approached the Project
&lt;/h2&gt;

&lt;p&gt;I started by setting up the basic HTML structure and styling using CSS. Then, I used JavaScript to create the game logic, including player movement, shooting mechanics, enemy spawning, collision detection, and scoring. I also added a pause/play functionality and power-ups to enhance the gameplay experience. The game loop is managed using &lt;code&gt;requestAnimationFrame&lt;/code&gt; for smooth animations.&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;You can play the game &lt;a href="https://zibrasismail.github.io/Alien-Invaders-Game" rel="noopener noreferrer"&gt;here&lt;/a&gt;. The source code is available on &lt;a href="https://github.com/ZibrasIsmail/Alien-Invaders-Game" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhr1ivkva66vgm0nbaaek.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhr1ivkva66vgm0nbaaek.png" alt="Image description" width="" height=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Journey
&lt;/h2&gt;

&lt;p&gt;Building "Alien Invaders" was a fun and educational experience. I learned a lot about HTML5 canvas, JavaScript game development, and handling user input. I am particularly proud of implementing the pause/play functionality and the power-up system. Next, I hope to add more enemy types, improve the graphics, and implement a high score system.&lt;/p&gt;

&lt;p&gt;I have added an MIT license to my code to encourage others to use and contribute to it.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>gamechallenge</category>
      <category>gamedev</category>
      <category>webdev</category>
    </item>
    <item>
      <title>One Byte Explainer: WebSockets</title>
      <dc:creator>Zibras Ismail</dc:creator>
      <pubDate>Mon, 23 Sep 2024 16:57:56 +0000</pubDate>
      <link>https://dev.to/zibrasismail/one-byte-explainer-websockets-3o47</link>
      <guid>https://dev.to/zibrasismail/one-byte-explainer-websockets-3o47</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/webgame"&gt;Web Game Challenge&lt;/a&gt;: One Byte Explainer&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Explainer
&lt;/h2&gt;

&lt;p&gt;WebSockets enable real-time communication between the browser and server. In game development, they allow for instant data exchange, essential for multiplayer features and live updates, ensuring a seamless and responsive gaming experience.&lt;/p&gt;

&lt;h2&gt;
  
  
  Additional Context
&lt;/h2&gt;

&lt;p&gt;Unlike traditional HTTP requests, WebSockets maintain an open connection, reducing latency and overhead. They are supported by most modern browsers and can be integrated easily with backend technologies, making them ideal for building interactive and dynamic multiplayer games.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>gamechallenge</category>
      <category>gamedev</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Explore the Solar System via Interactive Design Web</title>
      <dc:creator>Zibras Ismail</dc:creator>
      <pubDate>Mon, 09 Sep 2024 04:46:27 +0000</pubDate>
      <link>https://dev.to/zibrasismail/explore-the-solar-system-via-interactive-design-web-26n9</link>
      <guid>https://dev.to/zibrasismail/explore-the-solar-system-via-interactive-design-web-26n9</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for &lt;a href="https://dev.to/challenges/frontend-2024-09-04"&gt;Frontend Challenge v24.09.04&lt;/a&gt;, Glam Up My Markup: Space&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;I created an interactive web application that allows users to explore our solar system. The landing page provides an overview of the Sun, planets, moons, and other celestial objects, offering an engaging and educational experience for space enthusiasts of all ages.&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc0u313yg8rgstfmqhfxm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc0u313yg8rgstfmqhfxm.png" alt="Image description" width="800" height="373"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Repo Link: &lt;a href="https://github.com/ZibrasIsmail/Interactive-Solar-System-Explorer" rel="noopener noreferrer"&gt;https://github.com/ZibrasIsmail/Interactive-Solar-System-Explorer&lt;/a&gt;&lt;br&gt;
You can view the live demo: &lt;a href="https://zibrasismail.github.io/Interactive-Solar-System-Explorer" rel="noopener noreferrer"&gt;https://zibrasismail.github.io/Interactive-Solar-System-Explorer&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Journey
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;I started by creating the HTML structure to organize the content about various celestial bodies.&lt;/li&gt;
&lt;li&gt;I then styled the page using CSS to create a space-themed appearance with a dark background and bright text.&lt;/li&gt;
&lt;li&gt;JavaScript was used to add interactivity, including:

&lt;ul&gt;
&lt;li&gt;A star field background&lt;/li&gt;
&lt;li&gt;Animated comets&lt;/li&gt;
&lt;li&gt;Modal popups for detailed information about each celestial body&lt;/li&gt;
&lt;li&gt;Smooth scrolling navigation&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  What I Learned
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;How to create a visually appealing space theme using CSS gradients and animations&lt;/li&gt;
&lt;li&gt;Implementing modals and smooth scrolling navigation using vanilla JavaScript&lt;/li&gt;
&lt;li&gt;Improving accessibility by adding keyboard navigation&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Next Steps
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Add more detailed information and images for each celestial body&lt;/li&gt;
&lt;li&gt;Implement a 3D model of the solar system using WebGL&lt;/li&gt;
&lt;li&gt;Create interactive quizzes to test users' knowledge of the solar system&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This project is open source and available under the &lt;a href="https://dev.toLICENSE"&gt;MIT License&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>frontendchallenge</category>
      <category>css</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Cosmic Canvas: Interactive Deep Space CSS Art</title>
      <dc:creator>Zibras Ismail</dc:creator>
      <pubDate>Sat, 07 Sep 2024 13:27:56 +0000</pubDate>
      <link>https://dev.to/zibrasismail/cosmic-canvas-interactive-deep-space-css-art-b56</link>
      <guid>https://dev.to/zibrasismail/cosmic-canvas-interactive-deep-space-css-art-b56</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for &lt;a href="https://dev.to/challenges/frontend-2024-09-04"&gt;Frontend Challenge v24.09.04&lt;/a&gt;, CSS Art: Space.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Inspiration
&lt;/h2&gt;

&lt;p&gt;This project, "Cosmic Canvas: Interactive Deep Space CSS Art," was inspired by the vast beauty of outer space and the challenge of recreating celestial phenomena using only CSS and JavaScript. The goal was to create an immersive, animated space scene that demonstrates the power of modern web technologies to create complex, visually stunning art without the need for heavy graphics libraries.&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;Github Repo Link: &lt;strong&gt;&lt;a href="https://github.com/ZibrasIsmail/Interactive-Deep-Space-CSS-Art" rel="noopener noreferrer"&gt;https://github.com/ZibrasIsmail/Interactive-Deep-Space-CSS-Art&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;
Github Hosted Link: &lt;strong&gt;&lt;a href="https://zibrasismail.github.io/Interactive-Deep-Space-CSS-Art" rel="noopener noreferrer"&gt;https://zibrasismail.github.io/Interactive-Deep-Space-CSS-Art&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7e3ore5ajskgsejgwxnh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7e3ore5ajskgsejgwxnh.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Journey
&lt;/h2&gt;

&lt;p&gt;This project began as an exploration of advanced CSS techniques and grew into a comprehensive space scene. Here are some key aspects of the journey:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Complex CSS Animations: Creating realistic orbital movements for moons and asteroids was a significant challenge. I learned to use complex CSS animations with multiple transformations to achieve smooth, circular orbits.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Dynamic Element Creation: Using JavaScript to dynamically create stars, galaxies, and asteroids taught me a lot about DOM manipulation and how to efficiently generate many elements with varying properties.&lt;/p&gt;

&lt;p&gt;Color and Texture: Crafting the right colors and textures for celestial bodies was an exercise in creativity. I experimented with various gradients and box-shadows to achieve a sense of depth and realism.&lt;/p&gt;

&lt;h2&gt;
  
  
  HTML Structure
&lt;/h2&gt;

&lt;p&gt;The HTML file sets up the basic structure of the space scene:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;div class="space-scene"&amp;gt;
  &amp;lt;div class="stars"&amp;gt;&amp;lt;/div&amp;gt;
  &amp;lt;div class="galaxies"&amp;gt;&amp;lt;/div&amp;gt;
  &amp;lt;div class="shooting-stars"&amp;gt;&amp;lt;/div&amp;gt;
  &amp;lt;div class="nebula"&amp;gt;&amp;lt;/div&amp;gt;
  &amp;lt;div class="planet-system"&amp;gt;
    &amp;lt;div class="planet main-planet"&amp;gt;&amp;lt;/div&amp;gt;
    &amp;lt;div class="planet-ring"&amp;gt;&amp;lt;/div&amp;gt;
    &amp;lt;div class="moon moon1"&amp;gt;&amp;lt;/div&amp;gt;
    &amp;lt;div class="moon moon2"&amp;gt;&amp;lt;/div&amp;gt;
    &amp;lt;div class="moon moon3"&amp;gt;&amp;lt;/div&amp;gt;
  &amp;lt;/div&amp;gt;
  &amp;lt;div class="asteroid-belt"&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;This structure creates containers for various space elements, which will be styled and animated using CSS and populated with JavaScript.&lt;/p&gt;

&lt;h2&gt;
  
  
  CSS Styling and Animations
&lt;/h2&gt;

&lt;p&gt;The CSS code creates a visually rich space scene with various celestial elements. It sets up a full-screen, dark background for the space scene and defines styles and animations for different space objects. Stars and galaxies are positioned absolutely and given twinkling and glowing animations. A nebula effect is created using multiple radial gradients. The main planet is styled with a radial gradient and a glow effect, while a planetary ring is created using a border and rotated for a 3D appearance. Three moons are styled with different colors and given orbiting animations using rotate and translate transformations. Shooting stars are created with a linear gradient and animated to move across the screen. An asteroid belt is positioned around the planet, with individual asteroids animated to rotate. The CSS extensively uses keyframe animations to create movement and visual effects, bringing life to the static HTML elements.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;body,
html {
  margin: 0;
  padding: 0;
  height: 100%;
  overflow: hidden;
}

.space-scene {
  width: 100%;
  height: 100%;
  background: #000000;
  position: relative;
  overflow: hidden;
}

.stars,
.galaxies {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.star {
  position: absolute;
  background-color: #fff;
  border-radius: 50%;
  animation: twinkle 4s infinite ease-in-out;
}

.galaxy {
  position: absolute;
  border-radius: 50%;
  animation: glow 4s infinite alternate;
}

@keyframes twinkle {
  0%,
  100% {
    opacity: 0.5;
    transform: scale(1);
  }
  50% {
    opacity: 1;
    transform: scale(1.2);
  }
}

@keyframes glow {
  0% {
    box-shadow: 0 0 2px 1px rgba(255, 255, 255, 0.1);
  }
  100% {
    box-shadow: 0 0 10px 2px rgba(255, 255, 255, 0.3);
  }
}

.nebula {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: radial-gradient(
      circle at 20% 80%,
      rgba(255, 0, 100, 0.1) 0%,
      transparent 50%
    ),
    radial-gradient(
      circle at 80% 20%,
      rgba(0, 100, 255, 0.1) 0%,
      transparent 50%
    ),
    radial-gradient(
      circle at 40% 40%,
      rgba(255, 100, 0, 0.1) 0%,
      transparent 60%
    ),
    radial-gradient(
      circle at 60% 60%,
      rgba(100, 0, 255, 0.1) 0%,
      transparent 60%
    );
  filter: blur(20px);
  opacity: 0.5;
}

.planet-system {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 300px;
  height: 300px;
}

.main-planet {
  width: 150px;
  height: 150px;
  background: radial-gradient(circle at 30% 30%, #4a89dc, #1c3c78);
  border-radius: 50%;
  box-shadow: 0 0 50px rgba(74, 137, 220, 0.8);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.planet-ring {
  width: 225px;
  height: 225px;
  border: 10px solid rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotateX(75deg);
}

.moon {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
}

.moon1 {
  animation: orbit 30s linear infinite; /* Increased from 10s to 30s */
  background: radial-gradient(circle at 30% 30%, #ffd700, #ffa500);
  box-shadow:
    inset -2px -2px 4px rgba(0, 0, 0, 0.3),
    0 0 8px rgba(255, 215, 0, 0.6);
}

.moon2 {
  animation: orbit 45s linear infinite reverse; /* Increased from 15s to 45s */
  background: radial-gradient(circle at 30% 30%, #add8e6, #4169e1);
  box-shadow:
    inset -2px -2px 4px rgba(0, 0, 0, 0.3),
    0 0 8px rgba(65, 105, 225, 0.6);
}

.moon3 {
  animation: orbit 60s linear infinite; /* Increased from 20s to 60s */
  background: radial-gradient(circle at 30% 30%, #f0e68c, #daa520);
  box-shadow:
    inset -2px -2px 4px rgba(0, 0, 0, 0.3),
    0 0 8px rgba(218, 165, 32, 0.6);
}

@keyframes orbit {
  0% {
    transform: rotate(0deg) translateX(100px) rotate(0deg);
  }
  100% {
    transform: rotate(360deg) translateX(100px) rotate(-360deg);
  }
}

.shooting-stars {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.shooting-star {
  position: absolute;
  height: 2px;
  background: linear-gradient(90deg, #ffffff, transparent);
  animation: shoot 3s ease-out infinite;
}

@keyframes shoot {
  0% {
    transform: translateX(-100px) translateY(100px);
    opacity: 1;
  }
  70% {
    opacity: 1;
  }
  100% {
    transform: translateX(1000px) translateY(-1000px);
    opacity: 0;
  }
}

.asteroid-belt {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotateX(75deg);
  width: 350px;
  height: 350px;
  border-radius: 50%;
}

.asteroid {
  position: absolute;
  background: #555;
  border-radius: 50%;
  top: 50%;
  left: 50%;
  transform-origin: 175px 0;
  animation: rotate 20s linear infinite;
}

@keyframes rotate {
  0% {
    transform: rotate(0deg) translateX(175px) rotate(0deg);
  }
  100% {
    transform: rotate(360deg) translateX(175px) rotate(-360deg);
  }
}

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;The JavaScript code dynamically creates and positions numerous small elements that make up the space scene. The main function, create Celestial Objects, selects container elements and then loops to create a specified number of stars, galaxies, shooting stars, and asteroids. For each created element, it sets appropriate CSS classes, randomly determines properties like size and position, and adds animation delays and durations for a more natural appearance. For galaxies, it also randomly selects colors from a predefined array. Each created element is then appended to its respective container in the DOM. This dynamic creation allows for a large number of elements to be added efficiently, creating a detailed space scene without manually coding each object. The script runs when the window loads, ensuring all HTML elements are in place before adding the celestial objects.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;function createCelestialObjects() {
  const starsContainer = document.querySelector(".stars");
  const galaxiesContainer = document.querySelector(".galaxies");
  const shootingStarsContainer = document.querySelector(".shooting-stars");
  const asteroidBelt = document.querySelector(".asteroid-belt");

  const starCount = 1000;
  const galaxyCount = 50;
  const shootingStarCount = 5;
  const asteroidCount = 100;

  const galaxyColors = ["#FFD700", "#87CEEB", "#FFA500", "#FF69B4", "#00CED1"];

  for (let i = 0; i &amp;lt; starCount; i++) {
    const star = document.createElement("div");
    star.className = "star";
    star.style.width = star.style.height = `${Math.random() * 2}px`;
    star.style.left = `${Math.random() * 100}%`;
    star.style.top = `${Math.random() * 100}%`;
    star.style.animationDuration = `${Math.random() * 2 + 2}s`;
    star.style.animationDelay = `${Math.random() * 4}s`;
    starsContainer.appendChild(star);
  }

  for (let i = 0; i &amp;lt; galaxyCount; i++) {
    const galaxy = document.createElement("div");
    galaxy.className = "galaxy";
    const size = Math.random() * 20 + 5;
    galaxy.style.width = `${size}px`;
    galaxy.style.height = `${size / 2}px`;
    galaxy.style.left = `${Math.random() * 100}%`;
    galaxy.style.top = `${Math.random() * 100}%`;
    galaxy.style.backgroundColor =
      galaxyColors[Math.floor(Math.random() * galaxyColors.length)];
    galaxy.style.transform = `rotate(${Math.random() * 360}deg)`;
    galaxiesContainer.appendChild(galaxy);
  }

  for (let i = 0; i &amp;lt; shootingStarCount; i++) {
    const shootingStar = document.createElement("div");
    shootingStar.className = "shooting-star";
    shootingStar.style.left = `${Math.random() * 100}%`;
    shootingStar.style.top = `${Math.random() * 100}%`;
    shootingStar.style.animationDelay = `${Math.random() * 5}s`;
    shootingStarsContainer.appendChild(shootingStar);
  }

  for (let i = 0; i &amp;lt; asteroidCount; i++) {
    const asteroid = document.createElement("div");
    asteroid.className = "asteroid";
    asteroid.style.width = asteroid.style.height = `${Math.random() * 3 + 1}px`;
    asteroid.style.animationDuration = `${Math.random() * 10 + 10}s`;
    asteroid.style.animationDelay = `${Math.random() * 10}s`;
    asteroidBelt.appendChild(asteroid);
  }
}

window.addEventListener("load", createCelestialObjects);

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
      <category>frontendchallenge</category>
      <category>devchallenge</category>
      <category>css</category>
    </item>
  </channel>
</rss>
