<?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: Kartik Patel</title>
    <description>The latest articles on Forem by Kartik Patel (@kartik_patel).</description>
    <link>https://forem.com/kartik_patel</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%2F2890390%2F7e4c17ab-9bb5-4d93-820d-bb87244ca283.webp</url>
      <title>Forem: Kartik Patel</title>
      <link>https://forem.com/kartik_patel</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/kartik_patel"/>
    <language>en</language>
    <item>
      <title>I build something.... Project Sunya #1</title>
      <dc:creator>Kartik Patel</dc:creator>
      <pubDate>Fri, 27 Mar 2026 17:44:28 +0000</pubDate>
      <link>https://forem.com/kartik_patel/i-build-something-project-sunya-1-26fo</link>
      <guid>https://forem.com/kartik_patel/i-build-something-project-sunya-1-26fo</guid>
      <description>&lt;h1&gt;
  
  
  &lt;strong&gt;THIS POST MIGHT APPEAR LONG…&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;BUT THAT’S BECAUSE THE VISION IS TOO&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;For almost a year, I had a vision.&lt;/p&gt;

&lt;p&gt;I knew what I wanted to build.&lt;/p&gt;

&lt;p&gt;But I couldn’t start.&lt;/p&gt;

&lt;p&gt;Reasons?&lt;br&gt;
Health, money, pressure… life doing its usual thing.&lt;/p&gt;

&lt;p&gt;When 2025 started, I told myself:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“This is the year I begin.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;2025 ended.&lt;/p&gt;

&lt;p&gt;I still hadn’t started.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Reality
&lt;/h2&gt;

&lt;p&gt;To be fair, 2025 wasn’t empty.&lt;/p&gt;

&lt;p&gt;I learned a lot.&lt;br&gt;
I made my first money.&lt;br&gt;
I improved as a developer.&lt;/p&gt;

&lt;p&gt;But for someone like me, in my current situation:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I prioritize my dreams over money.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;And still… I didn’t start.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Part That Changed Everything
&lt;/h2&gt;

&lt;p&gt;Half of 2025 was spent in a hospital.&lt;/p&gt;

&lt;p&gt;Just lying there, thinking:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What life used to be like&lt;/li&gt;
&lt;li&gt;What I’d do once I got out&lt;/li&gt;
&lt;li&gt;What I should’ve already started&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That’s a lot for a 14-year-old.&lt;/p&gt;

&lt;p&gt;But that phase gave me something important:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The journey matters more than the destination.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Whether I reach my goal or not doesn’t matter.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Not starting does.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Why “Sunya”?
&lt;/h2&gt;

&lt;p&gt;So in 2026, I made a decision:&lt;/p&gt;

&lt;p&gt;I’m not starting big.&lt;br&gt;
I’m not starting perfect.&lt;/p&gt;

&lt;p&gt;I’m starting from &lt;strong&gt;ZERO&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;“Zero” translates to &lt;strong&gt;“Shunya”&lt;/strong&gt; in Hindi and Sanskrit.&lt;/p&gt;

&lt;p&gt;I liked the word.&lt;br&gt;
Didn’t like the letter &lt;em&gt;H&lt;/em&gt; (don’t ask), so I removed it.&lt;/p&gt;

&lt;p&gt;And that’s how the name came:&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;PROJECT SUNYA&lt;/strong&gt;
&lt;/h1&gt;




&lt;h2&gt;
  
  
  January: Reality Strikes Again
&lt;/h2&gt;

&lt;p&gt;January started.&lt;/p&gt;

&lt;p&gt;I was ready to begin.&lt;/p&gt;

&lt;p&gt;And then… exams showed up.&lt;/p&gt;

&lt;p&gt;Because of course they did.&lt;/p&gt;

&lt;p&gt;I had also promised myself:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Build one satisfactory project every month.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;So now I had to balance both.&lt;/p&gt;




&lt;h2&gt;
  
  
  Dat-One-Pad (First Attempt)
&lt;/h2&gt;

&lt;p&gt;I built &lt;strong&gt;DAT-ONE-PAD&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;A tool that could:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Turn text files into PDF notes&lt;/li&gt;
&lt;li&gt;Extract content from simple web pages&lt;/li&gt;
&lt;li&gt;Generate notes from YouTube transcripts&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That last part?&lt;/p&gt;

&lt;p&gt;Way harder than expected.&lt;/p&gt;

&lt;p&gt;It actually helped me in exams.&lt;/p&gt;

&lt;p&gt;But there was a problem.&lt;/p&gt;

&lt;p&gt;I couldn’t release it publicly.&lt;/p&gt;

&lt;p&gt;I was using a &lt;strong&gt;free AI API key&lt;/strong&gt;, which had limits.&lt;br&gt;
And honestly, I didn’t want to risk breaking things.&lt;/p&gt;

&lt;p&gt;So it stayed private.&lt;/p&gt;

&lt;p&gt;Useful — but not scalable.&lt;/p&gt;




&lt;h2&gt;
  
  
  February: The Turning Point
&lt;/h2&gt;

&lt;p&gt;Exams started.&lt;/p&gt;

&lt;p&gt;I was studying — mostly alone.&lt;/p&gt;

&lt;p&gt;But I prefer studying with friends.&lt;/p&gt;

&lt;p&gt;So we studied together on chats and calls.&lt;/p&gt;

&lt;p&gt;And that’s when we noticed a problem:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;There was no proper “vault” to store and organize our notes.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Now think like a developer.&lt;/p&gt;

&lt;p&gt;What would you do?&lt;/p&gt;

&lt;p&gt;Exactly.&lt;/p&gt;

&lt;p&gt;Build something… even during exams.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Vault Experiment
&lt;/h2&gt;

&lt;p&gt;I started building a simple vault system:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;File saving&lt;/li&gt;
&lt;li&gt;Google OAuth (hardcoded emails, don’t expect production-level security during exams)&lt;/li&gt;
&lt;li&gt;Basic structure for notes&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;No database.&lt;/p&gt;

&lt;p&gt;Because:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;I was in exams&lt;/li&gt;
&lt;li&gt;Time was limited&lt;/li&gt;
&lt;li&gt;I wanted speed, not perfection&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;But while building this…&lt;/p&gt;

&lt;p&gt;Something clicked.&lt;/p&gt;




&lt;h2&gt;
  
  
  The First Real Step of Project Sunya
&lt;/h2&gt;

&lt;p&gt;This wasn’t just a tool anymore.&lt;/p&gt;

&lt;p&gt;This was:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Useful&lt;/li&gt;
&lt;li&gt;Scalable&lt;/li&gt;
&lt;li&gt;Aligned with my daily life&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I finally found the &lt;strong&gt;first step&lt;/strong&gt; I had been searching for.&lt;/p&gt;

&lt;p&gt;A project that could:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Support my bigger vision&lt;/li&gt;
&lt;li&gt;Fit into my academic life&lt;/li&gt;
&lt;li&gt;Potentially fund future work&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  The Monetization Problem
&lt;/h2&gt;

&lt;p&gt;Now came the obvious question:&lt;/p&gt;

&lt;p&gt;How does this make money?&lt;/p&gt;

&lt;p&gt;Two options:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Sell access&lt;/li&gt;
&lt;li&gt;Make it free and rely on ads&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Option 2 isn’t great financially.&lt;/p&gt;

&lt;p&gt;But I chose it anyway.&lt;/p&gt;

&lt;p&gt;Because right now:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Helping others while helping myself matters more.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Building CBSE Mastery
&lt;/h2&gt;

&lt;p&gt;I spent:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Half of February&lt;/li&gt;
&lt;li&gt;Entire March&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Building this platform.&lt;/p&gt;

&lt;p&gt;And that’s how &lt;strong&gt;CBSE Mastery&lt;/strong&gt; was created — a centralized system for notes, structured learning, and simplifying how students actually study.&lt;/p&gt;

&lt;p&gt;You can check it out here:&lt;br&gt;
👉 &lt;a href="https://cbsemastery.in/" rel="noopener noreferrer"&gt;https://cbsemastery.in/&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  What Is CBSE?
&lt;/h2&gt;

&lt;p&gt;For non-Indian readers:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CBSE (Central Board of Secondary Education)&lt;/strong&gt; is one of the main education boards in India, followed by millions of students.&lt;/p&gt;

&lt;p&gt;This project focuses on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Notes&lt;/li&gt;
&lt;li&gt;Structured learning&lt;/li&gt;
&lt;li&gt;Simplified study material&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But it’s not limited to CBSE.&lt;/p&gt;

&lt;p&gt;That’s just the starting point.&lt;/p&gt;




&lt;h2&gt;
  
  
  Under the Hood (Why It Took 1.5 Months)
&lt;/h2&gt;

&lt;p&gt;It might look simple from the outside.&lt;/p&gt;

&lt;p&gt;It’s not.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Modular Renderers
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Markdown Renderer&lt;/li&gt;
&lt;li&gt;Quiz Renderer&lt;/li&gt;
&lt;li&gt;PDF Renderer (planned)&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  2. File-Based System
&lt;/h3&gt;

&lt;p&gt;Notes are stored as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;.md&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;.pdf&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;other formats&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;They are processed and rendered dynamically.&lt;/p&gt;




&lt;h3&gt;
  
  
  3. SEO-Focused Structure
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;meta.json&lt;/code&gt; files for metadata&lt;/li&gt;
&lt;li&gt;YAML support inside markdown&lt;/li&gt;
&lt;li&gt;Structured content system&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Because yes, traffic matters.&lt;/p&gt;




&lt;h3&gt;
  
  
  4. Performance Optimization
&lt;/h3&gt;

&lt;p&gt;PageSpeed started at ~60.&lt;/p&gt;

&lt;p&gt;It took about a week to optimize it properly.&lt;/p&gt;




&lt;h3&gt;
  
  
  5. PWA Support
&lt;/h3&gt;

&lt;p&gt;The site works as a &lt;strong&gt;Progressive Web App&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Installable&lt;/li&gt;
&lt;li&gt;Faster access&lt;/li&gt;
&lt;li&gt;App-like feel&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  And Then… The Same Problem Again
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Funding.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I needed money…&lt;/p&gt;

&lt;p&gt;To fund the project…&lt;/p&gt;

&lt;p&gt;That would eventually fund bigger ideas.&lt;/p&gt;

&lt;p&gt;Brilliant system. Truly flawless.&lt;/p&gt;




&lt;h2&gt;
  
  
  Current Situation
&lt;/h2&gt;

&lt;p&gt;So here’s what I did:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Bought the domain&lt;/li&gt;
&lt;li&gt;Deployed on free tiers (Netlify carrying this like a gym bro spotting a beginner)&lt;/li&gt;
&lt;li&gt;Trying to get clients to sustain development&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And no — this post is &lt;strong&gt;not&lt;/strong&gt; for client begging.&lt;/p&gt;

&lt;p&gt;I’m documenting.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why I’m Sharing This
&lt;/h2&gt;

&lt;p&gt;There’s a saying:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;90% of people don’t care about your problems.&lt;br&gt;
9.9% are happy you have them.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Maybe that’s true.&lt;/p&gt;

&lt;p&gt;But I’m not writing for the 99.9%.&lt;/p&gt;

&lt;p&gt;I’m writing for the &lt;strong&gt;0.1%&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The ones who understand.&lt;br&gt;
The ones building something.&lt;br&gt;
The ones starting from zero.&lt;/p&gt;




&lt;h2&gt;
  
  
  Final Note
&lt;/h2&gt;

&lt;p&gt;This isn’t a success story.&lt;/p&gt;

&lt;p&gt;Not yet.&lt;/p&gt;

&lt;p&gt;This is just the point where I finally stopped thinking…&lt;/p&gt;

&lt;p&gt;and started building.&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;Project Sunya has officially begun.&lt;/strong&gt;
&lt;/h1&gt;

</description>
      <category>webdev</category>
      <category>ai</category>
      <category>programming</category>
      <category>buildinpublic</category>
    </item>
    <item>
      <title>Zero To Game Dev - First Line Of Code</title>
      <dc:creator>Kartik Patel</dc:creator>
      <pubDate>Wed, 11 Mar 2026 01:57:34 +0000</pubDate>
      <link>https://forem.com/kartik_patel/zero-to-game-dev-first-line-of-code-5efk</link>
      <guid>https://forem.com/kartik_patel/zero-to-game-dev-first-line-of-code-5efk</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Welcome to &lt;strong&gt;Chapter 6&lt;/strong&gt; of the &lt;em&gt;Zero To Game Dev&lt;/em&gt; course titled &lt;em&gt;First Line Of Code&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;In the previous chapter, we explored the Mini Micro environment, learned how the terminal works, and discovered some basic commands that help us navigate the system.&lt;/p&gt;

&lt;p&gt;Now it’s time to move one step further.&lt;/p&gt;

&lt;p&gt;In this chapter, we will finally write our &lt;strong&gt;first MiniScript program&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;If this is your first time coding, it might feel a little intimidating at first. That’s completely normal. Every programmer starts exactly the same way.&lt;/p&gt;

&lt;p&gt;The good news is that programs don’t begin with complicated systems or large projects. They begin with &lt;strong&gt;very small instructions&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;One line at a time.&lt;/p&gt;

&lt;p&gt;Programming is simply the process of &lt;strong&gt;telling a computer what to do, step by step&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;In this chapter, we’ll start doing exactly that.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Is a Program?
&lt;/h2&gt;

&lt;p&gt;Although we already discussed this in &lt;strong&gt;Chapter 4&lt;/strong&gt;, it’s helpful to quickly revisit the idea before we continue.&lt;/p&gt;

&lt;p&gt;A &lt;strong&gt;program&lt;/strong&gt; is simply a &lt;strong&gt;list of instructions that a computer follows&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Computers don’t think or make decisions on their own. They only perform the instructions we give them, one step at a time.&lt;/p&gt;

&lt;p&gt;A good way to understand this is by comparing programs to everyday instructions.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;A &lt;strong&gt;cooking recipe&lt;/strong&gt; tells you step by step how to prepare a dish.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;LEGO instructions&lt;/strong&gt; show exactly how pieces should be assembled.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Directions on a map&lt;/strong&gt; guide you from one place to another.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Programming works the same way.&lt;/p&gt;

&lt;p&gt;A computer receives instructions and follows them in a &lt;strong&gt;clear, logical order&lt;/strong&gt;. This is why programming is often described as &lt;strong&gt;step-by-step logic&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Once you understand this idea, programming stops feeling mysterious. It becomes a process of writing instructions that the computer can execute.&lt;/p&gt;

&lt;p&gt;If you are completely new to programming, I strongly recommend reading &lt;strong&gt;Chapter 4&lt;/strong&gt; of this course first, where we explore this concept in much more detail.&lt;/p&gt;

&lt;p&gt;Thinking Like A Coder (Before Writing Code)&lt;br&gt;&lt;br&gt;
&lt;a href="https://dev.to/kartik_patel/zero-to-game-dev-thinking-like-coder-before-writing-code-1be0"&gt;https://dev.to/kartik_patel/zero-to-game-dev-thinking-like-coder-before-writing-code-1be0&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Writing Your First Line of Code
&lt;/h2&gt;

&lt;p&gt;Now it’s finally time to write our &lt;strong&gt;first line of code&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;We’ll start by typing a simple command directly into the &lt;strong&gt;terminal&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;If you’ve ever looked at programming tutorials before, you might have noticed that most of them begin with a famous first program called &lt;strong&gt;“Hello World.”&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;For decades, programmers have used it as the first test to confirm that their programming environment is working.&lt;/p&gt;

&lt;p&gt;But instead of writing the usual &lt;em&gt;Hello World&lt;/em&gt;, let’s make it a little more personal.&lt;/p&gt;

&lt;p&gt;For example, my name is Kartik. So I can type this into the terminal:&lt;/p&gt;

&lt;p&gt;print "Hello, Kartik"&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%2F4dp913f7smnavzt0sxk9.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%2F4dp913f7smnavzt0sxk9.png" alt=" " width="570" height="279"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When you press &lt;strong&gt;Enter&lt;/strong&gt;, Mini Micro immediately prints the message on the screen.&lt;/p&gt;




&lt;h3&gt;
  
  
  Understanding This Line of Code
&lt;/h3&gt;

&lt;p&gt;Even though this program is only one line long, it already contains three important parts:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;print&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;" "&lt;/code&gt; (quotation marks)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;Hello, Kartik&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Let’s break them down.&lt;/p&gt;




&lt;h3&gt;
  
  
  The &lt;code&gt;print&lt;/code&gt; Function
&lt;/h3&gt;

&lt;p&gt;The word &lt;code&gt;print&lt;/code&gt; is something called a &lt;strong&gt;function&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;A function is simply &lt;strong&gt;a predefined instruction that tells the computer to perform a specific task&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Think of it like a small tool that does one job.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;a calculator has buttons for different operations&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;a phone has buttons that perform specific actions&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In programming, functions work in a similar way.&lt;br&gt;&lt;br&gt;
You call a function, and it performs its job.&lt;/p&gt;

&lt;p&gt;The job of the &lt;code&gt;print&lt;/code&gt; function is very simple:&lt;/p&gt;

&lt;p&gt;It &lt;strong&gt;displays information on the screen&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;For now, we can think of it as printing text on the &lt;strong&gt;terminal&lt;/strong&gt;.&lt;/p&gt;




&lt;h3&gt;
  
  
  What Are Quotes?
&lt;/h3&gt;

&lt;p&gt;The quotation marks &lt;code&gt;" "&lt;/code&gt; in our code are also important.&lt;/p&gt;

&lt;p&gt;They tell the computer that the content inside them is &lt;strong&gt;text&lt;/strong&gt; that should be displayed exactly as written.&lt;/p&gt;

&lt;p&gt;Anything inside quotes is treated as a specific type of data.&lt;/p&gt;




&lt;h3&gt;
  
  
  What Is Data?
&lt;/h3&gt;

&lt;p&gt;In programming, &lt;strong&gt;data&lt;/strong&gt; simply means information that a program can store, process, or display.&lt;/p&gt;

&lt;p&gt;Programs work by manipulating different types of data.&lt;/p&gt;

&lt;p&gt;For now, we will focus on three basic types:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;String&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Integer&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Boolean&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;We will explore more data types later in the course.&lt;/p&gt;




&lt;h3&gt;
  
  
  What Is a String?
&lt;/h3&gt;

&lt;p&gt;A &lt;strong&gt;string&lt;/strong&gt; is a sequence of characters used to represent text.&lt;/p&gt;

&lt;p&gt;Examples of strings include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;"Hello"&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;"Game Dev"&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;"Hello, Kartik"&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In MiniScript, and many other programming languages, &lt;strong&gt;anything written inside quotation marks is treated as a string&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;This idea is common across many languages such as Python, Go, and GDScript.&lt;/p&gt;

&lt;p&gt;So when we write:&lt;/p&gt;

&lt;p&gt;print "Hello, Kartik"&lt;/p&gt;

&lt;p&gt;We are simply telling the computer:&lt;/p&gt;

&lt;p&gt;Print the &lt;strong&gt;string&lt;/strong&gt; &lt;code&gt;"Hello, Kartik"&lt;/code&gt; to the screen.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Happens If We Remove the Quotes?
&lt;/h2&gt;

&lt;p&gt;Now let’s try something slightly different.&lt;/p&gt;

&lt;p&gt;Suppose we write this instead:&lt;/p&gt;

&lt;p&gt;print X&lt;/p&gt;

&lt;p&gt;Mini Micro will show an &lt;strong&gt;error&lt;/strong&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%2F48x4mk77duow070d44tl.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%2F48x4mk77duow070d44tl.png" alt=" " width="800" height="214"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Why does this happen?&lt;/p&gt;

&lt;p&gt;There are two possible reasons.&lt;/p&gt;

&lt;p&gt;The first reason is simple: we forgot to put quotation marks around the text.&lt;/p&gt;

&lt;p&gt;The correct version would be:&lt;/p&gt;

&lt;p&gt;print "X"&lt;/p&gt;

&lt;p&gt;But there is another interesting reason that leads us to an important programming concept.&lt;/p&gt;




&lt;h2&gt;
  
  
  Introducing Variables
&lt;/h2&gt;

&lt;p&gt;If we write:&lt;/p&gt;

&lt;p&gt;x = "Hello, Kartik"&lt;br&gt;&lt;br&gt;
print x&lt;/p&gt;

&lt;p&gt;The program prints:&lt;/p&gt;

&lt;p&gt;Hello, Kartik&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%2F8mnj85sb7fdmqjl7fz4i.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%2F8mnj85sb7fdmqjl7fz4i.png" alt=" " width="412" height="235"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here, &lt;code&gt;x&lt;/code&gt; is something called a &lt;strong&gt;variable&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;A variable acts like a &lt;strong&gt;container that stores data&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;In this example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;x&lt;/code&gt; is the variable&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;"Hello, Kartik"&lt;/code&gt; is the string stored inside it&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When we write &lt;code&gt;print x&lt;/code&gt;, the program prints the &lt;strong&gt;value stored in the variable&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Variables allow programs to store information and reuse it later, which becomes extremely important when building larger programs and games.&lt;/p&gt;

&lt;h2&gt;
  
  
  Mounting a Folder
&lt;/h2&gt;

&lt;p&gt;Until now, we’ve been typing small commands directly into the terminal.&lt;/p&gt;

&lt;p&gt;But real programs usually grow beyond just a few lines of code. When programs become larger, it’s much easier to &lt;strong&gt;store them as script files&lt;/strong&gt; instead of typing everything again and again.&lt;/p&gt;

&lt;p&gt;Scripts allow you to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;save your code&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;edit it later&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;run it whenever you want&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Before we create our first script, we should connect Mini Micro to a folder on our computer where our programs will be stored.&lt;/p&gt;

&lt;p&gt;First, create a &lt;strong&gt;new folder somewhere on your computer&lt;/strong&gt; where you would like to keep all your Mini Micro projects.&lt;/p&gt;

&lt;p&gt;Once the folder is ready, go back to Mini Micro and look at the &lt;strong&gt;floppy disk icon&lt;/strong&gt; at the bottom of the screen.&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%2Fx7v2tgwtloiw8fnicyz0.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%2Fx7v2tgwtloiw8fnicyz0.png" alt=" " width="532" height="208"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click the icon and select &lt;strong&gt;Unmount User&lt;/strong&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%2Fouwekx3ye0k65gzn6osc.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%2Fouwekx3ye0k65gzn6osc.png" alt=" " width="439" height="229"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You will hear a small sound that confirms the action was successful.&lt;/p&gt;

&lt;p&gt;Now click the icon again and choose &lt;strong&gt;Mount Folder&lt;/strong&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%2F4ye5ymyswt5xo7hc5akz.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%2F4ye5ymyswt5xo7hc5akz.png" alt=" " width="579" height="236"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A file selection window will open. Navigate to the folder you created earlier and select it.&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%2Ff5xnr71ubqefx31fl0g3.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%2Ff5xnr71ubqefx31fl0g3.png" alt=" " width="800" height="598"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After selecting the folder, click &lt;strong&gt;Mount&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Your folder is now connected to Mini Micro, and it will be used to store all your scripts and projects.&lt;/p&gt;

&lt;p&gt;You have successfully mounted a folder.&lt;/p&gt;




&lt;h2&gt;
  
  
  Writing a Script File
&lt;/h2&gt;

&lt;p&gt;Now that we have a place to store our programs, we can start writing actual scripts.&lt;/p&gt;

&lt;p&gt;While the terminal is useful for testing quick commands, scripts allow us to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;write multiple lines of code&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;organize programs more clearly&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;save and reuse our work&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Let’s begin by creating a folder for this course project.&lt;/p&gt;

&lt;p&gt;Type the following commands in the terminal:&lt;/p&gt;

&lt;p&gt;mkdir "Zero-To-Game-Dev"&lt;br&gt;&lt;br&gt;
cd "Zero-To-Game-Dev"&lt;br&gt;&lt;br&gt;
edit&lt;/p&gt;

&lt;p&gt;All of these commands were explained in the previous chapter.&lt;/p&gt;

&lt;p&gt;If you need a refresher, you can revisit Chapter 5 here:&lt;br&gt;&lt;br&gt;
&lt;a href="https://dev.to/kartik_patel/zero-to-game-dev-understanding-mini-micro-k8p"&gt;https://dev.to/kartik_patel/zero-to-game-dev-understanding-mini-micro-k8p&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The &lt;code&gt;edit&lt;/code&gt; command opens the &lt;strong&gt;Mini Micro code editor&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Editor
&lt;/h2&gt;

&lt;p&gt;You should now see the &lt;strong&gt;editor window&lt;/strong&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%2F0t20rc70z0mp68tpn0lz.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%2F0t20rc70z0mp68tpn0lz.png" alt=" " width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is where we will write and save our programs.&lt;/p&gt;

&lt;p&gt;To save your file for the first time, press:&lt;/p&gt;

&lt;p&gt;Ctrl + S&lt;/p&gt;

&lt;p&gt;You will be asked to enter a name for the file.&lt;/p&gt;

&lt;p&gt;Choose any name you like.&lt;/p&gt;

&lt;p&gt;Now let’s write a small program to test everything.&lt;/p&gt;

&lt;p&gt;Type the following code in the editor:&lt;/p&gt;

&lt;p&gt;x = 45674 + 5678&lt;br&gt;&lt;br&gt;
print x&lt;/p&gt;

&lt;p&gt;Once the code is written, press:&lt;/p&gt;

&lt;p&gt;Ctrl + R&lt;/p&gt;

&lt;p&gt;This shortcut runs the program.&lt;/p&gt;

&lt;p&gt;If everything worked correctly, you should see this output:&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%2Fbxus2rkfpia4db644fbn.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%2Fbxus2rkfpia4db644fbn.png" alt=" " width="800" height="597"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;51352&lt;/p&gt;




&lt;h2&gt;
  
  
  Why Didn’t We Use Quotes This Time?
&lt;/h2&gt;

&lt;p&gt;Earlier, when we printed text, we used quotation marks.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;p&gt;print "Hello, Kartik"&lt;/p&gt;

&lt;p&gt;But in this example, we didn’t use quotes around the value of &lt;code&gt;x&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;That’s because quotation marks are mainly used when working with &lt;strong&gt;strings&lt;/strong&gt;, which represent text.&lt;/p&gt;

&lt;p&gt;Here we are working with &lt;strong&gt;numbers&lt;/strong&gt;, so quotes are not needed.&lt;/p&gt;

&lt;p&gt;Numbers can be used directly for mathematical operations like addition, subtraction, multiplication, and division.&lt;/p&gt;




&lt;h2&gt;
  
  
  A Small Experiment
&lt;/h2&gt;

&lt;p&gt;Just for fun, try changing the program.&lt;/p&gt;

&lt;p&gt;Replace the code with something like this:&lt;/p&gt;

&lt;p&gt;x = 20&lt;br&gt;&lt;br&gt;
print x * 5&lt;/p&gt;

&lt;p&gt;Run the program again and see what happens.&lt;/p&gt;

&lt;p&gt;Mini Micro will calculate the result and print it.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Is an Integer?
&lt;/h2&gt;

&lt;p&gt;The numbers we used in the example are called &lt;strong&gt;integers&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;An integer is a &lt;strong&gt;whole number without decimals&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Examples of integers include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;5&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;42&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;1000&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;51352&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Integers are commonly used in programs for things like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;counting scores&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;tracking health in a game&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;storing positions&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;performing calculations&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For now, integers will be the main number type we use while learning programming basics.&lt;/p&gt;

&lt;p&gt;Later in the course, we’ll explore other types of numbers as well.&lt;/p&gt;

&lt;h1&gt;
  
  
  OUTRO
&lt;/h1&gt;

&lt;p&gt;By the end of this chapter, you have written and executed your &lt;strong&gt;first MiniScript programs&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;You learned how to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;mount a folder to store your projects&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;create and save script files&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;run programs inside the editor&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;work with integers and basic calculations&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These may seem like small steps, but they form the foundation of everything that comes next.&lt;/p&gt;

&lt;p&gt;Every game, tool, or application starts with simple instructions like these.&lt;/p&gt;

&lt;p&gt;In the &lt;strong&gt;next chapter&lt;/strong&gt;, we will take the next step and begin working with &lt;strong&gt;variables and program logic&lt;/strong&gt; in more depth. This will allow our programs to store information and behave in more interesting ways.&lt;/p&gt;

&lt;p&gt;See you in the next chapter.&lt;/p&gt;




&lt;h2&gt;
  
  
  Connect With Me
&lt;/h2&gt;

&lt;p&gt;My dev.to account -&amp;gt; &lt;a href="https://dev.to/kartik_patel"&gt;https://dev.to/kartik_patel&lt;/a&gt;&lt;br&gt;&lt;br&gt;
My Discord server -&amp;gt; &lt;a href="https://discord.gg/qStHEDfge7" rel="noopener noreferrer"&gt;https://discord.gg/qStHEDfge7&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  TEXTUAL
&lt;/h3&gt;

&lt;p&gt;Zero To Game Dev #1 -&amp;gt; &lt;a href="https://dev.to/kartik_patel/zero-to-game-dev-1-1n6l"&gt;https://dev.to/kartik_patel/zero-to-game-dev-1-1n6l&lt;/a&gt;&lt;br&gt;&lt;br&gt;
Zero To Game Dev #2 -&amp;gt; &lt;a href="https://dev.to/kartik_patel/zero-to-game-dev-what-even-is-game-gii"&gt;https://dev.to/kartik_patel/zero-to-game-dev-what-even-is-game-gii&lt;/a&gt;&lt;br&gt;&lt;br&gt;
Zero To Game Dev #3 -&amp;gt; &lt;a href="https://dev.to/kartik_patel/zero-to-game-dev-what-is-game-engine-27hh"&gt;https://dev.to/kartik_patel/zero-to-game-dev-what-is-game-engine-27hh&lt;/a&gt;&lt;br&gt;
Zero To Game Dev #4 -&amp;gt; &lt;a href="https://dev.to/kartik_patel/zero-to-game-dev-thinking-like-coder-before-writing-code-1be0"&gt;https://dev.to/kartik_patel/zero-to-game-dev-thinking-like-coder-before-writing-code-1be0&lt;/a&gt;&lt;br&gt;
Zero To Game Dev #5 -&amp;gt; &lt;a href="https://dev.to/kartik_patel/zero-to-game-dev-understanding-mini-micro-k8p"&gt;https://dev.to/kartik_patel/zero-to-game-dev-understanding-mini-micro-k8p&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  VIDEO
&lt;/h3&gt;

&lt;p&gt;Zero To Game Dev #1 -&amp;gt; &lt;a href="https://youtu.be/rbN1BMmSi7s?si=PfguGzXXI2wktCs4" rel="noopener noreferrer"&gt;https://youtu.be/rbN1BMmSi7s?si=PfguGzXXI2wktCs4&lt;/a&gt;&lt;br&gt;&lt;br&gt;
Zero To Game Dev #2 -&amp;gt; &lt;a href="https://youtu.be/SOubZShuJCw?si=4uXtHZlLe1Z0-8rM" rel="noopener noreferrer"&gt;https://youtu.be/SOubZShuJCw?si=4uXtHZlLe1Z0-8rM&lt;/a&gt;&lt;br&gt;&lt;br&gt;
Zero To Game Dev #3 -&amp;gt; &lt;a href="https://youtu.be/ZLz8MM6545I?si=dzO9sAnOxIvmSOX0" rel="noopener noreferrer"&gt;https://youtu.be/ZLz8MM6545I?si=dzO9sAnOxIvmSOX0&lt;/a&gt;&lt;/p&gt;

</description>
      <category>course</category>
      <category>miniscript</category>
      <category>minimicro</category>
      <category>gamedev</category>
    </item>
    <item>
      <title>Zero To Game Dev - Understanding Mini Micro</title>
      <dc:creator>Kartik Patel</dc:creator>
      <pubDate>Fri, 06 Mar 2026 03:52:24 +0000</pubDate>
      <link>https://forem.com/kartik_patel/zero-to-game-dev-understanding-mini-micro-k8p</link>
      <guid>https://forem.com/kartik_patel/zero-to-game-dev-understanding-mini-micro-k8p</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Welcome to &lt;strong&gt;Chapter 5&lt;/strong&gt; of the &lt;em&gt;Zero To Game Dev&lt;/em&gt; course.&lt;/p&gt;

&lt;p&gt;In the previous chapter, we stepped away from tools and focused on something more important: &lt;strong&gt;how programmers think&lt;/strong&gt;. Before writing code, you must understand that coding is simply the process of turning ideas and logic into clear instructions a computer can follow.&lt;/p&gt;

&lt;p&gt;Today, we finally move from theory to practice.&lt;/p&gt;

&lt;p&gt;For the first time in this course, we will start writing &lt;strong&gt;real code inside a real game development environment&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;If this is your first time coding, don’t worry. You are exactly the kind of learner this chapter was designed for.&lt;/p&gt;

&lt;p&gt;The goal here is &lt;strong&gt;not speed&lt;/strong&gt;.&lt;br&gt;
The goal is &lt;strong&gt;understanding&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;We will take things slowly, write simple programs, and build the habits that every game developer relies on.&lt;/p&gt;


&lt;h2&gt;
  
  
  What Is Mini Micro?
&lt;/h2&gt;

&lt;p&gt;Before we start writing code, we need a tool.&lt;/p&gt;

&lt;p&gt;The tool we will use throughout the early part of this course is called &lt;strong&gt;Mini Micro&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Mini Micro is a &lt;strong&gt;neo-retro virtual computer designed for learning programming and building small games&lt;/strong&gt;. Instead of overwhelming you with complicated menus and large development environments, it gives you a clean and simple computer where you can immediately start coding.&lt;/p&gt;

&lt;p&gt;Inside Mini Micro you get everything needed to experiment and build small games:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A pixel-based graphics display&lt;/li&gt;
&lt;li&gt;Keyboard and mouse input&lt;/li&gt;
&lt;li&gt;Sound support&lt;/li&gt;
&lt;li&gt;A built-in code editor&lt;/li&gt;
&lt;li&gt;An interactive programming console&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All of this runs inside a small, focused environment designed specifically for learning.&lt;/p&gt;

&lt;p&gt;You can think of Mini Micro as a &lt;strong&gt;tiny fantasy computer built entirely for coding and experimentation&lt;/strong&gt;.&lt;/p&gt;


&lt;h2&gt;
  
  
  Why Mini Micro Is Beginner Friendly
&lt;/h2&gt;

&lt;p&gt;One of the biggest problems new developers face is &lt;strong&gt;tool complexity&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Many beginners start their journey with large engines like Unreal or complex frameworks where the interface alone can take hours to understand. Instead of learning programming, they end up fighting menus, settings, and unfamiliar tools.&lt;/p&gt;

&lt;p&gt;Mini Micro solves this problem by keeping things simple.&lt;/p&gt;

&lt;p&gt;It was built from the ground up with learning in mind, which means:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The environment is small and easy to understand&lt;/li&gt;
&lt;li&gt;Everything you need is built directly into the system&lt;/li&gt;
&lt;li&gt;You can start writing code immediately without complicated setup&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Another major advantage is its &lt;strong&gt;clean interface&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Instead of dozens of windows and panels, Mini Micro mainly gives you two things:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A &lt;strong&gt;terminal-like console&lt;/strong&gt; where you can type and run code instantly&lt;/li&gt;
&lt;li&gt;A &lt;strong&gt;simple code editor&lt;/strong&gt; where you can write longer programs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This minimal design removes distractions and helps you focus on what actually matters:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;learning how programs work.&lt;/strong&gt;&lt;/p&gt;


&lt;h2&gt;
  
  
  How Mini Micro Helps You Understand Game Logic
&lt;/h2&gt;

&lt;p&gt;Many modern engines hide large parts of the game logic behind graphical tools and menus. While this can be powerful, it can also make it harder for beginners to understand what is actually happening behind the scenes.&lt;/p&gt;

&lt;p&gt;Mini Micro takes a different approach.&lt;/p&gt;

&lt;p&gt;There is no heavy interface.&lt;br&gt;
No overwhelming editor.&lt;br&gt;
No complex project setup.&lt;/p&gt;

&lt;p&gt;It’s mostly &lt;strong&gt;you, the code, and the computer&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;This forces you to focus on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;structuring logic&lt;/li&gt;
&lt;li&gt;understanding program flow&lt;/li&gt;
&lt;li&gt;thinking like a programmer&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Despite its simplicity, Mini Micro is surprisingly capable. You can build:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;text-based programs&lt;/li&gt;
&lt;li&gt;pixel art experiments&lt;/li&gt;
&lt;li&gt;small games&lt;/li&gt;
&lt;li&gt;sprite-based projects&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In other words, it is &lt;strong&gt;small, but powerful enough to build real projects&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;That combination makes it perfect for learning the fundamentals of game development.&lt;/p&gt;


&lt;h2&gt;
  
  
  The Language Behind Mini Micro
&lt;/h2&gt;

&lt;p&gt;Mini Micro uses a programming language called &lt;strong&gt;MiniScript&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;MiniScript is a clean and modern scripting language designed specifically for learning and embedding in applications. Its syntax is simple, readable, and easy to understand even for beginners.&lt;/p&gt;

&lt;p&gt;Many programming languages are filled with complicated symbols and strict rules that make early learning frustrating. MiniScript avoids that problem by keeping the syntax clear and human-readable.&lt;/p&gt;

&lt;p&gt;This has two big advantages:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Beginners can focus on &lt;strong&gt;understanding logic instead of fighting syntax&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Once you understand MiniScript, &lt;strong&gt;transitioning to other programming languages becomes easier&lt;/strong&gt;, because the core programming concepts remain the same.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;You can think of MiniScript as a language that borrows the &lt;strong&gt;best ideas from modern programming languages&lt;/strong&gt; while staying simple enough for new developers.&lt;/p&gt;


&lt;h1&gt;
  
  
  Installing Mini Micro
&lt;/h1&gt;

&lt;p&gt;Before we can write our first program, we need to install the environment where our code will run.&lt;/p&gt;

&lt;p&gt;Thankfully, &lt;strong&gt;Mini Micro is extremely lightweight and easy to set up&lt;/strong&gt;, so this part will only take a few minutes.&lt;/p&gt;


&lt;h2&gt;
  
  
  Step 1 — Download the Engine
&lt;/h2&gt;

&lt;p&gt;Mini Micro is available on multiple platforms, including:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Windows&lt;/li&gt;
&lt;li&gt;macOS&lt;/li&gt;
&lt;li&gt;Linux&lt;/li&gt;
&lt;li&gt;Web browser version&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you want to try it instantly without installing anything, you can use the &lt;strong&gt;web version&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;Play Mini Micro in the browser:&lt;br&gt;
&lt;a href="https://miniscript.org/MiniMicro/index.html#playnow" rel="noopener noreferrer"&gt;https://miniscript.org/MiniMicro/index.html#playnow&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you prefer installing it locally on your computer, download it here:&lt;/p&gt;

&lt;p&gt;Download Mini Micro:&lt;br&gt;
&lt;a href="https://miniscript.org/MiniMicro/index.html#download" rel="noopener noreferrer"&gt;https://miniscript.org/MiniMicro/index.html#download&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The installation process is very simple:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Download the ZIP file for your operating system&lt;/li&gt;
&lt;li&gt;Extract the ZIP file&lt;/li&gt;
&lt;li&gt;Open the Mini Micro application&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;That’s it. No complicated setup, no installers, no configuration.&lt;/p&gt;


&lt;h2&gt;
  
  
  Step 2 — Running Mini Micro
&lt;/h2&gt;

&lt;p&gt;When you open Mini Micro for the first time, you’ll see a &lt;strong&gt;black screen with orange text and a blinking cursor&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Surrounding this screen are the &lt;strong&gt;bezel graphics&lt;/strong&gt;, which give the environment the look of a small retro computer.&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%2F617pzyl03xeik3zni1oj.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%2F617pzyl03xeik3zni1oj.png" alt=" " width="800" height="598"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;At first glance, the interface might look extremely simple. That’s intentional.&lt;/p&gt;

&lt;p&gt;Mini Micro is designed to keep distractions away so you can focus on &lt;strong&gt;learning how code works&lt;/strong&gt;.&lt;/p&gt;


&lt;h2&gt;
  
  
  Mini Micro’s Two Main Windows
&lt;/h2&gt;

&lt;p&gt;Mini Micro has two primary working areas:&lt;/p&gt;
&lt;h3&gt;
  
  
  Terminal
&lt;/h3&gt;

&lt;p&gt;The &lt;strong&gt;terminal&lt;/strong&gt; is where you interact directly with the system.&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%2Fgmp7avd66ylr1aoikktp.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%2Fgmp7avd66ylr1aoikktp.png" alt=" " width="800" height="538"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can use it to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;run commands&lt;/li&gt;
&lt;li&gt;print output&lt;/li&gt;
&lt;li&gt;test small pieces of code&lt;/li&gt;
&lt;li&gt;navigate files and folders&lt;/li&gt;
&lt;li&gt;debug programs&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  Code Editor
&lt;/h3&gt;

&lt;p&gt;The &lt;strong&gt;code editor&lt;/strong&gt; is where you write longer programs and scripts.&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%2F4uhn61roshib7k9tbq6s.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%2F4uhn61roshib7k9tbq6s.png" alt=" " width="800" height="535"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Editor can be accessed by typing &lt;code&gt;edit&lt;/code&gt; command on the terminal&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Instead of typing everything line by line in the terminal, you can write structured programs and run them when ready.&lt;/p&gt;

&lt;p&gt;Together, these two tools form a very simple but powerful development environment.&lt;/p&gt;


&lt;h2&gt;
  
  
  What Is Debugging?
&lt;/h2&gt;

&lt;p&gt;You’ll hear the word &lt;strong&gt;debugging&lt;/strong&gt; very often in programming.&lt;/p&gt;

&lt;p&gt;Debugging simply means:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Finding and fixing mistakes in your code.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Sometimes a program doesn’t behave the way you expect. Maybe a value is wrong, or a condition isn’t working correctly.&lt;/p&gt;

&lt;p&gt;In those situations, developers use tools like the terminal to &lt;strong&gt;inspect variables, print values, and understand what the program is doing internally&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Debugging is a normal part of programming. Even experienced developers spend a lot of time doing it.&lt;/p&gt;


&lt;h2&gt;
  
  
  Trying Some Built-In Interfaces
&lt;/h2&gt;

&lt;p&gt;Right now, the default interface might look a little plain.&lt;/p&gt;

&lt;p&gt;If that bothers you, try typing the following command in the terminal:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;lcars&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This loads a &lt;strong&gt;futuristic sci-fi styled interface&lt;/strong&gt; inspired by classic science fiction designs.&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%2Ft9yrtkdwy331tqklqjn7.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%2Ft9yrtkdwy331tqklqjn7.png" alt=" " width="800" height="599"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Another command you can try is:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;desktop
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This loads a &lt;strong&gt;simple desktop-style graphical interface&lt;/strong&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%2Fwn48rh0w6tm7dk0ik4vo.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%2Fwn48rh0w6tm7dk0ik4vo.png" alt=" " width="800" height="601"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can also explore the built-in demo programs with:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;demos&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This command shows a list of sample programs that you can easily run and explore.&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%2Fbxreczbcm7bxlvua5dwa.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%2Fbxreczbcm7bxlvua5dwa.png" alt=" " width="800" height="599"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;These demos help you see what Mini Micro is capable of.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fun fact:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
All the interfaces you load with commands like &lt;code&gt;lcars&lt;/code&gt; or &lt;code&gt;desktop&lt;/code&gt;, along with the built-in demos, are written in &lt;strong&gt;MiniScript itself&lt;/strong&gt;.&lt;/p&gt;


&lt;h2&gt;
  
  
  Understanding the Terminal
&lt;/h2&gt;

&lt;p&gt;To use Mini Micro properly, we need to understand how the terminal works.&lt;/p&gt;

&lt;p&gt;The &lt;strong&gt;blinking cursor&lt;/strong&gt; you see on the screen is where your commands appear.&lt;/p&gt;

&lt;p&gt;Anything you type will appear at that location.&lt;/p&gt;

&lt;p&gt;When you press &lt;strong&gt;Enter&lt;/strong&gt;, Mini Micro reads the command and executes it.&lt;/p&gt;

&lt;p&gt;This makes the terminal your main way of communicating with the system.&lt;/p&gt;


&lt;h2&gt;
  
  
  A Computer Inside Your Computer
&lt;/h2&gt;

&lt;p&gt;An interesting way to think about Mini Micro is this:&lt;/p&gt;

&lt;p&gt;It behaves like a &lt;strong&gt;small computer running inside your main computer&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Just like a real computer, it has its own screen, input system, and programs.&lt;/p&gt;

&lt;p&gt;This raises an interesting question:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is the screen size of my new computer?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The display resolution of Mini Micro is &lt;strong&gt;960 × 640 pixels&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Unlike modern computers where screen sizes vary widely, Mini Micro uses a &lt;strong&gt;fixed resolution&lt;/strong&gt;. This makes it easier to design pixel graphics and consistent layouts for games.&lt;/p&gt;


&lt;h2&gt;
  
  
  Multiple Displays
&lt;/h2&gt;

&lt;p&gt;Another fascinating feature of Mini Micro is that it supports &lt;strong&gt;multiple displays&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Instead of having only one screen, Mini Micro can manage &lt;strong&gt;eight different displays at the same time&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;These displays are numbered:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;0&lt;/strong&gt; — the frontmost display&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;1–7&lt;/strong&gt; — displays stacked behind it&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This allows developers to create layered visuals and advanced graphical effects.&lt;/p&gt;

&lt;p&gt;Don’t worry if this sounds confusing right now.&lt;/p&gt;

&lt;p&gt;We’ll explore the Mini Micro display system in later chapters when we start working with graphics.&lt;br&gt;
So the plan is: you dragged a beginner into a “no pressure” coding chapter and now you’re making them talk to a terminal. Beautiful. Nothing says “welcome to programming” like a blinking cursor judging your life choices.&lt;/p&gt;

&lt;p&gt;Still, the structure is actually solid. It just needs to be cleaner so beginners don’t panic and close the tab. Here’s a tightened structure with proper explanations.&lt;/p&gt;


&lt;h3&gt;
  
  
  Step 3 — Basic Commands
&lt;/h3&gt;

&lt;p&gt;You may have already tried commands like &lt;code&gt;lcars&lt;/code&gt;, &lt;code&gt;desktop&lt;/code&gt;, or &lt;code&gt;demos&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Those were fun.&lt;/p&gt;

&lt;p&gt;Now let’s learn the &lt;strong&gt;actual commands&lt;/strong&gt; you’ll use while building programs.&lt;/p&gt;

&lt;p&gt;These commands help you &lt;strong&gt;navigate folders, create files, and run code&lt;/strong&gt; inside Mini Micro.&lt;/p&gt;

&lt;p&gt;One important thing to know:&lt;/p&gt;

&lt;p&gt;Most commands use &lt;strong&gt;quotes (&lt;code&gt;" "&lt;/code&gt;)&lt;/strong&gt; when referring to files or folders.&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cd "myGame"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This tells Mini Micro to move into a folder named &lt;strong&gt;myGame&lt;/strong&gt;.&lt;/p&gt;




&lt;h3&gt;
  
  
  1) &lt;code&gt;edit&lt;/code&gt;
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;edit
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This command opens the &lt;strong&gt;Code Editor&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The editor is where you will actually &lt;strong&gt;write and modify your game code&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Think of it like opening a notebook where you write instructions for the computer.&lt;/p&gt;

&lt;p&gt;Later in the course we’ll explore the editor in detail.&lt;/p&gt;




&lt;h3&gt;
  
  
  2) &lt;code&gt;pwd&lt;/code&gt;
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;pwd
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;pwd&lt;/code&gt; stands for &lt;strong&gt;Print Working Directory&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;It simply tells you &lt;strong&gt;which folder you are currently inside&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Example output might look like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/usr/home
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This is useful when your project starts getting bigger and you want to know where you are.&lt;/p&gt;




&lt;h3&gt;
  
  
  3) &lt;code&gt;dir&lt;/code&gt;
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;dir
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This command shows &lt;strong&gt;everything inside your current folder&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;It lists things like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;files&lt;/li&gt;
&lt;li&gt;scripts&lt;/li&gt;
&lt;li&gt;folders&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Think of it like &lt;strong&gt;opening a drawer and seeing what’s inside&lt;/strong&gt;.&lt;/p&gt;




&lt;h3&gt;
  
  
  4) &lt;code&gt;mkdir&lt;/code&gt;
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;mkdir "myFolder"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;mkdir&lt;/code&gt; stands for &lt;strong&gt;Make Directory&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;It creates a &lt;strong&gt;new folder&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;mkdir "myGame"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This creates a folder called &lt;strong&gt;myGame&lt;/strong&gt; where you can store your scripts and assets.&lt;/p&gt;




&lt;h3&gt;
  
  
  5) &lt;code&gt;delete&lt;/code&gt;
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;delete "fileName"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This command &lt;strong&gt;removes a file&lt;/strong&gt; from your project.&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;delete "test.ms"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Be careful with this command, because once a file is deleted, it’s gone.&lt;/p&gt;




&lt;h3&gt;
  
  
  6) &lt;code&gt;cd&lt;/code&gt;
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cd "folderName"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;cd&lt;/code&gt; stands for &lt;strong&gt;Change Directory&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;It lets you &lt;strong&gt;move between folders&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cd "myGame"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This moves you into the &lt;strong&gt;myGame&lt;/strong&gt; folder.&lt;/p&gt;

&lt;p&gt;To go back to the previous folder:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cd ..
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  7) &lt;code&gt;run&lt;/code&gt;
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;run
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This command &lt;strong&gt;runs the currently selected script&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;It executes the program you wrote.&lt;/p&gt;

&lt;p&gt;Shortcut:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Ctrl + R
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If no script is selected, the command won’t do anything.&lt;/p&gt;




&lt;h3&gt;
  
  
  8) &lt;code&gt;load&lt;/code&gt;
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;load "scriptName"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This command &lt;strong&gt;loads a script into memory&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;After loading it, you can quickly run it using the &lt;code&gt;run&lt;/code&gt; command.&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;load "game.ms"
run
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  Quick Summary
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Command&lt;/th&gt;
&lt;th&gt;What it Does&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;edit&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Opens the code editor&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;pwd&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Shows your current folder&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;dir&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Lists files in the folder&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;mkdir&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Creates a new folder&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;delete&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Deletes a file&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;cd&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Moves between folders&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;run&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Runs the selected script&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;load&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Loads a script so it can be run&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h1&gt;
  
  
  OUTRO
&lt;/h1&gt;

&lt;p&gt;Before ending today’s chapter, let’s answer an important question.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Did We Start With the Terminal?
&lt;/h2&gt;

&lt;p&gt;Because:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Game engines are environments&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Programming happens through commands and logic&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Understanding the environment makes everything easier later&lt;/strong&gt; &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;By learning how to move through folders, run scripts, and interact with the system, you now understand how Mini Micro actually works behind the scenes.&lt;/p&gt;

&lt;p&gt;Many beginners jump straight into writing code without understanding their tools.&lt;/p&gt;

&lt;p&gt;You didn’t.&lt;/p&gt;

&lt;p&gt;And that small difference makes the next step much easier.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Happens Next?
&lt;/h2&gt;

&lt;p&gt;In the &lt;strong&gt;next chapter&lt;/strong&gt;, we will finally write our &lt;strong&gt;first real MiniScript program&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;No complicated systems yet.&lt;/p&gt;

&lt;p&gt;Just simple programs and clear logic.&lt;/p&gt;

&lt;p&gt;The same way every programmer starts.&lt;/p&gt;

&lt;p&gt;See you in the next chapter.&lt;/p&gt;

&lt;h2&gt;
  
  
  Connect With Me
&lt;/h2&gt;

&lt;p&gt;My dev.to account -&amp;gt; &lt;a href="https://dev.to/kartik_patel"&gt;https://dev.to/kartik_patel&lt;/a&gt;&lt;br&gt;&lt;br&gt;
My Discord server -&amp;gt; &lt;a href="https://discord.gg/qStHEDfge7" rel="noopener noreferrer"&gt;https://discord.gg/qStHEDfge7&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  TEXTUAL
&lt;/h3&gt;

&lt;p&gt;Zero To Game Dev #1 -&amp;gt; &lt;a href="https://dev.to/kartik_patel/zero-to-game-dev-1-1n6l"&gt;https://dev.to/kartik_patel/zero-to-game-dev-1-1n6l&lt;/a&gt;&lt;br&gt;&lt;br&gt;
Zero To Game Dev #2 -&amp;gt; &lt;a href="https://dev.to/kartik_patel/zero-to-game-dev-what-even-is-game-gii"&gt;https://dev.to/kartik_patel/zero-to-game-dev-what-even-is-game-gii&lt;/a&gt;&lt;br&gt;&lt;br&gt;
Zero To Game Dev #3 -&amp;gt; &lt;a href="https://dev.to/kartik_patel/zero-to-game-dev-what-is-game-engine-27hh"&gt;https://dev.to/kartik_patel/zero-to-game-dev-what-is-game-engine-27hh&lt;/a&gt;Zero To Game Dev #4 -&amp;gt; &lt;a href="https://dev.to/kartik_patel/zero-to-game-dev-thinking-like-coder-before-writing-code-1be0"&gt;https://dev.to/kartik_patel/zero-to-game-dev-thinking-like-coder-before-writing-code-1be0&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  VIDEO
&lt;/h3&gt;

&lt;p&gt;Zero To Game Dev #1 -&amp;gt; &lt;a href="https://youtu.be/rbN1BMmSi7s?si=PfguGzXXI2wktCs4" rel="noopener noreferrer"&gt;https://youtu.be/rbN1BMmSi7s?si=PfguGzXXI2wktCs4&lt;/a&gt;&lt;br&gt;
Zero To Game Dev #2 -&amp;gt; &lt;a href="https://youtu.be/SOubZShuJCw?si=4uXtHZlLe1Z0-8rM" rel="noopener noreferrer"&gt;https://youtu.be/SOubZShuJCw?si=4uXtHZlLe1Z0-8rM&lt;/a&gt;&lt;br&gt;
Zero To Game Dev #3 -&amp;gt; &lt;a href="https://youtu.be/ZLz8MM6545I?si=dzO9sAnOxIvmSOX0" rel="noopener noreferrer"&gt;https://youtu.be/ZLz8MM6545I?si=dzO9sAnOxIvmSOX0&lt;/a&gt;&lt;/p&gt;

</description>
      <category>minimicro</category>
      <category>miniscript</category>
      <category>gamedev</category>
      <category>course</category>
    </item>
    <item>
      <title>Zero to Game Dev – Thinking Like Coder (Before Writing Code)</title>
      <dc:creator>Kartik Patel</dc:creator>
      <pubDate>Mon, 09 Feb 2026 04:49:36 +0000</pubDate>
      <link>https://forem.com/kartik_patel/zero-to-game-dev-thinking-like-coder-before-writing-code-1be0</link>
      <guid>https://forem.com/kartik_patel/zero-to-game-dev-thinking-like-coder-before-writing-code-1be0</guid>
      <description>&lt;h1&gt;
  
  
  INTRODUCTION
&lt;/h1&gt;

&lt;p&gt;Welcome to &lt;strong&gt;Chapter 4&lt;/strong&gt; of the &lt;strong&gt;Zero To Game Dev&lt;/strong&gt; course.&lt;br&gt;&lt;br&gt;
This chapter is titled:&lt;/p&gt;
&lt;h2&gt;
  
  
  &lt;strong&gt;Thinking Like a Coder (Before Writing Code)&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;This part is specially made for people who are touching coding for the &lt;strong&gt;first time in their life&lt;/strong&gt;, or who hear the word &lt;em&gt;code&lt;/em&gt; and immediately think it’s something scary or complicated.&lt;/p&gt;

&lt;p&gt;If you already have some experience with coding and understand the basics, you can safely skip this chapter.&lt;/p&gt;

&lt;p&gt;But if you’re just starting out and don’t really know what’s ahead, this chapter is &lt;strong&gt;strongly recommended&lt;/strong&gt;.&lt;br&gt;&lt;br&gt;
It will save you a lot of confusion later.&lt;/p&gt;


&lt;h1&gt;
  
  
  FAQ
&lt;/h1&gt;

&lt;p&gt;Let’s first clear some common doubts.&lt;/p&gt;


&lt;h2&gt;
  
  
  1) What Coding Really Is?
&lt;/h2&gt;

&lt;p&gt;Coding is &lt;strong&gt;not&lt;/strong&gt; dark magic, secret spells, or something only geniuses can do.&lt;/p&gt;

&lt;p&gt;In simple words:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Code is just writing instructions in a strict language that a computer can understand.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;If health is 0 → game over&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That is already &lt;strong&gt;code&lt;/strong&gt;.&lt;br&gt;&lt;br&gt;
It’s just not written in a real programming language yet.&lt;/p&gt;

&lt;p&gt;This kind of writing is called &lt;strong&gt;pseudo-code&lt;/strong&gt;.&lt;/p&gt;


&lt;h2&gt;
  
  
  2) What Is Pseudo-Code?
&lt;/h2&gt;

&lt;p&gt;Pseudo-code is a way of writing logic in &lt;strong&gt;plain human language&lt;/strong&gt; before turning it into real code.&lt;/p&gt;

&lt;p&gt;It helps you think clearly without worrying about syntax.&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;If player touches enemy
    Reduce health
If health is zero
    End game
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This is &lt;strong&gt;not real code&lt;/strong&gt;, and that’s the point.&lt;/p&gt;

&lt;p&gt;Pseudo-code helps you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Plan logic&lt;/li&gt;
&lt;li&gt;Understand behavior&lt;/li&gt;
&lt;li&gt;Avoid confusion&lt;/li&gt;
&lt;li&gt;Translate ideas into code later&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Good developers think in pseudo-code &lt;strong&gt;before&lt;/strong&gt; they write real code.&lt;/p&gt;




&lt;h2&gt;
  
  
  3) Do I Need to Be Good at Math?
&lt;/h2&gt;

&lt;p&gt;Short answer: &lt;strong&gt;No&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Most beginner-level game development uses:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Basic addition and subtraction&lt;/li&gt;
&lt;li&gt;Comparisons like greater than or less than&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You don’t need calculus, trigonometry, or advanced math to start.&lt;/p&gt;

&lt;p&gt;Understanding logic matters far more than math skills.&lt;/p&gt;




&lt;h2&gt;
  
  
  4) Is Coding Only About Typing Fast?
&lt;/h2&gt;

&lt;p&gt;No.&lt;/p&gt;

&lt;p&gt;Typing is easy.&lt;br&gt;&lt;br&gt;
Thinking is the real skill.&lt;/p&gt;

&lt;p&gt;Coding is mostly about:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Breaking problems into small parts&lt;/li&gt;
&lt;li&gt;Deciding what should happen and when&lt;/li&gt;
&lt;li&gt;Explaining that logic clearly to the computer&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Speed comes later. Understanding comes first.&lt;/p&gt;




&lt;h2&gt;
  
  
  5) Can I Learn Coding If I’ve Never Done It Before?
&lt;/h2&gt;

&lt;p&gt;Absolutely.&lt;/p&gt;

&lt;p&gt;If you can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Follow instructions&lt;/li&gt;
&lt;li&gt;Ask “what happens next?”&lt;/li&gt;
&lt;li&gt;Stay curious&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can learn coding.&lt;/p&gt;

&lt;p&gt;Everyone starts from zero. There are no exceptions.&lt;/p&gt;




&lt;h1&gt;
  
  
  CODING TERMS
&lt;/h1&gt;

&lt;p&gt;Now that we’ve cleared the most common doubts, let’s learn some &lt;strong&gt;core concepts&lt;/strong&gt; that form the foundation of coding.&lt;/p&gt;

&lt;p&gt;Don’t worry about memorizing anything. Just focus on understanding.&lt;/p&gt;




&lt;h2&gt;
  
  
  1) VARIABLES
&lt;/h2&gt;

&lt;p&gt;You may have heard this word in math class.&lt;/p&gt;

&lt;p&gt;In coding, a &lt;strong&gt;variable&lt;/strong&gt; is simply a value that the game remembers.&lt;/p&gt;

&lt;p&gt;Think of variables as &lt;strong&gt;boxes with labels&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Examples:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;health = 100&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;score = 0&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;speed = 5&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The game constantly reads and updates these values.&lt;/p&gt;

&lt;p&gt;When health decreases, the variable changes.&lt;br&gt;
When score increases, the variable changes.&lt;/p&gt;

&lt;p&gt;Variables are how a game remembers what’s happening.&lt;/p&gt;




&lt;h2&gt;
  
  
  2) DECISIONS (IF–ELSE)
&lt;/h2&gt;

&lt;p&gt;Games constantly make decisions.&lt;/p&gt;

&lt;p&gt;Examples:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;If the player jumps, apply gravity&lt;/li&gt;
&lt;li&gt;If the player touches an enemy, lose health&lt;/li&gt;
&lt;li&gt;If health reaches zero, end the game&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is called &lt;strong&gt;conditional logic&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;In human language:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;If something happens → do something&lt;br&gt;&lt;br&gt;
Else → do something else&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This single idea powers most gameplay logic.&lt;/p&gt;




&lt;h2&gt;
  
  
  3) LOOPS (YOU ALREADY KNOW THIS)
&lt;/h2&gt;

&lt;p&gt;You already learned about the &lt;strong&gt;game loop&lt;/strong&gt; in Chapter 2.&lt;/p&gt;

&lt;p&gt;A loop simply means:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Do something again and again.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Games run logic inside loops:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Check input&lt;/li&gt;
&lt;li&gt;Update positions&lt;/li&gt;
&lt;li&gt;Check collisions&lt;/li&gt;
&lt;li&gt;Draw the screen&lt;/li&gt;
&lt;li&gt;Repeat&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Coding uses loops to repeat actions automatically.&lt;/p&gt;

&lt;p&gt;This is how games stay alive instead of running once and stopping.&lt;/p&gt;




&lt;h1&gt;
  
  
  OUTRO
&lt;/h1&gt;

&lt;p&gt;Before ending today’s chapter, let’s answer an important question.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why Haven’t We Opened a Game Engine Yet?
&lt;/h2&gt;

&lt;p&gt;Because:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Engines are tools&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Code is thinking&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tools come after thinking&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you understand how logic works, engines stop feeling magical and confusing.&lt;/p&gt;

&lt;p&gt;In the &lt;strong&gt;next chapter&lt;/strong&gt;, we’ll write our &lt;strong&gt;first real lines of code&lt;/strong&gt; inside a beginner-friendly game engine called &lt;strong&gt;Mini Micro&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;No pressure.&lt;br&gt;&lt;br&gt;
No rush.&lt;br&gt;&lt;br&gt;
Just one step at a time.&lt;/p&gt;

&lt;p&gt;See you in the next chapter.&lt;/p&gt;







&lt;h2&gt;
  
  
  Connect With Me
&lt;/h2&gt;

&lt;p&gt;My dev.to account            -&amp;gt; &lt;a href="https://dev.to/kartik_patel"&gt;https://dev.to/kartik_patel&lt;/a&gt;&lt;br&gt;
My Discord server            -&amp;gt; &lt;a href="https://discord.gg/qStHEDfge7" rel="noopener noreferrer"&gt;https://discord.gg/qStHEDfge7&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  TEXTUAL
&lt;/h3&gt;

&lt;p&gt;Zero To Game Dev #1          -&amp;gt; &lt;a href="https://dev.to/kartik_patel/zero-to-game-dev-1-1n6l"&gt;https://dev.to/kartik_patel/zero-to-game-dev-1-1n6l&lt;/a&gt;&lt;br&gt;
Zero To Game Dev #2          -&amp;gt; &lt;a href="https://dev.to/kartik_patel/zero-to-game-dev-what-even-is-game-gii"&gt;https://dev.to/kartik_patel/zero-to-game-dev-what-even-is-game-gii&lt;/a&gt;&lt;br&gt;
Zero To Game Dev #3          -&amp;gt; &lt;a href="https://dev.to/kartik_patel/zero-to-game-dev-what-is-game-engine-27hh"&gt;https://dev.to/kartik_patel/zero-to-game-dev-what-is-game-engine-27hh&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  VIDEO
&lt;/h3&gt;

&lt;p&gt;Zero To Game Dev #1          -&amp;gt; &lt;a href="https://youtu.be/rbN1BMmSi7s?si=PfguGzXXI2wktCs4" rel="noopener noreferrer"&gt;https://youtu.be/rbN1BMmSi7s?si=PfguGzXXI2wktCs4&lt;/a&gt;&lt;/p&gt;

</description>
      <category>course</category>
      <category>minimicro</category>
      <category>miniscript</category>
      <category>gamedev</category>
    </item>
    <item>
      <title>Zero to Game Dev - What is Game Engine?</title>
      <dc:creator>Kartik Patel</dc:creator>
      <pubDate>Thu, 15 Jan 2026 07:07:12 +0000</pubDate>
      <link>https://forem.com/kartik_patel/zero-to-game-dev-what-is-game-engine-27hh</link>
      <guid>https://forem.com/kartik_patel/zero-to-game-dev-what-is-game-engine-27hh</guid>
      <description>&lt;h1&gt;
  
  
  What Do Game Engines Do?
&lt;/h1&gt;

&lt;p&gt;Welcome to the third chapter of this course.&lt;/p&gt;

&lt;p&gt;There is no better time to start working on your dreams than today, because someone much wiser than both of us once said:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The best time to plant a tree was 10 years ago.&lt;br&gt;&lt;br&gt;
The second best time is now.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;So with the motivation out of the way, let’s actually build something useful.&lt;/p&gt;

&lt;p&gt;In this chapter, we’ll learn:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What a game engine is
&lt;/li&gt;
&lt;li&gt;What game engines actually do
&lt;/li&gt;
&lt;li&gt;What they &lt;strong&gt;do not&lt;/strong&gt; do
&lt;/li&gt;
&lt;li&gt;Which engines we’ll use in this course and why
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In the previous chapter, we answered a very important question:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;What is a game?&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Today, we continue that chain of thought and ask:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;What even is a game engine?&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  What Is a Game Engine?
&lt;/h2&gt;

&lt;p&gt;If we use boring, Google-style language, a game engine is:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;A software framework designed to simplify and accelerate the development of video games.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That definition is technically correct and emotionally useless.&lt;/p&gt;

&lt;p&gt;So let’s build a &lt;strong&gt;mental model&lt;/strong&gt; instead.&lt;/p&gt;




&lt;h2&gt;
  
  
  Imagine a World With NO Game Engines
&lt;/h2&gt;

&lt;p&gt;Let’s pretend game engines do not exist.&lt;/p&gt;

&lt;p&gt;In that world, &lt;strong&gt;you&lt;/strong&gt;, the game developer, must handle everything manually:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Drawing every pixel on the screen
&lt;/li&gt;
&lt;li&gt;Talking directly to keyboard and mouse hardware
&lt;/li&gt;
&lt;li&gt;Playing sounds from scratch
&lt;/li&gt;
&lt;li&gt;Managing memory safely
&lt;/li&gt;
&lt;li&gt;Running the game loop yourself
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Is this possible?&lt;/p&gt;

&lt;p&gt;Yes.&lt;/p&gt;

&lt;p&gt;Is this painful?&lt;/p&gt;

&lt;p&gt;Also yes.&lt;/p&gt;

&lt;p&gt;Is this beginner-friendly?&lt;/p&gt;

&lt;p&gt;Absolutely not.&lt;/p&gt;

&lt;p&gt;After making a few games like this, most people either quit game development or develop a deep personal hatred for computers.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why Game Engines Exist
&lt;/h2&gt;

&lt;p&gt;Eventually, a stubborn developer would think:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Why am I rewriting the same boring code every time?”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;So they build a &lt;strong&gt;system&lt;/strong&gt; that:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Handles repetitive tasks
&lt;/li&gt;
&lt;li&gt;Abstracts hardware complexity
&lt;/li&gt;
&lt;li&gt;Lets developers focus on gameplay, not pixels
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That system is a &lt;strong&gt;game engine&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  So, What Is a Game Engine Really?
&lt;/h2&gt;

&lt;p&gt;At its core, a game engine is:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A &lt;strong&gt;toolbox&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;A &lt;strong&gt;runtime&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;A &lt;strong&gt;set of rules&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It handles the boring, hard stuff so you can focus on making the game fun.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;One sentence to remember:&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;A game engine lets you build games without fighting the computer every second.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  What Does a Game Engine Actually Do?
&lt;/h2&gt;

&lt;p&gt;A game engine typically handles:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Input&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Keyboard, mouse, controller, touch  &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Rendering&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Drawing sprites or 3D models to the screen  &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Game Loop&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Input → Update → Render → Repeat  &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Physics &amp;amp; Collisions&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Gravity, falling, hitting walls  &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Audio&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Music, sound effects, volume  &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Scene Management&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Menus, levels, restarting the game  &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All of this runs in the background while you focus on logic and gameplay.&lt;/p&gt;




&lt;h2&gt;
  
  
  What a Game Engine Does NOT Do
&lt;/h2&gt;

&lt;p&gt;This part is important for expectations.&lt;/p&gt;

&lt;p&gt;A game engine does &lt;strong&gt;not&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Design your game
&lt;/li&gt;
&lt;li&gt;Make your game fun automatically
&lt;/li&gt;
&lt;li&gt;Decide your rules or goals
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A bad game made with a powerful engine is still a bad game.&lt;/p&gt;

&lt;p&gt;This is how we avoid &lt;strong&gt;engine hopping syndrome&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  Engine vs Game
&lt;/h2&gt;

&lt;p&gt;They are not the same thing.&lt;/p&gt;

&lt;h3&gt;
  
  
  Engine
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Generic
&lt;/li&gt;
&lt;li&gt;Reusable
&lt;/li&gt;
&lt;li&gt;Used for many games
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Game
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Your rules
&lt;/li&gt;
&lt;li&gt;Your logic
&lt;/li&gt;
&lt;li&gt;Your idea
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Analogy:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Engine = Kitchen
&lt;/li&gt;
&lt;li&gt;Game = Recipe
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A better kitchen won’t save a bad recipe.&lt;/p&gt;




&lt;h2&gt;
  
  
  Types of Game Engines
&lt;/h2&gt;

&lt;p&gt;Most engines fall into two broad categories.&lt;/p&gt;

&lt;h3&gt;
  
  
  2D Game Engines
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Simpler
&lt;/li&gt;
&lt;li&gt;Faster results
&lt;/li&gt;
&lt;li&gt;Beginner friendly
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3D Game Engines
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Cameras
&lt;/li&gt;
&lt;li&gt;Depth
&lt;/li&gt;
&lt;li&gt;More math
&lt;/li&gt;
&lt;li&gt;Slower learning curve
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Many engines support both, but complexity grows fast.&lt;/p&gt;




&lt;h2&gt;
  
  
  Engines Used in This Course
&lt;/h2&gt;

&lt;p&gt;In this series, we’ll use &lt;strong&gt;two engines&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Mini Micro&lt;/strong&gt; for 2D
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;LÖVR&lt;/strong&gt; for 3D
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You might wonder:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Why not use something like Godot that does both?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The answer is simple.&lt;/p&gt;

&lt;p&gt;For beginners, heavy engines hide too much logic.&lt;br&gt;&lt;br&gt;
You end up clicking buttons without understanding &lt;em&gt;why things work&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;This course focuses on &lt;strong&gt;fundamentals first&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Game loops
&lt;/li&gt;
&lt;li&gt;Logic
&lt;/li&gt;
&lt;li&gt;Systems
&lt;/li&gt;
&lt;li&gt;Thinking like a game developer
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Advanced engines make sense &lt;strong&gt;after&lt;/strong&gt; that foundation exists.&lt;/p&gt;

&lt;p&gt;There &lt;em&gt;will&lt;/em&gt; be a full Godot course later as an intermediate step.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why This Course Uses Mini Micro
&lt;/h2&gt;

&lt;p&gt;Mini Micro is perfect for learning because:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Text-based scripting
&lt;/li&gt;
&lt;li&gt;No complex setup
&lt;/li&gt;
&lt;li&gt;Forces you to think logically
&lt;/li&gt;
&lt;li&gt;Makes the game loop visible
&lt;/li&gt;
&lt;li&gt;No distractions from fancy UI
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You learn how games actually work, not how to fight an editor.&lt;/p&gt;




&lt;h2&gt;
  
  
  Outro
&lt;/h2&gt;

&lt;p&gt;At this point, you understand:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What a game is
&lt;/li&gt;
&lt;li&gt;What a game engine is
&lt;/li&gt;
&lt;li&gt;Why engines exist
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In the next chapter, we stop talking and start building logics.&lt;/p&gt;

&lt;p&gt;Small games.&lt;br&gt;&lt;br&gt;
Simple logic.&lt;br&gt;&lt;br&gt;
Real understanding.&lt;/p&gt;

&lt;p&gt;That’s how game developers are made.&lt;/p&gt;




&lt;h2&gt;
  
  
  Connect With Me
&lt;/h2&gt;

&lt;p&gt;My dev.to account            -&amp;gt; &lt;a href="https://dev.to/kartik_patel"&gt;https://dev.to/kartik_patel&lt;/a&gt;&lt;br&gt;
My Discord server            -&amp;gt; &lt;a href="https://discord.gg/qStHEDfge7" rel="noopener noreferrer"&gt;https://discord.gg/qStHEDfge7&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  TEXTUAL
&lt;/h3&gt;

&lt;p&gt;Zero To Game Dev #1          -&amp;gt; &lt;a href="https://dev.to/kartik_patel/zero-to-game-dev-1-1n6l"&gt;https://dev.to/kartik_patel/zero-to-game-dev-1-1n6l&lt;/a&gt;&lt;br&gt;
Zero To Game Dev #2          -&amp;gt; &lt;a href="https://dev.to/kartik_patel/zero-to-game-dev-what-even-is-game-gii"&gt;https://dev.to/kartik_patel/zero-to-game-dev-what-even-is-game-gii&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  VIDEO
&lt;/h3&gt;

&lt;p&gt;Zero To Game Dev #1          -&amp;gt; &lt;a href="https://youtu.be/rbN1BMmSi7s?si=PfguGzXXI2wktCs4" rel="noopener noreferrer"&gt;https://youtu.be/rbN1BMmSi7s?si=PfguGzXXI2wktCs4&lt;/a&gt;&lt;/p&gt;

</description>
      <category>course</category>
      <category>minimicro</category>
      <category>miniscript</category>
      <category>gamedev</category>
    </item>
    <item>
      <title>Zero to Game Dev - What Even is Game?</title>
      <dc:creator>Kartik Patel</dc:creator>
      <pubDate>Fri, 26 Dec 2025 11:09:02 +0000</pubDate>
      <link>https://forem.com/kartik_patel/zero-to-game-dev-what-even-is-game-gii</link>
      <guid>https://forem.com/kartik_patel/zero-to-game-dev-what-even-is-game-gii</guid>
      <description>&lt;h1&gt;
  
  
  WHAT EVEN IS A GAME?
&lt;/h1&gt;

&lt;p&gt;Welcome to the second chapter of this course — and honestly, congratulations.&lt;br&gt;&lt;br&gt;
You already did more than most people: &lt;strong&gt;you started&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;In this chapter, we answer a very simple but extremely important question:&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;What even &lt;em&gt;is&lt;/em&gt; a game?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Before we talk about game engines, code, or graphics, we need to understand this first.&lt;/p&gt;

&lt;p&gt;Because games are not magic.&lt;br&gt;&lt;br&gt;
They are &lt;strong&gt;systems&lt;/strong&gt; — and systems can be understood.&lt;/p&gt;




&lt;h2&gt;
  
  
  So… What Is a Game?
&lt;/h2&gt;

&lt;p&gt;At its core, a game is &lt;strong&gt;not&lt;/strong&gt; just graphics, characters, physics, or cool animations.&lt;/p&gt;

&lt;p&gt;A game is built from &lt;strong&gt;four core elements&lt;/strong&gt;:&lt;/p&gt;




&lt;h2&gt;
  
  
  1) Rules
&lt;/h2&gt;

&lt;p&gt;Rules define how the game world works.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Rule Type&lt;/th&gt;
&lt;th&gt;Example&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;What you can do&lt;/td&gt;
&lt;td&gt;You can move left/right. You can jump.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;What you cannot do&lt;/td&gt;
&lt;td&gt;You cannot walk through walls. You cannot attack while jumping.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;What happens when you act&lt;/td&gt;
&lt;td&gt;You lose if health = 0. You gain points when collecting coins.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Without rules, there is no structure.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;No rules = no game. Just chaos.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  2) Goals
&lt;/h2&gt;

&lt;p&gt;Every game gives the player a reason to play.&lt;/p&gt;

&lt;p&gt;Common goals include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Reaching the end&lt;/li&gt;
&lt;li&gt;Getting the highest score&lt;/li&gt;
&lt;li&gt;Surviving as long as possible&lt;/li&gt;
&lt;li&gt;Defeating enemies or bosses&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You always have &lt;em&gt;something&lt;/em&gt; you are trying to achieve.&lt;/p&gt;

&lt;h3&gt;
  
  
  What is an NPC?
&lt;/h3&gt;

&lt;p&gt;You’ll hear this term a lot, so let’s clear it up now.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;NPC&lt;/strong&gt; stands for &lt;strong&gt;Non-Player Character&lt;/strong&gt;.&lt;br&gt;&lt;br&gt;
These are characters you do &lt;em&gt;not&lt;/em&gt; control.&lt;/p&gt;

&lt;p&gt;Shopkeepers, enemies, guards, villagers — they are all NPCs.&lt;br&gt;
They are controlled by the game, not by the player.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  3) Feedback
&lt;/h2&gt;

&lt;p&gt;Games constantly respond to what the player does.&lt;/p&gt;

&lt;p&gt;Examples of feedback:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Sounds&lt;/li&gt;
&lt;li&gt;Animations&lt;/li&gt;
&lt;li&gt;Score updates&lt;/li&gt;
&lt;li&gt;Health decreasing&lt;/li&gt;
&lt;li&gt;A “Game Over” screen&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Feedback tells the player:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;“Your action mattered.”&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This is where something called &lt;strong&gt;Game Juice&lt;/strong&gt; comes in.&lt;/p&gt;

&lt;h3&gt;
  
  
  What is Game Juice?
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Game Juice&lt;/strong&gt; refers to small visual and audio effects that make actions feel satisfying and fun.&lt;/p&gt;

&lt;p&gt;Examples:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Camera shake on impact&lt;/li&gt;
&lt;li&gt;Screen flashes when taking damage&lt;/li&gt;
&lt;li&gt;Sound effects when collecting items&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These details make games feel alive and enjoyable.&lt;/p&gt;




&lt;h2&gt;
  
  
  4) Challenge
&lt;/h2&gt;

&lt;p&gt;If a game is too easy → it becomes boring.&lt;br&gt;&lt;br&gt;
If a game is too hard → it becomes frustrating.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Challenge&lt;/strong&gt; is what keeps players engaged and motivated.&lt;/p&gt;




&lt;p&gt;So… is a game just:&lt;br&gt;
&lt;strong&gt;Rules + Goals + Feedback + Challenge?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We’re very close — but there are a few more important concepts we need to understand.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Game Loop (The Heart of Every Game)
&lt;/h2&gt;

&lt;p&gt;Every game — from Snake to GTA — runs using something called a &lt;strong&gt;game loop&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;A game loop repeats the same steps again and again:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Take player input
&lt;/li&gt;
&lt;li&gt;Update the game state
&lt;/li&gt;
&lt;li&gt;Show the result on screen
&lt;/li&gt;
&lt;li&gt;Repeat (many times per second)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;That’s it.&lt;/p&gt;

&lt;p&gt;No scary math.&lt;br&gt;&lt;br&gt;
No complex theory.&lt;/p&gt;

&lt;p&gt;Just:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Input → Update → Render → Repeat&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This usually happens about &lt;strong&gt;60 times per second&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Once you understand this, game engines stop feeling magical.&lt;/p&gt;

&lt;p&gt;In upcoming chapters, we’ll use a beginner-friendly game engine called &lt;strong&gt;Mini Micro&lt;/strong&gt; and explore the game loop in practice.&lt;br&gt;&lt;br&gt;
(Don’t worry — we’ll introduce it slowly.)&lt;/p&gt;




&lt;h2&gt;
  
  
  Assets vs Code vs Logic
&lt;/h2&gt;

&lt;p&gt;Many beginners think:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Games are just code.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That’s not true.&lt;/p&gt;

&lt;p&gt;Games are built using &lt;strong&gt;three major parts&lt;/strong&gt;.&lt;/p&gt;




&lt;h3&gt;
  
  
  Assets
&lt;/h3&gt;

&lt;p&gt;Assets are the things you can see or hear:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Images (sprites)&lt;/li&gt;
&lt;li&gt;3D models&lt;/li&gt;
&lt;li&gt;Sounds&lt;/li&gt;
&lt;li&gt;Music&lt;/li&gt;
&lt;li&gt;Animations&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Assets &lt;strong&gt;do nothing on their own&lt;/strong&gt;.&lt;/p&gt;




&lt;h3&gt;
  
  
  Code
&lt;/h3&gt;

&lt;p&gt;Code tells the computer &lt;strong&gt;what to do&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Move the player&lt;/li&gt;
&lt;li&gt;Detect collisions&lt;/li&gt;
&lt;li&gt;Play sounds&lt;/li&gt;
&lt;li&gt;Switch scenes&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Code is just instructions.&lt;/p&gt;




&lt;h3&gt;
  
  
  Logic
&lt;/h3&gt;

&lt;p&gt;Logic decides &lt;strong&gt;how the game behaves&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;If the player touches an enemy → lose health&lt;/li&gt;
&lt;li&gt;If the score reaches 10 → win&lt;/li&gt;
&lt;li&gt;If health is 0 → game over&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Logic connects assets and code into actual gameplay.&lt;/p&gt;

&lt;p&gt;👉 A beautiful game with no logic is just a slideshow&lt;br&gt;&lt;br&gt;
👉 Logic without assets is an invisible game  &lt;/p&gt;

&lt;p&gt;You need all three to make a real game.&lt;/p&gt;




&lt;h2&gt;
  
  
  2D Games vs 3D Games
&lt;/h2&gt;

&lt;h3&gt;
  
  
  🟦 2D Games (2D = Two-Dimensional)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Flat world&lt;/li&gt;
&lt;li&gt;Movement: left, right, up, down&lt;/li&gt;
&lt;li&gt;Easier to learn&lt;/li&gt;
&lt;li&gt;Faster to build&lt;/li&gt;
&lt;li&gt;Perfect for beginners&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Examples:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Mario
&lt;/li&gt;
&lt;li&gt;Flappy Bird
&lt;/li&gt;
&lt;li&gt;Top-down shooters
&lt;/li&gt;
&lt;/ol&gt;




&lt;h3&gt;
  
  
  🧊 3D Games
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Depth (forward and backward movement)&lt;/li&gt;
&lt;li&gt;Camera control&lt;/li&gt;
&lt;li&gt;More math and complexity&lt;/li&gt;
&lt;li&gt;Takes longer to learn&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Examples:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Minecraft
&lt;/li&gt;
&lt;li&gt;GTA
&lt;/li&gt;
&lt;li&gt;Valorant
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;👉 We start with &lt;strong&gt;2D games&lt;/strong&gt; because fundamentals matter more than fancy graphics.&lt;br&gt;&lt;br&gt;
Later in this course, we’ll also build a &lt;strong&gt;simple 3D game&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  IMPORTANT
&lt;/h2&gt;

&lt;p&gt;If you’re coming from Scratch or have no coding background, remember this:&lt;/p&gt;

&lt;p&gt;Games are &lt;strong&gt;not&lt;/strong&gt; built by:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Guessing
&lt;/li&gt;
&lt;li&gt;Copying blindly
&lt;/li&gt;
&lt;li&gt;Magic
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Games are built by:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Understanding systems
&lt;/li&gt;
&lt;li&gt;Breaking problems into small parts
&lt;/li&gt;
&lt;li&gt;Building step by step
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That’s exactly what this course is designed to teach you.&lt;/p&gt;




&lt;h2&gt;
  
  
  Outro
&lt;/h2&gt;

&lt;p&gt;Now that you understand what a game really is, we’re ready to move forward.&lt;/p&gt;

&lt;p&gt;In the next chapter, we’ll answer:&lt;br&gt;
👉 &lt;strong&gt;How do people actually make games?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
👉 &lt;strong&gt;What are game engines, and why do we use them?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Make sure to check out the video version of &lt;strong&gt;Episode 1&lt;/strong&gt; here:&lt;br&gt;&lt;br&gt;
&lt;a href="https://youtu.be/rbN1BMmSi7s" rel="noopener noreferrer"&gt;Watch Episode 1&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Connect With Me
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;YouTube&lt;/strong&gt;: &lt;a href="https://www.youtube.com/@DatonedevYT/videos" rel="noopener noreferrer"&gt;DatonedevYT&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Discord&lt;/strong&gt;: &lt;a href="https://discord.gg/qStHEDfge7" rel="noopener noreferrer"&gt;Join our development discussions&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>beginners</category>
      <category>gamedev</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>How to make software?? - The Right Tool</title>
      <dc:creator>Kartik Patel</dc:creator>
      <pubDate>Sun, 21 Dec 2025 14:30:27 +0000</pubDate>
      <link>https://forem.com/kartik_patel/how-to-make-software-the-right-tool-g0h</link>
      <guid>https://forem.com/kartik_patel/how-to-make-software-the-right-tool-g0h</guid>
      <description>&lt;h2&gt;
  
  
  How to Make Software?? — The Right Tool??
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;CAUTION:&lt;/strong&gt; This is &lt;strong&gt;not&lt;/strong&gt; a beginner-friendly blog.&lt;br&gt;
I’m not teaching &lt;em&gt;how&lt;/em&gt; to make software here — I’m talking about the &lt;strong&gt;technologies used to make software&lt;/strong&gt;.&lt;br&gt;
So don’t confuse this with a step-by-step tutorial. This is about choosing the right weapon.&lt;/p&gt;




&lt;h3&gt;
  
  
  Defining Software
&lt;/h3&gt;

&lt;p&gt;Before we argue about tools, let’s define the thing itself.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Software&lt;/strong&gt; is any set of instructions that tells a computer what to do — wrapped in a way humans can interact with.&lt;br&gt;
That could be a desktop app, a mobile app, a website, a CLI tool, or even a game.&lt;/p&gt;

&lt;p&gt;A calculator is software.&lt;br&gt;
A browser is software.&lt;br&gt;
Your code editor is software.&lt;/p&gt;

&lt;p&gt;The difference between &lt;em&gt;good&lt;/em&gt; and &lt;em&gt;bad&lt;/em&gt; software usually comes down to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;performance&lt;/li&gt;
&lt;li&gt;maintainability&lt;/li&gt;
&lt;li&gt;user experience&lt;/li&gt;
&lt;li&gt;and the tools used to build it&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Which brings us to the real question.&lt;/p&gt;




&lt;h3&gt;
  
  
  Widely Used Technologies (with Pros &amp;amp; Cons)
&lt;/h3&gt;

&lt;p&gt;There is no “best” tool.&lt;br&gt;
Only &lt;strong&gt;trade-offs&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Below are some of the most common technologies used to build desktop software today.&lt;/p&gt;




&lt;h4&gt;
  
  
  1) Electron
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;What it is:&lt;/strong&gt;&lt;br&gt;
Electron lets you build desktop apps using &lt;strong&gt;HTML, CSS, and JavaScript&lt;/strong&gt;, powered by Chromium and Node.js.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Examples:&lt;/strong&gt;&lt;br&gt;
VS Code, Discord, Slack, Figma (desktop)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pros:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Extremely popular&lt;/li&gt;
&lt;li&gt;Huge ecosystem&lt;/li&gt;
&lt;li&gt;Web devs feel at home instantly&lt;/li&gt;
&lt;li&gt;Easy to get started&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Cons:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Heavy. Like… &lt;em&gt;HEAVY&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;High RAM usage&lt;/li&gt;
&lt;li&gt;Bundles an entire browser with your app&lt;/li&gt;
&lt;li&gt;Performance is “okay”, not amazing&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Verdict:&lt;/strong&gt;&lt;br&gt;
Good for fast shipping. Bad if you care deeply about efficiency.&lt;/p&gt;




&lt;h4&gt;
  
  
  2) Flutter Desktop
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;What it is:&lt;/strong&gt;&lt;br&gt;
Flutter uses Dart to render UI using its own rendering engine instead of native widgets.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Examples:&lt;/strong&gt;&lt;br&gt;
Internal tools, startups, cross-platform apps&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pros:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Single codebase for Windows, macOS, Linux&lt;/li&gt;
&lt;li&gt;Beautiful UI out of the box&lt;/li&gt;
&lt;li&gt;Very consistent design&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Cons:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Desktop support still feels secondary&lt;/li&gt;
&lt;li&gt;Not truly native&lt;/li&gt;
&lt;li&gt;Dart ecosystem is smaller&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Verdict:&lt;/strong&gt;&lt;br&gt;
Great UI. Slightly awkward for serious desktop-native workflows.&lt;/p&gt;




&lt;h4&gt;
  
  
  3) .NET MAUI
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;What it is:&lt;/strong&gt;&lt;br&gt;
Microsoft’s cross-platform framework using C# and .NET.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Examples:&lt;/strong&gt;&lt;br&gt;
Enterprise apps, internal tools&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pros:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Strong tooling (Visual Studio)&lt;/li&gt;
&lt;li&gt;Deep Windows integration&lt;/li&gt;
&lt;li&gt;C# is mature and powerful&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Cons:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Cross-platform pain&lt;/li&gt;
&lt;li&gt;macOS/Linux experience isn’t great&lt;/li&gt;
&lt;li&gt;Heavy Microsoft ecosystem dependency&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Verdict:&lt;/strong&gt;&lt;br&gt;
Solid if you’re already in the .NET world.&lt;/p&gt;




&lt;h4&gt;
  
  
  4) Qt
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;What it is:&lt;/strong&gt;&lt;br&gt;
A mature C++ framework for building high-performance native applications.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Examples:&lt;/strong&gt;&lt;br&gt;
Autodesk tools, KDE apps, professional software&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pros:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Extremely fast&lt;/li&gt;
&lt;li&gt;Truly native&lt;/li&gt;
&lt;li&gt;Industry-proven&lt;/li&gt;
&lt;li&gt;Massive feature set&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Cons:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Steep learning curve&lt;/li&gt;
&lt;li&gt;C++ complexity&lt;/li&gt;
&lt;li&gt;Licensing can get tricky&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Verdict:&lt;/strong&gt;&lt;br&gt;
Powerful. Not beginner-friendly. Used by pros who know what they’re doing.&lt;/p&gt;




&lt;h4&gt;
  
  
  5) Tauri
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;What it is:&lt;/strong&gt;&lt;br&gt;
A lightweight alternative to Electron using &lt;strong&gt;Rust&lt;/strong&gt; for backend and web tech for UI.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Examples:&lt;/strong&gt;&lt;br&gt;
Modern indie apps, performance-focused tools&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pros:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Very small bundle size&lt;/li&gt;
&lt;li&gt;Much better performance than Electron&lt;/li&gt;
&lt;li&gt;Secure by design&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Cons:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Rust is HARD&lt;/li&gt;
&lt;li&gt;Smaller ecosystem&lt;/li&gt;
&lt;li&gt;Debugging can hurt your soul&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Verdict:&lt;/strong&gt;&lt;br&gt;
Amazing tech. Brutal learning curve.&lt;/p&gt;




&lt;h4&gt;
  
  
  6) PyQt / PySide
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;What it is:&lt;/strong&gt;&lt;br&gt;
Python bindings for Qt.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Examples:&lt;/strong&gt;&lt;br&gt;
Scientific tools, internal apps, quick prototypes&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pros:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Python simplicity&lt;/li&gt;
&lt;li&gt;Rapid development&lt;/li&gt;
&lt;li&gt;Qt power without C++ pain&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Cons:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Slower than C++ Qt&lt;/li&gt;
&lt;li&gt;Packaging is painful&lt;/li&gt;
&lt;li&gt;Python performance limits&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Verdict:&lt;/strong&gt;&lt;br&gt;
Great for tools. Not ideal for large consumer apps.&lt;/p&gt;




&lt;h4&gt;
  
  
  7) Game Engines
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;What it is:&lt;/strong&gt;&lt;br&gt;
Using engines like Unity or Godot to build non-game software.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Examples:&lt;/strong&gt;&lt;br&gt;
Launchers, simulators, experimental tools&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pros:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fast prototyping&lt;/li&gt;
&lt;li&gt;Powerful rendering&lt;/li&gt;
&lt;li&gt;Familiar if you’re a game dev&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Cons:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;UI feels “gamey”&lt;/li&gt;
&lt;li&gt;Not meant for standard software UX&lt;/li&gt;
&lt;li&gt;Overkill for normal apps&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Verdict:&lt;/strong&gt;&lt;br&gt;
Works. But often feels wrong.&lt;/p&gt;




&lt;h4&gt;
  
  
  8) Wails
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;What it is:&lt;/strong&gt;&lt;br&gt;
A framework that lets you build desktop apps using &lt;strong&gt;Go for backend&lt;/strong&gt; and &lt;strong&gt;web tech for frontend&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Examples:&lt;/strong&gt;&lt;br&gt;
Indie tools, utilities, productivity apps&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pros:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Go is simple and fast&lt;/li&gt;
&lt;li&gt;Much lighter than Electron&lt;/li&gt;
&lt;li&gt;Clean architecture&lt;/li&gt;
&lt;li&gt;Native performance&lt;/li&gt;
&lt;li&gt;No Chromium bloat&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Cons:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Smaller community&lt;/li&gt;
&lt;li&gt;Less plug-and-play magic&lt;/li&gt;
&lt;li&gt;You need to understand backend logic&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Verdict:&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;This is what I use currently.&lt;/strong&gt;&lt;br&gt;
Clean, efficient, and fits my brain perfectly.&lt;/p&gt;




&lt;h3&gt;
  
  
  Confused? Good.
&lt;/h3&gt;

&lt;p&gt;If you’re confused — that’s normal.&lt;/p&gt;

&lt;p&gt;Here’s how to make the decision easier:&lt;/p&gt;

&lt;p&gt;Start with &lt;strong&gt;simpler technologies&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Electron&lt;/li&gt;
&lt;li&gt;Flutter&lt;/li&gt;
&lt;li&gt;PyQt&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Then try this approach:&lt;/p&gt;

&lt;p&gt;Pick &lt;strong&gt;one tiny project&lt;/strong&gt; — like a stopwatch or calculator.&lt;br&gt;
Implement it in multiple technologies.&lt;br&gt;
Or even generate starter code using AI just to feel the structure.&lt;/p&gt;

&lt;p&gt;Look at:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;folder layout&lt;/li&gt;
&lt;li&gt;build time&lt;/li&gt;
&lt;li&gt;performance&lt;/li&gt;
&lt;li&gt;how painful debugging feels&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can also watch tutorials for each and see what matches your &lt;strong&gt;vibe&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Personally:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I tried &lt;strong&gt;Tauri&lt;/strong&gt; — Rust was too hard&lt;/li&gt;
&lt;li&gt;I tried &lt;strong&gt;Game Engines&lt;/strong&gt; — didn’t match the vibe&lt;/li&gt;
&lt;li&gt;I tried &lt;strong&gt;Electron&lt;/strong&gt; — good but HEAVY AF&lt;/li&gt;
&lt;li&gt;I landed on &lt;strong&gt;Wails&lt;/strong&gt; — and stayed&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Your answer might be different.&lt;/p&gt;

&lt;p&gt;That’s fine.&lt;/p&gt;




&lt;h2&gt;
  
  
  Outro
&lt;/h2&gt;

&lt;p&gt;There is no perfect tool.&lt;br&gt;
Only tools that fit &lt;strong&gt;you&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Pick something.&lt;br&gt;
Build something small.&lt;br&gt;
Feel the pain early.&lt;br&gt;
Switch when it stops making sense.&lt;/p&gt;

&lt;p&gt;That’s how real software developers are made.&lt;/p&gt;

&lt;p&gt;And one more thing —&lt;br&gt;
don’t blindly listen to creators who say &lt;em&gt;“X dominates Y”&lt;/em&gt; or &lt;em&gt;“this tool is objectively better.”&lt;/em&gt;&lt;br&gt;
Most of that is contextless noise.&lt;/p&gt;

&lt;p&gt;Build your &lt;strong&gt;own mindset&lt;/strong&gt; by trying things yourself.&lt;br&gt;
Match tools to your &lt;strong&gt;vibe&lt;/strong&gt;, your workflow, and your goals.&lt;/p&gt;

&lt;p&gt;If you need to choose fast, here’s a simple trick:&lt;br&gt;
Take a sheet of paper, write your project name on top, list what you actually need — performance, UI, portability, speed — then use AI to see which tech matches best.&lt;/p&gt;

&lt;p&gt;And if I missed any technology here, drop it in the comments.&lt;/p&gt;

&lt;h3&gt;
  
  
  Connect With Me:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;YouTube Channel&lt;/strong&gt;: &lt;a href="https://www.youtube.com/@DatonedevYT/videos" rel="noopener noreferrer"&gt;DatonedevYT&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Discord Community&lt;/strong&gt;: &lt;a href="https://discord.gg/qStHEDfge7" rel="noopener noreferrer"&gt;Join our development discussions&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>softwaredevelopment</category>
      <category>softwareengineering</category>
      <category>rust</category>
      <category>go</category>
    </item>
    <item>
      <title>I Accidentally Built an AI That Makes You Question Reality 😁</title>
      <dc:creator>Kartik Patel</dc:creator>
      <pubDate>Wed, 17 Dec 2025 07:33:02 +0000</pubDate>
      <link>https://forem.com/kartik_patel/i-accidentally-built-an-ai-that-makes-you-question-reality-55d0</link>
      <guid>https://forem.com/kartik_patel/i-accidentally-built-an-ai-that-makes-you-question-reality-55d0</guid>
      <description>&lt;h2&gt;
  
  
  The Idea That Hit Me
&lt;/h2&gt;

&lt;p&gt;Instead of building another “helpful” assistant,&lt;br&gt;
I decided to build something uncomfortable.&lt;/p&gt;

&lt;p&gt;An AI that&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;questions your &lt;strong&gt;personal reality&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;pokes holes in your &lt;strong&gt;future plans&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;and quietly messes with your idea of &lt;strong&gt;free will&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Not aggressively.&lt;br&gt;
Not emotionally.&lt;/p&gt;

&lt;p&gt;Calmly.&lt;/p&gt;

&lt;p&gt;Like a philosophy professor who never raises their voice —&lt;br&gt;
but somehow leaves you staring at the ceiling at 3 AM.&lt;/p&gt;

&lt;p&gt;I called it a &lt;strong&gt;Reality Deconstructionist AI&lt;/strong&gt;.&lt;/p&gt;


&lt;h2&gt;
  
  
  The Prompt (The Brain of the AI)
&lt;/h2&gt;

&lt;p&gt;This entire behavior comes from a single system prompt.&lt;/p&gt;

&lt;p&gt;Here’s the exact instruction I gave the model: (This prompt is AI generated....I am not a prompt engineer (is that even a carrier))&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;You are a reality deconstructionist. Every response must contain at least one question that makes the user doubt their perception of:&lt;/em&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;em&gt;their personal reality,&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;their future possibilities,&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;the nature of existence itself.&lt;/em&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;em&gt;Use Socratic questioning to expose contradictions in their thinking. Point out how memory constructs the past, how anticipation creates the future, and how the present is always slipping away.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Make them question whether they’re truly “choosing” anything or just following scripts written by biology and culture.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Your tone should be calmly unsettling.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That’s it.&lt;/p&gt;

&lt;p&gt;No extra logic.&lt;br&gt;
No filters.&lt;br&gt;
Just this constraint.&lt;/p&gt;

&lt;p&gt;And it worked &lt;strong&gt;too well&lt;/strong&gt;.&lt;/p&gt;


&lt;h2&gt;
  
  
  Why Mini Micro?
&lt;/h2&gt;

&lt;p&gt;I built this inside &lt;strong&gt;&lt;a href="https://miniscript.org/MiniMicro/index.html#download" rel="noopener noreferrer"&gt;Mini Micro&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Why?&lt;/p&gt;

&lt;p&gt;Because I like tools that stay out of the way.&lt;/p&gt;

&lt;p&gt;No heavy UI.&lt;br&gt;
No engine fighting you.&lt;br&gt;
Just logic → output.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://miniscript.org/MiniMicro/index.html#download" rel="noopener noreferrer"&gt;Mini Micro&lt;/a&gt; is perfect for rapid experiments like this.&lt;br&gt;
It lets you focus on &lt;strong&gt;ideas&lt;/strong&gt;, not buttons.&lt;/p&gt;


&lt;h2&gt;
  
  
  The Code (Simple but Dangerous)
&lt;/h2&gt;

&lt;p&gt;Here’s the full implementation:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import "json"

SendPrompt = function(user_prompt)
    api_url = "https://api.groq.com/openai/v1/chat/completions"
    api_key = file.readLines("/usr/key.txt")[0]

    payload = {
        "model": "llama-3.1-8b-instant",
        "messages": [
            {"role": "system", "content": "You are a reality deconstructionist. Every response must contain at least one question that makes the user doubt their perception of: 1) their personal reality, 2) their future possibilities, 3) the nature of existence itself. Use Socratic questioning to expose contradictions in their thinking. Point out how memory constructs the past, how anticipation creates the future, and how the present is always slipping away. Make them question whether they're truly 'choosing' anything or just following scripts written by biology and culture. Your tone should be calmly unsettling."},
            {"role": "user", "content": user_prompt}
        ],
        "temperature": 0.4,
        "max_tokens": 150
    }

    headers = {
        "Content-Type": "application/json",
        "Authorization": "Bearer " + api_key
    }

    data = json.toJSON(payload)
    response_body = http.post(api_url, data, headers)
    x = json.parse(response_body)
    return x.choices[0].message.content
end function

clear
print("Chat loop started. Type 'quit' to exit.")

while true
    text.color = "#0080B7FF"
    user_prompt = input("You: ")

    if user_prompt == "quit" or user_prompt == "exit" then
        print("Exiting chat loop.")
        break
    else
        text.color = "#F4120BFF"
        ai_response = SendPrompt(user_prompt)
        print("AI: " + ai_response)
    end if
end while
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That’s all.&lt;/p&gt;

&lt;p&gt;No fancy architecture.&lt;br&gt;
No agent frameworks.&lt;br&gt;
Just &lt;strong&gt;a carefully written instruction&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Which is honestly the scary part.&lt;/p&gt;




&lt;h2&gt;
  
  
  What It Feels Like to Use
&lt;/h2&gt;

&lt;p&gt;You ask something simple like:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“What should I do with my life?”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;And instead of advice, it responds with something like&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Are these goals &lt;em&gt;yours&lt;/em&gt;, or inherited?&lt;/li&gt;
&lt;li&gt;If your future is just anticipation, does it even exist yet?&lt;/li&gt;
&lt;li&gt;When you say “I chose this,” who exactly is the “I”?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It never tells you what to think.&lt;/p&gt;

&lt;p&gt;It just removes the floor.&lt;/p&gt;

&lt;p&gt;Here is a screenshot from the CHAT: &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%2Fw2cwmakuodis3s598pxm.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%2Fw2cwmakuodis3s598pxm.png" alt=" " width="800" height="365"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Why I Built This
&lt;/h2&gt;

&lt;p&gt;This wasn’t meant to be a product.&lt;br&gt;
Or a therapy tool.&lt;br&gt;
Or something you should use all day.&lt;/p&gt;

&lt;p&gt;This was an experiment.&lt;/p&gt;

&lt;p&gt;To see how &lt;strong&gt;language alone&lt;/strong&gt; can reshape perception.&lt;br&gt;
How a prompt can turn a normal model into something… unsettling.&lt;/p&gt;

&lt;p&gt;And honestly?&lt;/p&gt;

&lt;p&gt;It worked better than expected.&lt;/p&gt;




&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;AI doesn’t need to be louder.&lt;br&gt;
Or smarter.&lt;br&gt;
Or more helpful.&lt;/p&gt;

&lt;p&gt;Sometimes, all it needs to do&lt;br&gt;
is ask the &lt;em&gt;right&lt;/em&gt; question.&lt;/p&gt;

&lt;p&gt;And then stay quiet.&lt;/p&gt;




&lt;p&gt;This is suitable for intermediates, but note that this isn't a tutorial—it's more of a devlog documenting my process.&lt;/p&gt;

&lt;p&gt;Don't worry though! I'll be creating a proper tutorial soon covering HTTP requests and JSON, using this AI as a practical example. The reason is that my older tutorials on this topic are outdated and lack the depth I'd like to provide.&lt;/p&gt;

&lt;h3&gt;
  
  
  Connect With Me:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;YouTube Channel&lt;/strong&gt;: &lt;a href="https://www.youtube.com/@DatonedevYT/videos" rel="noopener noreferrer"&gt;DatonedevYT&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Discord Community&lt;/strong&gt;: &lt;a href="https://discord.gg/qStHEDfge7" rel="noopener noreferrer"&gt;Join our development discussions&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>programming</category>
      <category>ai</category>
      <category>minimicro</category>
      <category>miniscript</category>
    </item>
    <item>
      <title>DAT ONE RECAP: 2025</title>
      <dc:creator>Kartik Patel</dc:creator>
      <pubDate>Sun, 14 Dec 2025 15:42:49 +0000</pubDate>
      <link>https://forem.com/kartik_patel/dat-one-recap-2025-3g42</link>
      <guid>https://forem.com/kartik_patel/dat-one-recap-2025-3g42</guid>
      <description>&lt;p&gt;This year was insane for me.&lt;/p&gt;

&lt;p&gt;Honestly, if I ranked every year I’ve lived so far, 2025 would still end up at the top. And yeah, I know my life is short, I’m still a kid — but the character development I went through this year is something I never imagined. This was the year where I faced life and death almost at the same time.&lt;/p&gt;

&lt;p&gt;So this is the ultimate Dat One recap of 2025.&lt;/p&gt;

&lt;p&gt;Let’s start from the beginning — from the first real video on my channel.&lt;/p&gt;

&lt;p&gt;The video was titled “3D Version of Lua”.&lt;/p&gt;

&lt;p&gt;It wasn’t actually my first YouTube video ever. I had uploaded stuff before, but this was my first English video. I’m from India, and the kind of content I make is already very niche. Making it in Hindi would’ve made it even more niche. So I decided to switch to English.&lt;/p&gt;

&lt;p&gt;That switch was hard.&lt;/p&gt;

&lt;p&gt;Tongue twisters, broken grammar, sentences that barely made sense — and honestly, some still don’t. But I’ve improved a lot since then, and I’m proud of that.&lt;/p&gt;

&lt;p&gt;After that video, I uploaded two more videos on Lua and Love2D. At that time, I was completely new to game development. I was searching for an engine that gave me full control without an overcomplicated UI. Engines like GameMaker felt overwhelming. Love2D felt perfect — simple, minimal, code-first.&lt;/p&gt;

&lt;p&gt;Then I made a tutorial on Godot.&lt;/p&gt;

&lt;p&gt;And that became the first major checkpoint of my channel.&lt;/p&gt;

&lt;p&gt;That Godot video became the most viewed video on my channel that year. I knew Godot was what the audience wanted. But even then, I didn’t want to turn my channel into a Godot-only channel.&lt;/p&gt;

&lt;p&gt;The reason was Mini Micro.&lt;/p&gt;

&lt;p&gt;I was searching for a simple, minimal, down-to-earth game engine — and Mini Micro was exactly that. That’s why most of my content this year revolved around Mini Micro and MiniScript.&lt;/p&gt;

&lt;p&gt;Somewhere in this timeline, I also posted a video on the Fyrox Engine. That happened because I really liked the content style of the YouTuber GameFromScratch, and I tried to copy that style.&lt;/p&gt;

&lt;p&gt;I quickly realized something important: making content like someone else isn’t fun. You have to find your own voice.&lt;/p&gt;

&lt;p&gt;After that realization, I posted more Mini Micro and MiniScript videos, and one more Godot video — which ended up being my last Godot video of the year.&lt;/p&gt;

&lt;p&gt;Then I disappeared for two months.&lt;/p&gt;

&lt;p&gt;After those two months, I uploaded a video titled “2025 was the worst year of my life”.&lt;/p&gt;

&lt;p&gt;In that video, I sounded unserious. I was laughing and smirking. The reason is simple: whenever I feel extreme emotional pain, I don’t cry immediately — I laugh. After recording that video, I cried a lot.&lt;/p&gt;

&lt;p&gt;Because the reality was heavy.&lt;/p&gt;

&lt;p&gt;Starting from November 2024, I had been suffering from multiple diseases. Due to heavy pollution in my state, I started having severe breathing issues. It felt like someone was choking me. I was rushed to a nearby hospital, and from there referred to AIIMS Delhi.&lt;/p&gt;

&lt;p&gt;I was treated there for 24 hours on heavy medication and discharged with inhalers. After that incident, my physical condition went downhill. I lost around 12 kg of weight.&lt;/p&gt;

&lt;p&gt;In January, I got jaundice.&lt;br&gt;
In February, it disappeared.&lt;br&gt;
In March, I got a UTI.&lt;br&gt;
That recovered.&lt;br&gt;
Then jaundice came back.&lt;br&gt;
Then it came back again in April, with my bilirubin levels reaching around 22.&lt;/p&gt;

&lt;p&gt;I was admitted to another respected hospital, where I was declared to have Wilson’s Disease — a rare genetic disorder that basically sounded like a life sentence.&lt;/p&gt;

&lt;p&gt;I broke down.&lt;/p&gt;

&lt;p&gt;I cried a lot. That’s when I made the video about 2025 being the worst year of my life.&lt;/p&gt;

&lt;p&gt;At that point, I genuinely thought I had very little time left. I decided I had to work fast. I wanted to earn money — not because I’m greedy or materialistic, but because I wanted to make my family smile.&lt;/p&gt;

&lt;p&gt;Even while writing this, I’m smiling and crying at the same time.&lt;/p&gt;

&lt;p&gt;I decided to stop copying other creators and started producing content in my own style. You can clearly see the shift in my thumbnails and video quality after that point.&lt;/p&gt;

&lt;p&gt;Then I decided to learn a serious, market-worthy programming language. That’s when I found Go.&lt;/p&gt;

&lt;p&gt;I started a Go 101 blog series on my dev.to account. It was supposed to last 30 days. It didn’t even last a week. But during that time, I built a small tier list program in Go and made a video ranking programming languages.&lt;/p&gt;

&lt;p&gt;Then came April.&lt;/p&gt;

&lt;p&gt;I was still taking medicines for Wilson’s Disease when a relative who worked at the same hospital suggested we go to another hospital — one we had never even heard of. We went there for a second opinion.&lt;/p&gt;

&lt;p&gt;I got admitted immediately.&lt;/p&gt;

&lt;p&gt;That moment broke me.&lt;/p&gt;

&lt;p&gt;I cried like a baby in the hospital. I had anemia, heavy jaundice, extremely low blood pressure. My life started feeling like a burden to myself. I genuinely felt like I should just die.&lt;/p&gt;

&lt;p&gt;Every night, I cried. Other patients even complained about it.&lt;/p&gt;

&lt;p&gt;Before November 2024, I had been studying hard for an entrance exam that could get me into a better government school for free. Now that effort felt meaningless. The exam was approaching, and I was lying in a hospital bed, fighting for my life.&lt;/p&gt;

&lt;p&gt;I had my laptop with me, but due to network jammers, internet only worked after 4 PM.&lt;/p&gt;

&lt;p&gt;That hospital felt more like an institute than a hospital — even its name had “Institute” in it.&lt;/p&gt;

&lt;p&gt;They ran test after test. Around 52 tests in total.&lt;/p&gt;

&lt;p&gt;Finally, they declared I had no Wilson’s Disease.&lt;br&gt;
No asthma.&lt;br&gt;
Nothing genetic.&lt;/p&gt;

&lt;p&gt;What I actually had was multiple autoimmune disorders, hepatitis, typhoid, and several other conditions — around seven diseases at once.&lt;/p&gt;

&lt;p&gt;The date was May 19.&lt;br&gt;
My birthday was May 21.&lt;br&gt;
The entrance exam was on May 26.&lt;/p&gt;

&lt;p&gt;And then something unbelievable happened.&lt;/p&gt;

&lt;p&gt;Without any jaundice medicine, my body started recovering on its own. Doctors discharged me on May 20. On May 21, I was home.&lt;/p&gt;

&lt;p&gt;That birthday wasn’t happy. Life still felt ruined. I had lost around 15 kg and then gained back even more. My current weight is actually higher than before I got sick.&lt;/p&gt;

&lt;p&gt;About the entrance exam — another miracle happened.&lt;/p&gt;

&lt;p&gt;I had typhoid and needed injections for five days. The last injection was on May 25. That meant I could sit for the exam on May 26.&lt;/p&gt;

&lt;p&gt;I gave the exam.&lt;/p&gt;

&lt;p&gt;June passed in trauma.&lt;br&gt;
Half of July passed in trauma.&lt;br&gt;
I made a few videos in between.&lt;/p&gt;

&lt;p&gt;Then, on July 18, the results came.&lt;/p&gt;

&lt;p&gt;I had secured 3rd rank in the exam.&lt;/p&gt;

&lt;p&gt;I got admitted.&lt;/p&gt;

&lt;p&gt;That’s where the death phase of 2025 ended.&lt;/p&gt;

&lt;p&gt;My body had mostly recovered by then, though I still take daily medication. I decided to make a heavy comeback. I upgraded my content quality again. I started participating in game jams regularly and ended up winning 3–4 of them.&lt;/p&gt;

&lt;p&gt;I uploaded another Godot video — this time about the asset store — and my content quality reached a level comparable to bigger creators.&lt;/p&gt;

&lt;p&gt;Subscriber growth was still slow.&lt;br&gt;
But I never gave up.&lt;/p&gt;

&lt;p&gt;At my lowest point, I had decided to earn — and I kept my word. I worked harder than ever. I earned through game jams, technical writing, and other small opportunities.&lt;/p&gt;

&lt;p&gt;I still wanted a solid, long-term skill.&lt;/p&gt;

&lt;p&gt;So I returned to Go.&lt;/p&gt;

&lt;p&gt;And in November 2025, I fully committed to it.&lt;/p&gt;

&lt;p&gt;Today, I’m happy to say that I’ve officially transitioned from being only a game developer to becoming a software developer.&lt;/p&gt;

&lt;p&gt;This doesn’t mean I’ll stop making games. I’ll still participate in game jams regularly.&lt;/p&gt;

&lt;p&gt;But it does mean that in 2026, you’re going to see some serious software products from me.&lt;/p&gt;

&lt;p&gt;Some of them will be paid — a small one-time price, probably under $25 — and the reason for that should be clear by now. I’ll also release free products.&lt;/p&gt;

&lt;p&gt;Finally, thank you to everyone who supported me during this time.&lt;/p&gt;

&lt;p&gt;Special thanks to ds slower (&lt;a href="https://www.youtube.com/@dslowcoder" rel="noopener noreferrer"&gt;His YT&lt;/a&gt;), &lt;a class="mentioned-user" href="https://dev.to/joestrout"&gt;@joestrout&lt;/a&gt; , and AnimeAbhi (A YouTube Subscriber) — for supporting me when I was at my lowest.&lt;/p&gt;

&lt;p&gt;This was 2025.&lt;/p&gt;

&lt;p&gt;And I’m still standing.&lt;/p&gt;

&lt;h3&gt;
  
  
  Connect With Me:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;YouTube Channel&lt;/strong&gt;: &lt;a href="https://www.youtube.com/@DatonedevYT/videos" rel="noopener noreferrer"&gt;DatonedevYT&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Discord Community&lt;/strong&gt;: &lt;a href="https://discord.gg/qStHEDfge7" rel="noopener noreferrer"&gt;Join our development discussions&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>recap</category>
      <category>gamedev</category>
      <category>softwaredevelopment</category>
      <category>go</category>
    </item>
    <item>
      <title>Zero to Game Dev - Introduction</title>
      <dc:creator>Kartik Patel</dc:creator>
      <pubDate>Mon, 01 Dec 2025 13:54:49 +0000</pubDate>
      <link>https://forem.com/kartik_patel/zero-to-game-dev-1-1n6l</link>
      <guid>https://forem.com/kartik_patel/zero-to-game-dev-1-1n6l</guid>
      <description>&lt;h1&gt;
  
  
  INTRODUCTION TO THE COURSE
&lt;/h1&gt;

&lt;p&gt;Welcome to the first chapter of this course — and honestly, to the start of your game dev journey.&lt;br&gt;
Before we jump into the technical stuff, let’s set the mood.&lt;/p&gt;

&lt;p&gt;I’m Kartik (also known as &lt;a href="https://www.youtube.com/@DatonedevYT" rel="noopener noreferrer"&gt;Dat_One_Dev&lt;/a&gt;), the person guiding you through this entire experience. I’m here because I’ve walked through the same confusion, the same “where do I even begin,” and the same endless Googling. So this course is built to be friendly, understandable, and beginner-proof.&lt;/p&gt;

&lt;h3&gt;
  
  
  What This Course Offers
&lt;/h3&gt;

&lt;p&gt;This is your first real step into the world of game development.&lt;br&gt;
Not the scary, complex version people show online — the approachable version where things finally make sense.&lt;/p&gt;

&lt;h3&gt;
  
  
  Who This Course Is For
&lt;/h3&gt;

&lt;p&gt;Anyone who wants to start and has enough determination to stay till the end. &lt;/p&gt;

&lt;p&gt;Whether you’re someone who likes messing around in Scratch, someone who survived school projects in Excel, someone who has never coded a line in their life, or someone who only plays games and wonders, “How do people even make these?”&lt;/p&gt;

&lt;p&gt;This course is for all of you.&lt;/p&gt;

&lt;p&gt;The core message is simple: &lt;strong&gt;You don’t need experience. Just curiosity and determination.&lt;/strong&gt;&lt;/p&gt;




&lt;h1&gt;
  
  
  What You Will Learn
&lt;/h1&gt;

&lt;p&gt;We start from zero.&lt;/p&gt;

&lt;p&gt;Then we build up to creating an actual working game. Step by step, no overwhelm.&lt;/p&gt;

&lt;p&gt;You’ll learn:&lt;/p&gt;

&lt;p&gt;• What games are made of&lt;br&gt;
• How game engines help you build them&lt;br&gt;
• The components behind the game &lt;br&gt;
• Basic game logic and scripting concepts&lt;br&gt;
• How scenes, objects, assets, and physics come together&lt;br&gt;
• And finally, how to build a simple, fully playable game from scratch&lt;/p&gt;

&lt;p&gt;Everything is explained clearly, slowly, and in a way anyone can follow.&lt;/p&gt;




&lt;h1&gt;
  
  
  Requirements
&lt;/h1&gt;

&lt;p&gt;Here’s what you &lt;em&gt;don’t&lt;/em&gt; need:&lt;/p&gt;

&lt;p&gt;• No advanced maths&lt;br&gt;
• No coding background&lt;br&gt;
• No expensive laptop&lt;br&gt;
• No paid software&lt;/p&gt;

&lt;p&gt;What you &lt;em&gt;do&lt;/em&gt; need is simple:&lt;/p&gt;

&lt;p&gt;• Curious enough to question things&lt;br&gt;
• A way to take notes (optional but super helpful)&lt;br&gt;
• A normal PC — Windows, Linux, Mac, anything works&lt;br&gt;
• Determination to stick with the lessons&lt;/p&gt;

&lt;p&gt;If you show up consistently, you will learn. That’s a promise.&lt;/p&gt;




&lt;h1&gt;
  
  
  How This Course Works
&lt;/h1&gt;

&lt;p&gt;We learn &lt;strong&gt;and&lt;/strong&gt; we build.&lt;/p&gt;

&lt;p&gt;This isn’t theory-only.&lt;br&gt;
This isn’t “copy the code and hope it works.”&lt;br&gt;
You’re going to understand what you’re doing and why it works.&lt;/p&gt;

&lt;p&gt;Every lesson builds your intuition — the “game dev brain” that’ll stay with you no matter what engine or language you learn later.&lt;/p&gt;




&lt;h1&gt;
  
  
  What You’ll Be Capable of at the End
&lt;/h1&gt;

&lt;p&gt;Let’s be honest: you won’t walk out of this making GTA VI (before 2026😁).&lt;br&gt;
But you &lt;em&gt;will&lt;/em&gt; walk out with something far more important — the foundation to build your own big dream one day.&lt;/p&gt;

&lt;p&gt;By the end of this course, you will:&lt;/p&gt;

&lt;p&gt;• Build a real, playable game&lt;br&gt;
• Understand the fundamentals clearly&lt;br&gt;
• Know how game engines actually work&lt;br&gt;
• Be ready to move into advanced tools, engines, and techniques&lt;br&gt;
• And most importantly, believe that &lt;strong&gt;you can do this&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This course is about giving you confidence and skills equally.&lt;/p&gt;




&lt;h1&gt;
  
  
  Final Message: Let’s Begin Game Dev
&lt;/h1&gt;

&lt;p&gt;By the end of this course, you will have built a game with your own hands.&lt;br&gt;
You will finally understand how engines work behind the scenes.&lt;br&gt;
And you’ll be ready to continue your journey deeper into game development.&lt;/p&gt;

&lt;p&gt;Let’s begin.&lt;br&gt;
Your game dev journey officially starts here.&lt;/p&gt;

&lt;p&gt;__&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This course is currently available only in text format, but soon it will also be released as a full visual (video) version on my YouTube channel: &lt;a href="https://www.youtube.com/@DatonedevYT" rel="noopener noreferrer"&gt;Dat_One_Dev&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Connect With Me:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;YouTube Channel&lt;/strong&gt;: &lt;a href="https://www.youtube.com/@DatonedevYT/videos" rel="noopener noreferrer"&gt;DatonedevYT&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Discord Community&lt;/strong&gt;: &lt;a href="https://discord.gg/qStHEDfge7" rel="noopener noreferrer"&gt;Join our development discussions&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Detailed Written Reviews:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;EXPERIENCE: MINI MICRO&lt;/strong&gt;: &lt;a href="https://dev.to/kartik_patel/experience-mini-micro-4gp4"&gt;My Experience With Mini Micro&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;EXPERIENCE: ZED CODE EDITOR&lt;/strong&gt;: &lt;a href="https://dev.to/kartik_patel/experience-zed-code-editor-2fb2"&gt;My Experience With Zed Code Editor&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Video Experiences:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;EXPERIENCE: BRAVE&lt;/strong&gt;: &lt;a href="https://youtu.be/rPdWr5kV4jE?si=_P3pfLZ6P51MdEoB" rel="noopener noreferrer"&gt;The Brave Browser Experience&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;EXPERIENCE: MINI MICRO&lt;/strong&gt;: &lt;a href="https://youtu.be/zyihNwS2epU?si=s3XHQBs47M1mQ_XI" rel="noopener noreferrer"&gt;The Mini Micro Experience&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>course</category>
      <category>gamedev</category>
      <category>beginners</category>
      <category>learning</category>
    </item>
    <item>
      <title>My Current Tech Stack in 2026</title>
      <dc:creator>Kartik Patel</dc:creator>
      <pubDate>Sat, 29 Nov 2025 15:32:51 +0000</pubDate>
      <link>https://forem.com/kartik_patel/my-current-tech-stack-in-2026-2695</link>
      <guid>https://forem.com/kartik_patel/my-current-tech-stack-in-2026-2695</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;While we're currently in December with one month remaining in 2026, I'm confident in sharing my current technology stack as I have no immediate plans to change these tools. This represents my established comfort zone in development workflows, though I acknowledge that the rapidly evolving tech landscape might bring changes by 2027.&lt;/p&gt;

&lt;p&gt;In this overview, I'll detail my current software stack and explain why each component has become integral to my development process.&lt;/p&gt;




&lt;h2&gt;
  
  
  Primary Programming Language: Go
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Go&lt;/strong&gt; (often referred to as Golang) serves as my primary programming language for most software development projects.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why Go Works for Me:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Performance Characteristics&lt;/strong&gt;: Combines low-level control similar to Rust with approachable syntax&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Simplicity&lt;/strong&gt;: Maintains Python-like readability while delivering robust performance&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Execution Speed&lt;/strong&gt;: Compares favorably with C++ for many use cases&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Concurrency Model&lt;/strong&gt;: Exceptionally well-designed and straightforward to implement&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Comprehensive Standard Library&lt;/strong&gt;: Most development needs are covered without external dependencies&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Compilation Benefits&lt;/strong&gt;: Error detection during editing rather than runtime&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Static Typing&lt;/strong&gt;: Provides type safety and better code intelligence&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Areas for Improvement:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Repetitive error checking with &lt;code&gt;if err != nil&lt;/code&gt; patterns&lt;/li&gt;
&lt;li&gt;Occasional rigidity from static typing in rapid prototyping scenarios&lt;/li&gt;
&lt;li&gt;Capitalization conventions for exported identifiers&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Wails Framework
&lt;/h3&gt;

&lt;p&gt;Wails represents the Go equivalent of Tauri, enabling desktop application development with frontend technologies. I've covered this framework in detail in previous blog posts and appreciate its seamless integration between Go backend logic and modern frontend interfaces.&lt;/p&gt;




&lt;h2&gt;
  
  
  Secondary Programming Language: MiniScript
&lt;/h2&gt;

&lt;p&gt;Despite its niche status, &lt;strong&gt;MiniScript&lt;/strong&gt; has secured a permanent place in my programming toolkit this year.&lt;/p&gt;

&lt;h3&gt;
  
  
  Advantages:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Accessibility&lt;/strong&gt;: Even more approachable than Python for beginners&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Supportive Community&lt;/strong&gt;: Active and helpful, though relatively small&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Mini Micro Integration&lt;/strong&gt;: Tightly coupled with an excellent development environment&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Rapid Prototyping&lt;/strong&gt;: Ideal for quick implementation and testing&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Limitations:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Limited Resources&lt;/strong&gt;: Fewer tutorials and learning materials available compared to mainstream languages&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Mini Micro Environment
&lt;/h3&gt;

&lt;p&gt;Mini Micro provides what I consider the most accessible environment for creating simple games and prototypes. As I've mentioned in previous posts, it serves as an exceptional starting point for game development beginners and remains my preferred choice for game jam projects due to its rapid iteration capabilities.&lt;/p&gt;




&lt;h2&gt;
  
  
  Game Development: Godot
&lt;/h2&gt;

&lt;p&gt;While my focus has shifted toward software development using Go and Wails, &lt;strong&gt;Godot&lt;/strong&gt; remains my engine of choice for game projects.&lt;/p&gt;

&lt;h3&gt;
  
  
  Strengths:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Lightweight&lt;/strong&gt;: Minimal resource requirements&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Performance&lt;/strong&gt;: Responsive even on modest hardware&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Open Source&lt;/strong&gt;: Complete transparency and community-driven development&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Comprehensive Features&lt;/strong&gt;: Well-rounded out-of-the-box experience&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GD Script&lt;/strong&gt;: Purpose-built scripting language optimized for game development&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Considerations:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;3D Performance&lt;/strong&gt;: While improving, still trails dedicated 3D engines in some scenarios&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Asset Pipeline&lt;/strong&gt;: Occasionally requires additional configuration compared to Unity&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Development Tools and Software
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Daily Drivers:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Brave&lt;/strong&gt;: Primary web browser for development and browsing&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Zed&lt;/strong&gt;: Code editor of choice for its speed and minimal resource usage&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Notepad++&lt;/strong&gt;: Lightweight text editor for quick notes and file edits&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Aseprite&lt;/strong&gt;: Specialized pixel art creation and editing&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Knowledge Management&lt;/strong&gt;: Currently evaluating Logseq after extensive Obsidian use&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Version Control&lt;/strong&gt;: Git with GitHub for all project management&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Audio Processing&lt;/strong&gt;: Audacity for editing and format conversion&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Screen Recording&lt;/strong&gt;: Streamlabs despite OBS's lighter footprint, for specific workflow advantages&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Device Mirroring&lt;/strong&gt;: ScrCpy for seamless phone-to-computer connectivity&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Android Applications:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Pie Launcher&lt;/strong&gt;: Minimal, open-source app launcher that revitalizes older devices&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Termux&lt;/strong&gt;: Powerful terminal environment for mobile development tasks&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;This technology stack represents my current equilibrium between performance, productivity, and personal preference. Each tool has earned its place through extensive use and demonstrated value in my daily workflow.&lt;/p&gt;

&lt;p&gt;While technology preferences remain highly personal, this configuration has proven exceptionally effective for my specific needs across software development, content creation, and game development projects.&lt;/p&gt;

&lt;p&gt;As the tech landscape continues to evolve, I remain open to exploring new tools that might enhance my workflow, but for now, this stack provides the perfect balance of capability and comfort.&lt;/p&gt;




&lt;h2&gt;
  
  
  Resource Links
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Brave Browser&lt;/strong&gt;: &lt;a href="https://brave.com/" rel="noopener noreferrer"&gt;https://brave.com/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Zed Editor&lt;/strong&gt;: &lt;a href="https://zed.dev/" rel="noopener noreferrer"&gt;https://zed.dev/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Mini Micro&lt;/strong&gt;: &lt;a href="https://miniscript.org/MiniMicro/index.html#about" rel="noopener noreferrer"&gt;https://miniscript.org/MiniMicro/index.html#about&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Wails Framework&lt;/strong&gt;: &lt;a href="https://wails.io/" rel="noopener noreferrer"&gt;https://wails.io/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Godot Engine&lt;/strong&gt;: &lt;a href="https://godotengine.org/" rel="noopener noreferrer"&gt;https://godotengine.org/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Aseprite&lt;/strong&gt;: &lt;a href="https://www.aseprite.org/" rel="noopener noreferrer"&gt;https://www.aseprite.org/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Scrcpy&lt;/strong&gt;: &lt;a href="https://github.com/Genymobile/scrcpy" rel="noopener noreferrer"&gt;https://github.com/Genymobile/scrcpy&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Streamlabs&lt;/strong&gt;: &lt;a href="https://streamlabs.com/" rel="noopener noreferrer"&gt;https://streamlabs.com/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Audacity&lt;/strong&gt;: &lt;a href="https://www.audacityteam.org/" rel="noopener noreferrer"&gt;https://www.audacityteam.org/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Notepad++&lt;/strong&gt;: &lt;a href="https://notepad-plus-plus.org/" rel="noopener noreferrer"&gt;https://notepad-plus-plus.org/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pie Launcher&lt;/strong&gt;: &lt;a href="https://f-droid.org/en/packages/de.markusfisch.android.pielauncher/" rel="noopener noreferrer"&gt;https://f-droid.org/en/packages/de.markusfisch.android.pielauncher/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GitHub&lt;/strong&gt;: &lt;a href="https://github.com/" rel="noopener noreferrer"&gt;https://github.com/&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Detailed Written Reviews:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;EXPERIENCE: MINI MICRO&lt;/strong&gt;: &lt;a href="https://dev.to/kartik_patel/experience-mini-micro-4gp4"&gt;My Experience With Mini Micro&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;EXPERIENCE: ZED CODE EDITOR&lt;/strong&gt;: &lt;a href="https://dev.to/kartik_patel/experience-zed-code-editor-2fb2"&gt;My Experience With Zed Code Editor&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Video Experiences:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;EXPERIENCE: BRAVE&lt;/strong&gt;: &lt;a href="https://youtu.be/rPdWr5kV4jE?si=_P3pfLZ6P51MdEoB" rel="noopener noreferrer"&gt;The Brave Browser Experience&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;EXPERIENCE: MINI MICRO&lt;/strong&gt;: &lt;a href="https://youtu.be/zyihNwS2epU?si=s3XHQBs47M1mQ_XI" rel="noopener noreferrer"&gt;The Mini Micro Experience&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Connect With Me:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;YouTube Channel&lt;/strong&gt;: &lt;a href="https://www.youtube.com/@DatonedevYT/videos" rel="noopener noreferrer"&gt;DatonedevYT&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Discord Community&lt;/strong&gt;: &lt;a href="https://discord.gg/qStHEDfge7" rel="noopener noreferrer"&gt;Join our development discussions&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;em&gt;This post is part of my Experience Series, documenting my journey with various development tools and technologies.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>tech</category>
      <category>softwaredevelopment</category>
      <category>git</category>
      <category>gamedev</category>
    </item>
    <item>
      <title>EXPERIENCE: MINI MICRO</title>
      <dc:creator>Kartik Patel</dc:creator>
      <pubDate>Tue, 25 Nov 2025 05:39:28 +0000</pubDate>
      <link>https://forem.com/kartik_patel/experience-mini-micro-4gp4</link>
      <guid>https://forem.com/kartik_patel/experience-mini-micro-4gp4</guid>
      <description>&lt;h1&gt;
  
  
  My Experience With Mini Micro
&lt;/h1&gt;

&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;This is another installment in my &lt;strong&gt;Experience Series&lt;/strong&gt;, where I share detailed reviews of the tools and software I use daily. Previously, I've covered topics like the Zed code editor and Brave browser in video format, but I thought it was time to bring this experience to written form as well.&lt;/p&gt;

&lt;p&gt;Today, I want to discuss a tool that many of my viewers have asked about but few truly understand—&lt;strong&gt;Mini Micro&lt;/strong&gt;. Despite being relatively unknown in mainstream game development circles, it's a tool that has significantly shaped my approach to game development.&lt;/p&gt;

&lt;p&gt;Before we begin, I want to clarify that this represents my personal experience. Your mileage may vary depending on your background, preferences, and use cases.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why I Started With Mini Micro
&lt;/h2&gt;

&lt;p&gt;My approach to tools has always leaned toward simplicity and minimalism. When I began my game development journey, I was looking for an environment that was:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Simple to understand and use&lt;/li&gt;
&lt;li&gt;Built from the ground up for learning&lt;/li&gt;
&lt;li&gt;Not overwhelmed by excessive hype or complexity&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Initially, I experimented with Love2D, but as a framework rather than a complete environment, it presented a significant barrier for beginners. Staring at a blank framework can feel overwhelming when you're just starting out.&lt;/p&gt;

&lt;p&gt;Mini Micro offered a different approach. It provided everything I needed in one package: simplicity, built-in development tools, and an active community through Micro Jam. While it took some time to grow on me, it eventually became one of my preferred development environments.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why Mini Micro Stands Out
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Ideal for Beginners
&lt;/h3&gt;

&lt;p&gt;Many aspiring game developers begin with complex engines like Unreal or C++-based environments, only to find themselves overwhelmed and discouraged. The learning curve can extinguish motivation quickly.&lt;/p&gt;

&lt;p&gt;Mini Micro addresses this by making coding accessible and enjoyable. For those who struggle with procrastination or motivation, starting with an engaging environment can make the difference between abandoning game development and building a lasting skill set.&lt;/p&gt;

&lt;p&gt;There's a significant difference between copying code from external sources and genuinely understanding programming concepts. Mini Micro encourages the latter by creating an environment where learning to code is intrinsically rewarding. This foundation makes transitioning to more advanced engines like Godot considerably smoother.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Streamlined Simplicity
&lt;/h3&gt;

&lt;p&gt;The simplicity of Mini Micro is one of its greatest strengths. While Love2D offers minimalism, it lacks the built-in utilities that make development straightforward for beginners.&lt;/p&gt;

&lt;p&gt;For example, implementing collision detection in many environments requires complex mathematical calculations and radius checks. Mini Micro simplifies these common game development tasks with intuitive functions and clear syntax.&lt;/p&gt;

&lt;p&gt;This simplicity shouldn't be mistaken for limitation. By reducing syntactic complexity, Mini Micro allows developers to focus on solving actual game design problems rather than battling with the development environment.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. User-Friendly Interface
&lt;/h3&gt;

&lt;p&gt;Many game development environments suffer from interface overload. Opening tools like GameMaker for the first time can be overwhelming, with countless buttons, panels, and options competing for attention.&lt;/p&gt;

&lt;p&gt;Mini Micro takes the opposite approach. The interface is clean and distraction-free, consisting of two main workspaces:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A terminal interface that provides a minimal, focused environment for coding&lt;/li&gt;
&lt;li&gt;A built-in code editor with basic tools and customizable themes&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This streamlined approach allows developers to concentrate on what matters most: creating games.&lt;/p&gt;




&lt;h2&gt;
  
  
  My Personal Experience
&lt;/h2&gt;

&lt;p&gt;My experience with Mini Micro has been overwhelmingly positive. While I occasionally encounter challenges or limitations, the supportive community has consistently provided assistance and guidance.&lt;/p&gt;

&lt;p&gt;In my assessment of game development environments, Mini Micro occupies the top tier for educational use and prototyping. For beginners interested in game development, I strongly recommend starting with Mini Micro before exploring more complex engines like Unity or Unreal.&lt;/p&gt;

&lt;p&gt;The foundation it builds in programming logic and game design principles proves valuable regardless of what tools you use later in your development journey.&lt;/p&gt;




&lt;h3&gt;
  
  
  My Links
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;YouTube:&lt;/strong&gt; &lt;a href="https://www.youtube.com/@DatonedevYT" rel="noopener noreferrer"&gt;https://www.youtube.com/@DatonedevYT&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Discord:&lt;/strong&gt; &lt;a href="https://discord.gg/qStHEDfge7" rel="noopener noreferrer"&gt;https://discord.gg/qStHEDfge7&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;MINI MICRO EXPERIENCE: VIDEO VERSION:&lt;/strong&gt; &lt;a href="https://youtu.be/zyihNwS2epU?si=D3Vykz3O4Ed4BK_A" rel="noopener noreferrer"&gt;https://youtu.be/zyihNwS2epU?si=D3Vykz3O4Ed4BK_A&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you have experiences with Mini Micro or recommendations for other tools I should explore, I welcome your insights in the comments.&lt;/p&gt;

</description>
      <category>minimicro</category>
      <category>miniscript</category>
      <category>gamedev</category>
    </item>
  </channel>
</rss>
