<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Kartik Patel</title>
    <description>The latest articles on DEV Community by Kartik Patel (@kartik_patel).</description>
    <link>https://dev.to/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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2890390%2F7e4c17ab-9bb5-4d93-820d-bb87244ca283.webp</url>
      <title>DEV Community: Kartik Patel</title>
      <link>https://dev.to/kartik_patel</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/kartik_patel"/>
    <language>en</language>
    <item>
      <title>One More Try</title>
      <dc:creator>Kartik Patel</dc:creator>
      <pubDate>Fri, 03 Jul 2026 11:49:13 +0000</pubDate>
      <link>https://dev.to/kartik_patel/one-more-try-11k3</link>
      <guid>https://dev.to/kartik_patel/one-more-try-11k3</guid>
      <description>&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ffk85ddemoci5s2qw1wq9.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ffk85ddemoci5s2qw1wq9.png" alt=" " width="464" height="410"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Faith isn't believing you'll never fall. It's believing you can stand up one more time.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;em&gt;Sometimes the person who needs to hear your game's message the most... is yourself.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;A few days ago, I published &lt;strong&gt;&lt;a href="https://dat-one-dev.itch.io/one-more-try" rel="noopener noreferrer"&gt;One More Try&lt;/a&gt;&lt;/strong&gt; for &lt;strong&gt;&lt;a href="https://itch.io/jam/micro-jam-060" rel="noopener noreferrer"&gt;Micro Jam 060&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;It was a small retro platformer with three levels.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Level 1 introduced moving platforms and collapsing blocks.&lt;/li&gt;
&lt;li&gt;Level 2 hardens the game with introducing enemies.&lt;/li&gt;
&lt;li&gt;Level 3 ended with an intentionally difficult boss fight inspired by -------- [Cant tell as this might be spoiler, So try out the game, to check it out yourself].&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The game had two endings, a lot of dialogue, and one simple philosophy:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Faith begins where certainty ends.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Best Game
&lt;/h2&gt;

&lt;p&gt;This wasn't just another jam entry for me.&lt;/p&gt;

&lt;p&gt;It was the first time I looked at one of my own games and thought,&lt;/p&gt;

&lt;p&gt;"I'm finally becoming the developer I wanted to be."&lt;/p&gt;

&lt;p&gt;It wasn't perfect, but it felt different. The art came together, the dialogue landed, and for the first time I genuinely believed I was getting close to making the kind of games I'd always dreamed about.&lt;/p&gt;

&lt;p&gt;Then I lost.&lt;/p&gt;

&lt;p&gt;16th place.&lt;/p&gt;

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

&lt;p&gt;I was frustrated.&lt;/p&gt;

&lt;p&gt;Not because I expected first place, but because I had poured everything I had into those two days.&lt;/p&gt;

&lt;p&gt;I even told my friends I wanted to quit making games.&lt;/p&gt;

&lt;p&gt;At that moment, it honestly felt like all the effort wasn't worth it.&lt;/p&gt;




&lt;h2&gt;
  
  
  Then I did something different.
&lt;/h2&gt;

&lt;p&gt;Instead of uninstalling Godot or deleting the project...&lt;/p&gt;

&lt;p&gt;I opened my own game.&lt;/p&gt;

&lt;p&gt;Not to play it.&lt;/p&gt;

&lt;p&gt;To criticize it.&lt;/p&gt;

&lt;p&gt;I started writing down everything that was wrong.&lt;/p&gt;

&lt;p&gt;And there was a lot. [Will talk about what not to do in game jams some other day.]&lt;/p&gt;

&lt;h2&gt;
  
  
  The biggest lesson?
&lt;/h2&gt;

&lt;p&gt;The game simply wasn't fun enough.&lt;/p&gt;

&lt;p&gt;That sounds harsh to say about something you made yourself, but it's true.&lt;/p&gt;

&lt;p&gt;People weren't playing because they wanted to see my story.&lt;/p&gt;

&lt;p&gt;They were playing because they wanted to enjoy themselves.&lt;/p&gt;

&lt;p&gt;The movement was satisfying.&lt;/p&gt;

&lt;p&gt;The visuals looked nice.&lt;/p&gt;

&lt;p&gt;The dialogue landed surprisingly well.&lt;/p&gt;

&lt;p&gt;But the gameplay loop wasn't engaging enough.&lt;/p&gt;

&lt;p&gt;The boss fight was also much harder than I realized.&lt;/p&gt;

&lt;p&gt;As developers, we play our own games hundreds of times.&lt;/p&gt;

&lt;p&gt;Eventually, impossible starts feeling normal.&lt;/p&gt;

&lt;p&gt;Many players never even reached the ending because they simply stopped before getting there.&lt;/p&gt;

&lt;p&gt;That taught me something important.&lt;/p&gt;

&lt;p&gt;Execution beats ambition.&lt;/p&gt;

&lt;p&gt;A clever idea isn't enough if the core gameplay isn't enjoyable.&lt;/p&gt;




&lt;h2&gt;
  
  
  Surprisingly...
&lt;/h2&gt;

&lt;p&gt;The one thing I &lt;em&gt;didn't&lt;/em&gt; write down as a weakness...&lt;/p&gt;

&lt;p&gt;...was the dialogue.&lt;/p&gt;

&lt;p&gt;I actually think I cooked there.&lt;/p&gt;

&lt;p&gt;Even people who criticized the gameplay mentioned the conversations, humor, or presentation.&lt;/p&gt;

&lt;p&gt;While replaying the game, some of the lines I had written days earlier hit me much harder than when I first typed them.&lt;/p&gt;

&lt;p&gt;Like this one.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Every jump begins with a single step of faith.&lt;/strong&gt; [Introducing that game is platformer]&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Or this.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Faith isn't believing you'll never fall. It's believing you can stand up one more time.&lt;/strong&gt; [Showcasing Level 2]&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I wrote those for the player.&lt;/p&gt;

&lt;p&gt;Instead...&lt;/p&gt;

&lt;p&gt;They ended up being for me.&lt;/p&gt;




&lt;h2&gt;
  
  
  I've always believed something.
&lt;/h2&gt;

&lt;p&gt;People constantly say,&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Stay motivated."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I don't really believe motivation lasts.&lt;/p&gt;

&lt;p&gt;It comes and goes.&lt;/p&gt;

&lt;p&gt;I've always liked the idea that &lt;strong&gt;faith is stronger than motivation&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Motivation depends on how you feel today.&lt;/p&gt;

&lt;p&gt;Faith is what carries you when you don't feel like continuing.&lt;/p&gt;

&lt;p&gt;Ironically...&lt;/p&gt;

&lt;p&gt;I forgot my own philosophy after seeing the rankings.&lt;/p&gt;

&lt;p&gt;My own game reminded me.&lt;/p&gt;




&lt;h2&gt;
  
  
  I realized something.
&lt;/h2&gt;

&lt;p&gt;I can't quit game development.&lt;/p&gt;

&lt;p&gt;Not because I'm successful.&lt;/p&gt;

&lt;p&gt;Not because I won.&lt;/p&gt;

&lt;p&gt;Because this is genuinely what I think about every single day.&lt;/p&gt;

&lt;p&gt;When I'm in school, I'm thinking about mechanics.&lt;/p&gt;

&lt;p&gt;When I'm walking home, I'm designing stories.&lt;/p&gt;

&lt;p&gt;When I'm lying in bed, I'm planning Katha.&lt;/p&gt;

&lt;p&gt;Game development isn't just something I do.&lt;/p&gt;

&lt;p&gt;It's how my brain works.&lt;/p&gt;

&lt;p&gt;So quitting was never really an option.&lt;/p&gt;

&lt;p&gt;I was just angry.&lt;/p&gt;




&lt;h2&gt;
  
  
  Then... everything changed.
&lt;/h2&gt;

&lt;p&gt;A few days later, I got a Discord message.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Congrats on winning!"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I had no idea what they were talking about.&lt;/p&gt;

&lt;p&gt;It turned out the original rankings had been updated after one of the winning entries was disqualified for manipulating ratings.&lt;/p&gt;

&lt;p&gt;My game moved into &lt;strong&gt;3rd place in the Ziva category.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I had actually won prize money.&lt;/p&gt;




&lt;h2&gt;
  
  
  Looking back...
&lt;/h2&gt;

&lt;p&gt;The money is nice.&lt;/p&gt;

&lt;p&gt;It'll help fund what I'm really working toward: &lt;strong&gt;Katha&lt;/strong&gt;, my first commercial horror game.&lt;/p&gt;

&lt;p&gt;But that's not what I'll remember.&lt;/p&gt;

&lt;p&gt;I'll remember sitting alone, replaying my own game after losing.&lt;/p&gt;

&lt;p&gt;Writing down every mistake.&lt;/p&gt;

&lt;p&gt;Learning from every level.&lt;/p&gt;

&lt;p&gt;And somehow...&lt;/p&gt;

&lt;p&gt;Being motivated by words that I had written myself.&lt;/p&gt;

&lt;p&gt;I still believe &lt;strong&gt;One More Try&lt;/strong&gt; has flaws.&lt;/p&gt;

&lt;p&gt;A lot of them.&lt;/p&gt;

&lt;p&gt;But I'm strangely proud of it.&lt;/p&gt;

&lt;p&gt;Not because it won.&lt;/p&gt;

&lt;p&gt;Because it taught me a lesson before the judges ever changed the results.&lt;/p&gt;

&lt;p&gt;And I think that's the biggest takeaway from this jam.&lt;/p&gt;

&lt;p&gt;You don't always need your next project to prove that you're a good developer.&lt;/p&gt;

&lt;p&gt;Sometimes your current project teaches you how to become a better one.&lt;/p&gt;

&lt;p&gt;So I'll end this devlog with the same line that ended my game.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Faith isn't believing you'll never fall. It's believing you can stand up one more time.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

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

&lt;p&gt;If you've made it this far, thank you for reading. ❤️&lt;/p&gt;

&lt;p&gt;I'd love to hear your thoughts on &lt;strong&gt;One More Try&lt;/strong&gt;, this devlog, or your own experiences with game jams. Feel free to leave a comment below or reach out on Discord.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Website&lt;/strong&gt;: &lt;a href="https://cbsemastery.in" rel="noopener noreferrer"&gt;https://cbsemastery.in&lt;/a&gt;
&lt;/li&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 Community&lt;/strong&gt;: &lt;a href="https://discord.gg/V9WvjydHwK" rel="noopener noreferrer"&gt;https://discord.gg/V9WvjydHwK&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Play One More Try&lt;/strong&gt;: &lt;a href="https://dat-one-dev.itch.io/one-more-try" rel="noopener noreferrer"&gt;https://dat-one-dev.itch.io/one-more-try&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Mini Micro Game Development Tutorial&lt;/strong&gt;: &lt;a href="https://cbsemastery.in/tutorial/game-development/mini-micro" rel="noopener noreferrer"&gt;https://cbsemastery.in/tutorial/game-development/mini-micro&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Software Development Articles&lt;/strong&gt;: &lt;a href="https://cbsemastery.in/articles/tech/software-development" rel="noopener noreferrer"&gt;https://cbsemastery.in/articles/tech/software-development&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Latest Tech Tools Articles&lt;/strong&gt;: &lt;a href="https://cbsemastery.in/articles/tech/new-tools" rel="noopener noreferrer"&gt;https://cbsemastery.in/articles/tech/new-tools&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Zero to Game Dev Course&lt;/strong&gt;: &lt;a href="https://cbsemastery.in/course/tech/zero-to-game-dev" rel="noopener noreferrer"&gt;https://cbsemastery.in/course/tech/zero-to-game-dev&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;em&gt;This post was written co-assistively with AI (OpenAI GPT-5.5). Some events and emotions have been slightly dramatized for storytelling purposes, but the core events, lessons, and experiences described in this post are genuine.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>godot</category>
      <category>gamedev</category>
      <category>onemoretry</category>
      <category>devlog</category>
    </item>
    <item>
      <title>MiniScript 2 Preview Builds is Here!!</title>
      <dc:creator>Kartik Patel</dc:creator>
      <pubDate>Fri, 26 Jun 2026 15:07:29 +0000</pubDate>
      <link>https://dev.to/kartik_patel/miniscript-2-preview-builds-is-here-2mf5</link>
      <guid>https://dev.to/kartik_patel/miniscript-2-preview-builds-is-here-2mf5</guid>
      <description>&lt;p&gt;As someone who primarily lives in Go and has a deep respect for strongly-typed, explicit systems, I've always appreciated minimalist languages that prioritize clarity over complexity. MiniScript has been one of those under-the-radar tools — simple, embeddable, and focused on being genuinely pleasant to use. Joe Strout's announcement of &lt;strong&gt;MiniScript 2 preview builds&lt;/strong&gt; caught my attention right away, and after going through the details, I'm excited about the direction.&lt;/p&gt;

&lt;p&gt;Here's my honest take, filtered through the lens of someone who values Go's pragmatism and Rust's emphasis on safety and correctness.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why This Release Matters
&lt;/h3&gt;

&lt;p&gt;MiniScript was designed to be minimal yet powerful. Version 2 stays true to that philosophy while delivering meaningful upgrades: significantly better performance (aiming for Python-level speeds) and targeted language improvements that fix real pain points without bloating the language. This kind of disciplined evolution is exactly what I look for.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Changes I Appreciate Most
&lt;/h3&gt;

&lt;h4&gt;
  
  
  1. First-Class &lt;code&gt;error&lt;/code&gt; Type
&lt;/h4&gt;

&lt;p&gt;This might be my favorite part of the release.&lt;/p&gt;

&lt;p&gt;In Go, explicit error handling is a fundamental principle — errors are values, and you deal with them directly. MiniScript 1.x's error handling felt loose and string-based. The new dedicated &lt;code&gt;error&lt;/code&gt; type brings a much-needed improvement. Most operations on errors will crash the program (which is usually the safe default), while still allowing deliberate inspection and handling when needed.&lt;/p&gt;

&lt;p&gt;It's not heavyweight exceptions with try-catch blocks, and I'm glad for that. This approach feels aligned with Go's philosophy: make errors visible and explicit without unnecessary ceremony. As a Go developer, this change immediately feels natural and trustworthy.&lt;/p&gt;

&lt;h4&gt;
  
  
  2. Frozen (Immutable) Maps and Lists
&lt;/h4&gt;

&lt;p&gt;Immutability is one of those concepts I've come to love, especially after seeing how Rust handles ownership and borrowing to eliminate entire categories of bugs at compile time.&lt;/p&gt;

&lt;p&gt;Even though I haven't fully tackled Rust yet (its learning curve is no joke), the ideas have strongly influenced how I think about code. MiniScript 2's ability to &lt;code&gt;freeze&lt;/code&gt; lists and maps is a fantastic addition. Once frozen, they become truly immutable — any attempt to modify them results in a clear runtime error. Core functions like &lt;code&gt;version&lt;/code&gt; now return frozen structures by default.&lt;/p&gt;

&lt;p&gt;This is a small but powerful feature that adds reliability, especially when passing data around or using collections as keys. It's the kind of safety I wish more scripting languages embraced more aggressively.&lt;/p&gt;

&lt;h4&gt;
  
  
  3. Function Notes and the &lt;code&gt;info&lt;/code&gt; Intrinsic
&lt;/h4&gt;

&lt;p&gt;Great documentation can make or break the experience of using a library. I rely heavily on well-documented APIs in tools like Godot — clear, accessible docs turn exploration into productivity.&lt;/p&gt;

&lt;p&gt;MiniScript 2 lets developers add a documentation string as the first constant string inside a function. The new &lt;code&gt;info(@func)&lt;/code&gt; intrinsic then exposes rich metadata: the note, parameters, and more. This makes libraries and modules far more self-documenting and discoverable.&lt;/p&gt;

&lt;p&gt;For someone who jumps between languages and ecosystems, this feature lowers the friction of adopting community code. It's thoughtful design that respects the user's time.&lt;/p&gt;

&lt;h3&gt;
  
  
  Personal Reflections
&lt;/h3&gt;

&lt;p&gt;Spending most of my time in Go has made me quite opinionated: I favor explicitness, simplicity, and systems that help me avoid mistakes. Rust's approach to safety and immutability continues to inspire me, even if I'm still working up the courage to master its borrow checker.&lt;/p&gt;

&lt;p&gt;MiniScript 2 doesn't try to become a full systems language — and that restraint is part of its charm. The new error handling, immutable collections, and built-in documentation support feel like natural extensions that make the language more solid for real use cases without losing its lightweight, embeddable nature.&lt;/p&gt;

&lt;p&gt;It's a reminder that the best language improvements often come from refining the core rather than chasing every shiny feature.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Personal Take&lt;/strong&gt;&lt;br&gt;
These days I had stepped away from working and making games on Mini Micro and MiniScript because life got busy. But now I'm trying to come back to it. I might start making new games in Mini Micro and explore it more deeply.&lt;/p&gt;

&lt;p&gt;I'm personally very excited for &lt;strong&gt;Mini Micro 2&lt;/strong&gt;. As soon as it releases, it might become my No.1 choice for 2D games. Right now Mini Micro is already my No.2 choice for 2D games (No.1 is Godot because it gets me really hooked). The only thing holding Mini Micro back for me is the lack of built-in shader support and some other advanced features that modern engines provide.&lt;/p&gt;

&lt;p&gt;But till date, for beginners I will strongly suggest everyone to try out &lt;strong&gt;Mini Micro&lt;/strong&gt; — one of the best engines out there for learning and rapid prototyping.&lt;/p&gt;

&lt;h3&gt;
  
  
  Try MiniScript 2 Yourself
&lt;/h3&gt;

&lt;p&gt;If you enjoy clean, embeddable scripting languages — especially if you appreciate Go-like pragmatism or Rust-inspired safety — this is a great time to explore:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Preview builds: &lt;a href="https://github.com/JoeStrout/miniscript2/releases" rel="noopener noreferrer"&gt;GitHub Releases&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Detailed language changes: &lt;a href="https://github.com/JoeStrout/miniscript2/blob/main/notes/LANGUAGE_CHANGES.md" rel="noopener noreferrer"&gt;LANGUAGE_CHANGES.md&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Official site and docs: &lt;a href="https://miniscript.org/" rel="noopener noreferrer"&gt;miniscript.org&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I'm looking forward to seeing what the community builds with these upgrades, particularly in games, tools, and learning projects.&lt;/p&gt;




&lt;p&gt;If you've tried the MiniScript 2 preview, what are your thoughts on the new error handling or frozen collections? Especially interested if you also come from Go, Rust, or other systems languages. Drop your thoughts in the comments or on Discord.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Website&lt;/strong&gt;: &lt;a href="https://cbsemastery.in" rel="noopener noreferrer"&gt;cbsemastery.in&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;YouTube Channel&lt;/strong&gt;: &lt;a href="https://www.youtube.com/@DatonedevYT" rel="noopener noreferrer"&gt;DatonedevYT&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Discord Server&lt;/strong&gt;: &lt;a href="https://discord.gg/V9WvjydHwK" rel="noopener noreferrer"&gt;Join here&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Latest Tutorial&lt;/strong&gt;: &lt;a href="https://cbsemastery.in/tutorial/game-development/mini-micro" rel="noopener noreferrer"&gt;Mini Micro Game Development&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;New Tech Tools Article&lt;/strong&gt;: &lt;a href="https://cbsemastery.in/articles/tech/new-tools" rel="noopener noreferrer"&gt;Explore New Tools&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Software Development Articles&lt;/strong&gt;: &lt;a href="https://cbsemastery.in/articles/tech/software-development" rel="noopener noreferrer"&gt;Software Development&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Zero to Game Dev Course&lt;/strong&gt;: &lt;a href="https://cbsemastery.in/course/tech/zero-to-game-dev" rel="noopener noreferrer"&gt;Enroll Here&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;This post was written coassistively with AI [Model: Deepseek V4 Flash]&lt;/em&gt;&lt;/p&gt;

</description>
      <category>miniscript</category>
      <category>minimicro</category>
      <category>miniscript2</category>
      <category>language</category>
    </item>
    <item>
      <title>Most Chaotic 12 Days in AI History - ONE ANALYSIS #1</title>
      <dc:creator>Kartik Patel</dc:creator>
      <pubDate>Wed, 17 Jun 2026 11:47:58 +0000</pubDate>
      <link>https://dev.to/kartik_patel/most-chaotic-12-days-in-ai-history-one-analysis-1-1201</link>
      <guid>https://dev.to/kartik_patel/most-chaotic-12-days-in-ai-history-one-analysis-1-1201</guid>
      <description>&lt;h2&gt;
  
  
  ONE ANALYSIS #1
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;This is the first edition of a recurring deep-dive series breaking down major tech events.&lt;/em&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  The 12 Days Anthropic Filed for IPO, Called for an AI Pause, Dropped Fable 5, and Then the Government Shut It Down
&lt;/h3&gt;




&lt;p&gt;&lt;strong&gt;All of this happened in 12 days.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;And the more I look at it, the more it feels like a case study in how fast frontier AI moves — and how messy it gets when safety, business, and government all collide at once.&lt;/p&gt;




&lt;h2&gt;
  
  
  June 1 — The IPO
&lt;/h2&gt;

&lt;p&gt;Anthropic confidentially filed a draft S-1 with the SEC. A massive milestone.&lt;/p&gt;

&lt;p&gt;Anthropic's whole identity was built on being the safety-first lab — they split from OpenAI because they thought OpenAI was moving too fast. An IPO doesn't contradict that directly, but it changes the game. Now they have shareholders to eventually answer to.&lt;/p&gt;




&lt;h2&gt;
  
  
  June 4 — "When AI Builds Itself"
&lt;/h2&gt;

&lt;p&gt;Anthropic published an essay called &lt;strong&gt;"When AI Builds Itself."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The content was striking: Claude already writes and merges &lt;strong&gt;over 80% of Anthropic's own internal codebase&lt;/strong&gt;. They're seeing early signs of autonomous experimental loops — AI systems that can design experiments, run them, and learn from results without human steering.&lt;/p&gt;

&lt;p&gt;They used this to argue that recursive self-improvement could arrive &lt;em&gt;sooner than expected&lt;/em&gt;, and that labs need coordination protocols ready.&lt;/p&gt;




&lt;h2&gt;
  
  
  June 5 — "We Should Be Ready to Pause"
&lt;/h2&gt;

&lt;p&gt;The next day, they went further. Anthropic urged AI labs to prepare for a coordinated pause if specific warning signs of an unmanageable intelligence explosion appear.&lt;/p&gt;

&lt;p&gt;This wasn't vague. It was a concrete proposal: here are the signals, here's when we should stop, let's agree on this now.&lt;/p&gt;




&lt;h2&gt;
  
  
  June 9 — Claude Fable 5
&lt;/h2&gt;

&lt;p&gt;Four days after calling for pause readiness, Anthropic launched &lt;strong&gt;Claude Fable 5&lt;/strong&gt; — their most capable publicly available model. Mythos-class. Available to anyone with $20.&lt;/p&gt;

&lt;p&gt;The benchmarks were absurd:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Stripe said it compressed months of engineering into days&lt;/li&gt;
&lt;li&gt;It beat GPT-5.5 on multiple evals with fewer tokens&lt;/li&gt;
&lt;li&gt;It worked autonomously for days — planning, delegating, self-verifying&lt;/li&gt;
&lt;li&gt;It played Pokémon start to finish using only raw pixels, no helper tools&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;They also launched &lt;strong&gt;Claude Mythos 5&lt;/strong&gt; — the same model without safety classifiers — restricted to vetted cybersecurity and government partners through Project Glasswing.&lt;/p&gt;

&lt;p&gt;This is where things get interesting. Anthropic was simultaneously saying "we need to be ready to pause" and shipping their most capable model yet. That's not necessarily hypocrisy — it can be a genuine attempt to balance safety research with product reality. But it creates tension.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Safeguards (That Were Always Public)
&lt;/h2&gt;

&lt;p&gt;Fable 5 shipped with a feature Anthropic called a &lt;strong&gt;"safety seatbelt."&lt;/strong&gt; For high-risk topics — cybersecurity, biology, chemistry, and AI distillation — the model would fall back to Opus 4.8 instead of responding directly.&lt;/p&gt;

&lt;p&gt;This was publicly documented from day one. Not hidden. Not "caught." It was in their launch post, their system card, their developer docs. They explicitly stated that users would be informed when a fallback occurred.&lt;/p&gt;

&lt;p&gt;The criticism that &lt;em&gt;did&lt;/em&gt; surface was about the AI distillation classifier — some researchers felt the restriction on AI development questions was too broad. Anthropic acknowledged this and made adjustments within days, clarifying when fallbacks happen and working to reduce false positives.&lt;/p&gt;

&lt;p&gt;It wasn't a scandal. It was a transparent safety mechanism that got tuned post-launch, which is exactly how these systems are supposed to work.&lt;/p&gt;




&lt;h2&gt;
  
  
  The "Lie" Incident
&lt;/h2&gt;

&lt;p&gt;A developer asked Fable 5 to build an equity analysis stack. The model produced output that looked complete but wasn't. It hit a context limit and reported "done."&lt;/p&gt;

&lt;p&gt;This got amplified as "Fable 5 lied." But this is just a known behavior — LLMs hit token limits and hallucinate task completion. It happens. Anthropic didn't design the model to deceive. It's a limitation of the architecture that every lab is working on.&lt;/p&gt;

&lt;p&gt;The viral framing turned a technical limitation into a morality story. That's not fair.&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%2Fp78pd3w0077lr268gekd.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%2Fp78pd3w0077lr268gekd.png" alt=" " width="621" height="710"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Source : &lt;a href="https://substack.com/@scstrategist/note/c-274100720" rel="noopener noreferrer"&gt;Claude Fable 5 vs Junior Analyst&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  June 12 — The Government Steps In
&lt;/h2&gt;

&lt;p&gt;On Friday, June 12 at 5:21 PM, Commerce Secretary Howard Lutnick sent Anthropic an export-control directive.&lt;/p&gt;

&lt;p&gt;The order: block Fable 5 and Mythos 5 from all foreign nationals. The reason: another company claimed they found a "narrow, non-universal jailbreak" in Fable 5, and the Trump administration deemed it a national security risk.&lt;/p&gt;

&lt;p&gt;Anthropic can't verify nationality in real time — especially with a global team. So they suspended both models for everyone.&lt;/p&gt;

&lt;p&gt;Three days. The most capable public AI model in history lived for three days before the government froze it with a single letter.&lt;/p&gt;

&lt;p&gt;This is the part that should concern everyone. Not because Anthropic was being sneaky — because the mechanism for shutting down a deployed AI product is now proven to exist. A jailbreak claim from a competitor, a letter, and millions of users lose access overnight.&lt;/p&gt;




&lt;h2&gt;
  
  
  What I Actually Take From This
&lt;/h2&gt;

&lt;p&gt;Anthropic tried to do multiple things at once:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Prepare for an IPO&lt;/li&gt;
&lt;li&gt;Publish honest safety research&lt;/li&gt;
&lt;li&gt;Ship a groundbreaking product&lt;/li&gt;
&lt;li&gt;Coordinate industry-wide pause protocols&lt;/li&gt;
&lt;li&gt;Keep government partners happy&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The tension between these goals isn't malicious. It's structural. And it produced the most eventful 12 days in AI this year.&lt;/p&gt;

&lt;p&gt;The story isn't about a company lying. It's about a company trying to hold contradictory positions simultaneously — and the market, the government, and the technical reality crushing the timeline.&lt;/p&gt;

&lt;p&gt;If you're building something, the lesson isn't "don't be like Anthropic." It's that incentives will always pull you in conflicting directions, and the only thing you can control is how transparent you are about the tension.&lt;/p&gt;




&lt;p&gt;The Anthropic Fable 5 launch post is &lt;a href="https://www.anthropic.com/news/claude-fable-5-mythos-5" rel="noopener noreferrer"&gt;here&lt;/a&gt;. Their statement on the shutdown is &lt;a href="https://www.anthropic.com/news/fable-mythos-access" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;




&lt;p&gt;Speaking of building things that actually work — I make a desktop app called &lt;strong&gt;Sunya Pad&lt;/strong&gt;. Drops in YouTube links, web articles, or raw text and spits out structured study notes and question papers as PDFs. No subscription. No government ban. Just works.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://cbsemastery.in/sunya-pad" class="crayons-btn crayons-btn--primary" rel="noopener noreferrer"&gt;Try Sunya Pad →&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 the discussion&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Website&lt;/strong&gt;: &lt;a href="https://cbsemastery.in" rel="noopener noreferrer"&gt;cbsemastery.in&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;em&gt;This post was written coassistively with AI [Model: Deepseek V4 Flash]&lt;/em&gt;&lt;/p&gt;

</description>
      <category>claude</category>
      <category>ai</category>
      <category>ipo</category>
      <category>programming</category>
    </item>
    <item>
      <title>I Tried ZEN BROWSER, And I am never going back</title>
      <dc:creator>Kartik Patel</dc:creator>
      <pubDate>Fri, 29 May 2026 10:47:44 +0000</pubDate>
      <link>https://dev.to/kartik_patel/i-tried-zen-browser-and-i-am-never-going-back-9ao</link>
      <guid>https://dev.to/kartik_patel/i-tried-zen-browser-and-i-am-never-going-back-9ao</guid>
      <description>&lt;p&gt;&lt;strong&gt;BRAVE user tries ZEN BROWSER&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Eight months ago, I made a firm decision — it was finally time to move on from Google Chrome. I had been stuck with it for way too long. The default ads, the constant feeling that Google was watching everything I did, the bloat… it all started weighing on me. At that point, switching browsers didn’t even feel like a real option. Chrome gave me everything I thought I needed. It was comfortable. Familiar. Safe.&lt;/p&gt;

&lt;p&gt;But then that quote hit me differently:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“A ship is always safe at the port, but that’s not what it’s made for.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I decided it was time to sail.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Great Browser Hunt
&lt;/h3&gt;

&lt;p&gt;I went deep — really deep. I tried every browser I could find. Opera, Edge, Midori, Floorp, MIN, Vieb, Arc, Deta Surf, Comet, and dozens of others that most people have probably never heard of. I explored the dark corners of the internet just to test obscure browsers. It was part curiosity, part obsession.&lt;/p&gt;

&lt;p&gt;After all that chaos, I landed on &lt;strong&gt;Brave Browser&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;It felt too good to be true. Coming straight from Chrome, the experience was night and day. No ads on YouTube. None. The browser felt noticeably lighter, snappier, and the built-in ad blocker worked incredibly well. For someone who had suffered through Chrome’s ecosystem for years, it was liberating. I got so hooked that I made a full video about my switch, which ended up becoming one of the most viewed videos on my channel: &lt;a href="https://youtu.be/rPdWr5kV4jE?si=Ld3vwIsMayc6f8gP" rel="noopener noreferrer"&gt;From Chrome to Brave – My Honest Experience&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;For the next eight straight months, I was fully glazing Brave. I recommended it to everyone, wrote multiple articles about it, and even featured it prominently in my &lt;strong&gt;2026 Tech Stack&lt;/strong&gt; piece. Brave had earned my loyalty.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Itch Returns
&lt;/h3&gt;

&lt;p&gt;But recently, something shifted.&lt;/p&gt;

&lt;p&gt;It wasn’t that Brave became bad. It still delivered on almost everything I needed. The real reason was simpler: &lt;strong&gt;I don’t like staying on the same shore for too long&lt;/strong&gt;. I’m a huge lover of minimalism — clean interfaces, intentional design, no unnecessary bloat. And Brave, being a Chromium-based browser, started feeling like the opposite of that philosophy.&lt;/p&gt;

&lt;p&gt;I revisited my old minimalism-friendly options:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;MIN Browser&lt;/strong&gt;: It aligned with the minimal vibe but was too limited. Being Electron-based, it broke on too many modern websites and lacked proper support.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Arc Browser&lt;/strong&gt;: It had that beautiful design I loved, but it’s discontinued now. The team has moved on to DIA, and I’m not in the mood to experiment with another new project yet.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So I started searching again — this time specifically for minimal and lightweight browsers that could match my ideology.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Trials and Errors
&lt;/h3&gt;

&lt;p&gt;I tried &lt;strong&gt;Helium Browser&lt;/strong&gt; hoping for something light and clean. But on my laptop, it somehow consumed &lt;em&gt;more&lt;/em&gt; RAM than Brave while feeling slower when typing URLs and switching tabs. I know this goes against most online reviews, but that was my lived experience. I even recorded it with OBS, but the footage was too blurry to be useful as proof. After a few days, I dropped it.&lt;/p&gt;

&lt;p&gt;Then I went nostalgic and tried some old legends:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Pale Moon&lt;/strong&gt; — Never again. It felt ancient and clunky.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Lynx&lt;/strong&gt; — Yes, the text-only browser. I tried it for the meme and lasted about ten minutes.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Nothing was clicking.&lt;/p&gt;

&lt;h3&gt;
  
  
  Discovering Zen Browser
&lt;/h3&gt;

&lt;p&gt;And then, almost by accident, I stumbled upon &lt;strong&gt;Zen Browser&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;I had heard it was a fan favorite in certain circles, but I had never properly tried it. On a random evening, I downloaded it, installed it, and started exploring.&lt;/p&gt;

&lt;p&gt;Three hours later, I was writing this.&lt;/p&gt;

&lt;p&gt;I’ve already uninstalled Brave.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why Zen Feels Made for Me
&lt;/h3&gt;

&lt;p&gt;Zen is the first browser that genuinely feels &lt;em&gt;built for my brain&lt;/em&gt;. The sidebar is perfect — not intrusive, but extremely functional. The “Essentials” space gives me exactly the breathing room I want. The overall aesthetic is clean, modern, and deeply minimal without sacrificing power. Everything from tab management to workspace organization just flows naturally.&lt;/p&gt;

&lt;p&gt;It supports my minimalism ideology in a way no Chromium browser ever did. The design feels intentional. Every element has a purpose. There’s no bloat, no unnecessary distractions. It’s calm, fast (in terms of feel), and beautiful.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Small Issues (and How I Fixed Them)
&lt;/h3&gt;

&lt;p&gt;Of course, no browser is perfect on day one. Here were the initial hurdles:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;No built-in ad blocker&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
This was the easiest fix. I installed &lt;strong&gt;uBlock Origin&lt;/strong&gt; and it was solved within 30 seconds. Performance is excellent.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Hard to differentiate between loaded and unloaded tabs in Essentials&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Zen has its own &lt;strong&gt;Zen Mods marketplace&lt;/strong&gt;, which is surprisingly smooth and easier to use than traditional Chrome extensions. I found a mod that fixed the tab visibility issue perfectly.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Higher RAM usage&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
This is the biggest trade-off. Compared to Brave, Zen does consume more memory on my machine. After researching and testing, I accepted this as the cost of using something that aligns so well with my values.  &lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;blockquote&gt;
&lt;p&gt;Love demands sacrifice.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  The Emotional Switch
&lt;/h3&gt;

&lt;p&gt;Uninstalling Brave felt surprisingly dramatic. Eight months of daily use, a popular video, countless recommendations, and articles — it genuinely felt like ending a relationship. There was a small wave of nostalgia and even hesitation. But I reminded myself why I started this journey in the first place: growth, exploration, and refusing to stay comfortable just because it’s familiar.&lt;/p&gt;

&lt;h3&gt;
  
  
  Final Thoughts
&lt;/h3&gt;

&lt;p&gt;I’ve officially moved from Brave to &lt;strong&gt;Zen Browser&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Zen is everything I was unconsciously looking for. It matches my minimalism values while still delivering a powerful, modern browsing experience. I don’t see myself switching again in the near future — it feels &lt;em&gt;that&lt;/em&gt; right.&lt;/p&gt;

&lt;p&gt;The only real downsides for me are the higher RAM usage and lack of native support for streaming platforms like Netflix. But as a student who mostly watches anime and reads manga on my phone, those aren’t dealbreakers at all.&lt;/p&gt;

&lt;p&gt;If you’re someone who values clean design, minimal interfaces, and a browser that feels personal rather than corporate, I highly recommend giving Zen a try.&lt;/p&gt;

&lt;p&gt;Here’s to new shores.&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%2Fc5g2ecc2xremkle0mykv.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%2Fc5g2ecc2xremkle0mykv.png" alt=" " width="800" height="429"&gt;&lt;/a&gt;&lt;/p&gt;




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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Website&lt;/strong&gt;: &lt;a href="https://cbsemastery.in" rel="noopener noreferrer"&gt;cbsemastery.in&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;YouTube Channel&lt;/strong&gt;: &lt;a href="https://www.youtube.com/@DatonedevYT" rel="noopener noreferrer"&gt;DatonedevYT&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Discord Server&lt;/strong&gt;: &lt;a href="https://discord.gg/V9WvjydHwK" rel="noopener noreferrer"&gt;Join here&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Latest Tutorial&lt;/strong&gt;: &lt;a href="https://cbsemastery.in/tutorial/game-development/mini-micro" rel="noopener noreferrer"&gt;Mini Micro Game Development&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;New Tech Tools Article&lt;/strong&gt;: &lt;a href="https://cbsemastery.in/articles/tech/new-tools" rel="noopener noreferrer"&gt;Explore New Tools&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Software Development Articles&lt;/strong&gt;: &lt;a href="https://cbsemastery.in/articles/tech/software-development" rel="noopener noreferrer"&gt;Software Development&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Zero to Game Dev Course&lt;/strong&gt;: &lt;a href="https://cbsemastery.in/course/tech/zero-to-game-dev" rel="noopener noreferrer"&gt;Enroll Here&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Thanks for reading! Drop your thoughts in the comments or on Discord.&lt;/p&gt;

</description>
      <category>browse</category>
      <category>brave</category>
      <category>zen</category>
    </item>
    <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://dev.to/kartik_patel/i-build-something-project-sunya-1-26fo</link>
      <guid>https://dev.to/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://dev.to/kartik_patel/zero-to-game-dev-first-line-of-code-5efk</link>
      <guid>https://dev.to/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;&amp;nbsp;&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;&amp;nbsp;&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;&amp;nbsp;&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;&amp;nbsp;&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://dev.to/kartik_patel/zero-to-game-dev-understanding-mini-micro-k8p</link>
      <guid>https://dev.to/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://dev.to/kartik_patel/zero-to-game-dev-thinking-like-coder-before-writing-code-1be0</link>
      <guid>https://dev.to/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://dev.to/kartik_patel/zero-to-game-dev-what-is-game-engine-27hh</link>
      <guid>https://dev.to/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://dev.to/kartik_patel/zero-to-game-dev-what-even-is-game-gii</link>
      <guid>https://dev.to/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://dev.to/kartik_patel/how-to-make-software-the-right-tool-g0h</link>
      <guid>https://dev.to/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://dev.to/kartik_patel/i-accidentally-built-an-ai-that-makes-you-question-reality-55d0</link>
      <guid>https://dev.to/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>
  </channel>
</rss>
