<?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>Forem: Vatsal Patel</title>
    <description>The latest articles on Forem by Vatsal Patel (@iamvatsal).</description>
    <link>https://forem.com/iamvatsal</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%2F3260072%2Ff2128431-bfc7-4c4c-8438-559f25808476.jpeg</url>
      <title>Forem: Vatsal Patel</title>
      <link>https://forem.com/iamvatsal</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/iamvatsal"/>
    <language>en</language>
    <item>
      <title>Death’s Job Game</title>
      <dc:creator>Vatsal Patel</dc:creator>
      <pubDate>Sun, 16 Nov 2025 17:19:27 +0000</pubDate>
      <link>https://forem.com/iamvatsal/deaths-job-game-2hec</link>
      <guid>https://forem.com/iamvatsal/deaths-job-game-2hec</guid>
      <description>&lt;p&gt;🚀 I just built my first ever 2D game - Death’s Job! 💀🎮&lt;br&gt;
A little ghost. A sky full of obstacles. And a lot of physics.&lt;/p&gt;

&lt;p&gt;I started this project purely out of curiosity -&lt;br&gt;
“How do people make a game from scratch using something low-level like Pygame?”&lt;/p&gt;

&lt;p&gt;So, I opened a new Python file… and a few days later, I surprisingly had most of the game logic working.&lt;br&gt;
Gravity, physics, collisions, obstacle generation - all fun to implement.&lt;/p&gt;

&lt;p&gt;But then I hit the real boss fight in game development:&lt;br&gt;
🎨 finding assets that actually match.&lt;br&gt;
I was using random images from the internet… and the game looked like a cursed collage.&lt;/p&gt;

&lt;p&gt;Then Diwali happened. Then my university exams happened.&lt;br&gt;
And the project sat untouched.&lt;/p&gt;

&lt;p&gt;Once exams ended, I returned with fresh energy and decided to finish it properly.&lt;br&gt;
So, I generated matching sprites using Gemini + creative prompting, and honestly… asset creation was harder than the coding 😅&lt;/p&gt;

&lt;p&gt;For sound effects and background music, I went digging through Pixabay and finally found pieces that fit the vibe.&lt;/p&gt;

&lt;p&gt;Today - after polishing the UI, splash screen, physics, and gameplay.&lt;br&gt;
I’m proud to say the game is complete. 🎉&lt;/p&gt;

&lt;p&gt;🎮 Death’s Job — Features&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Interactive splash screen with animated buttons&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Flappy Bird–style jumping with horizontal controls&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Smooth physics (gravity, velocity, damping)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Pixel-perfect mask-based collision detection&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Randomized obstacles with recycling system&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Infinite scrolling cloud background&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Jump/Collision SFX + looping background music&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Auto-reset system&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Runs at 60 FPS&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;🎥 Gameplay Recording Gif:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.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%2F0xhi2ul08ia2zu8ouifw.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2F0xhi2ul08ia2zu8ouifw.gif" alt="Gameplay gif" width="426" height="240"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🔗 GitHub Repository:&lt;br&gt;
&lt;a href="https://github.com/IamVatsal/Deaths-Job" rel="noopener noreferrer"&gt;Death's Game&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This project taught me:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;How game engines handle physics at a low level&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;How deceptively hard good asset selection is&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;How much polish simple games actually need&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;And how fun it is to give life to something you built from scratch&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I’d love feedback, ideas, or critiques - especially from anyone into game dev or Python.&lt;/p&gt;

&lt;p&gt;Thanks for reading! 😊&lt;/p&gt;

</description>
      <category>gamedev</category>
      <category>python</category>
      <category>pygame</category>
      <category>gemini</category>
    </item>
    <item>
      <title>My Typescript Journey and effect of Copilot auto-completion</title>
      <dc:creator>Vatsal Patel</dc:creator>
      <pubDate>Sat, 21 Jun 2025 12:10:08 +0000</pubDate>
      <link>https://forem.com/iamvatsal/my-typescript-journey-and-effect-of-copilot-auto-completion-5apn</link>
      <guid>https://forem.com/iamvatsal/my-typescript-journey-and-effect-of-copilot-auto-completion-5apn</guid>
      <description>&lt;p&gt;&lt;strong&gt;I have brake of 1 and half month from uni so i decided to improve my dev skills by learning new skills&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I asked ChatGPT what should i learn based in my skill set with that 1 and half month time. he gave me few options and like what i am interested so i decided to go with general development and devOps and leave fundamental which i will be learning usually in university.&lt;/p&gt;

&lt;p&gt;for development it suggests me to learn ES6+ Function in JS and async await which i learn in two day from docs and YT.&lt;/p&gt;

&lt;p&gt;after that i started to learn typescript from Hitesh Chaudhary tutorial FreeCodeCamp. while i was practicing code in VScode I notice problem copilot is auto-completing my code just when I name functions it generally helps me but in this case, it bothers me it doesn't let me even think for sec and give me answer while it's great for development it not necessarily helpful here it is counter-productive here it doesn't help me learn.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.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%2Fa08xqksld6zvcs2gag56.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fa08xqksld6zvcs2gag56.png" alt="Image description" width="657" height="83"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.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%2Fmghgz7xnde8vg3pj4ayf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fmghgz7xnde8vg3pj4ayf.png" alt="copilot auto-completion" width="552" height="116"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;so, my advice for you will be turn-off copilot auto-completion while you are learning you can use copilot chat for questions and how something work it would increase learning speed so ask question to copilot for clarifying doubts but not use it for code for you.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>beginners</category>
      <category>tutorial</category>
      <category>typescript</category>
    </item>
    <item>
      <title>My Typescript Journey and effect of Copilot auto-completion</title>
      <dc:creator>Vatsal Patel</dc:creator>
      <pubDate>Sat, 21 Jun 2025 12:10:08 +0000</pubDate>
      <link>https://forem.com/iamvatsal/my-typescript-journey-and-effect-of-copilot-auto-completion-3oig</link>
      <guid>https://forem.com/iamvatsal/my-typescript-journey-and-effect-of-copilot-auto-completion-3oig</guid>
      <description>&lt;p&gt;&lt;strong&gt;I have brake of 1 and half month from uni so i decided to improve my dev skills by learning new skills&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I asked ChatGPT what should i learn based in my skill set with that 1 and half month time. he gave me few options and like what i am interested so i decided to go with general development and devOps and leave fundamental which i will be learning usually in university.&lt;/p&gt;

&lt;p&gt;for development it suggests me to learn ES6+ Function in JS and async await which i learn in two day from docs and YT.&lt;/p&gt;

&lt;p&gt;after that i started to learn typescript from Hitesh Chaudhary tutorial FreeCodeCamp. while i was practicing code in VScode I notice problem copilot is auto-completing my code just when I name functions it generally helps me but in this case, it bothers me it doesn't let me even think for sec and give me answer while it's great for development it not necessarily helpful here it is counter-productive here it doesn't help me learn.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.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%2Fa08xqksld6zvcs2gag56.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fa08xqksld6zvcs2gag56.png" alt="Image description" width="657" height="83"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.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%2Fmghgz7xnde8vg3pj4ayf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fmghgz7xnde8vg3pj4ayf.png" alt="copilot auto-completion" width="552" height="116"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;so, my advice for you will be turn-off copilot auto-completion while you are learning you can use copilot chat for questions and how something work it would increase learning speed so ask question to copilot for clarifying doubts but not use it for code for you.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>beginners</category>
      <category>tutorial</category>
      <category>typescript</category>
    </item>
  </channel>
</rss>
