<?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: EmberNoGlow</title>
    <description>The latest articles on DEV Community by EmberNoGlow (@embernoglow).</description>
    <link>https://dev.to/embernoglow</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%2F3617909%2Fd3b79db8-0f98-4dd1-b5c8-7b3fbe213b86.jpg</url>
      <title>DEV Community: EmberNoGlow</title>
      <link>https://dev.to/embernoglow</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/embernoglow"/>
    <language>en</language>
    <item>
      <title>After a long journey, I've reached a deep burnout</title>
      <dc:creator>EmberNoGlow</dc:creator>
      <pubDate>Sun, 28 Jun 2026 09:04:04 +0000</pubDate>
      <link>https://dev.to/embernoglow/after-a-long-journey-ive-reached-a-deep-burnout-1o4b</link>
      <guid>https://dev.to/embernoglow/after-a-long-journey-ive-reached-a-deep-burnout-1o4b</guid>
      <description>&lt;p&gt;Hi everyone, I've been rarely posting on dev, or even being active at all. I've started thinking about it seriously.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;btw post was unstructured. I don't have the time or editorial skills, so this isn't a perfect novel, but rather raw thinking✌&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I actually started my journey 8 months ago. It all started with creating a proton mail acc, just to get a feel for all these communities. It wasn't anything serious; I thought I'd probably get banned or lose my password, and that would be the end of it. I used to dabble in Godot and watch YouTube. But soon, it became my life.&lt;/p&gt;

&lt;p&gt;The more I discovered the internet, the more time I spent on it. I started spending less time studying YouTube tutorials. So, I've become quite skilled, and now I don't enjoy watching noob videos, which make up 90% of all tutorials. I started spending more time on social media...&lt;/p&gt;

&lt;p&gt;But eventually, I asked myself, "Why?" Why am I on BSky if the algorithms don't even promote my posts past 230 followers? So, I started using it less. Because I got tired of it. I switched to Discord. But I got tired of it too, especially after finishing another jam.&lt;/p&gt;

&lt;p&gt;You might get the impression that I'm a caveman lol 💀&lt;/p&gt;




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

&lt;p&gt;I realized I was wasting my time on the wrong things. I realized I was coding less, looking for more ready-made solutions, asking the AI ​​for help...&lt;/p&gt;

&lt;p&gt;I realized my brain couldn't even come up with an idea for a casual game anymore. I realized I was burning out. And it didn't happen overnight... It took many months...&lt;/p&gt;

&lt;p&gt;Soon I began to realize... &lt;strong&gt;I DIDN'T LIKE CODING, I LIKED THE PROCESS OF LEARNING!!!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I used to enjoy discovering new things every day - watching new tutorials, watching videos of newbies like me... But I was at an intermediate level, so it just became uninteresting. &lt;strong&gt;It's just not fun anymore.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Now that I have Discord, why should I even bother googling? Why should I search for information when I can ping &lt;code&gt;@@Godot "help"&lt;/code&gt;?!&lt;/p&gt;

&lt;p&gt;I'm tired. I'm tired of being burned out. No matter what I do, it always leads to burnout. Maybe I'm just out of gray matter.&lt;/p&gt;

&lt;p&gt;I've always set limits for myself-for example, like in the previous post-if my game for game jam doesn't make it into the top 100, I'll quit game development. That's nonsense. Honestly, I don't care! What do these external factors even matter to me? A year ago, I didn't know about any of this, just poking around in the editor and playing games? And now? You know, I don't even care how you rate this post!&lt;/p&gt;

&lt;p&gt;...Okay, don't kid yourself, all these factors have become way too important... What is this, a dopamine pit? A number addiction?!&lt;/p&gt;

&lt;p&gt;I'm actually surprised how many people here, way cooler than me, are so modest about their successes lol...&lt;/p&gt;

&lt;p&gt;Okay, let's digress. If this... I just said... Okay, if you want, I can make a "Talking" post where I share the mess I was dribbling above.&lt;/p&gt;

&lt;h2&gt;
  
  
  Discuss
&lt;/h2&gt;

&lt;p&gt;After I wrote the post, I felt relieved. Not that...&lt;br&gt;
Okay, what do you think about this? Yeah, you can just say, "Go to your Godot, whiner, and cut off your internet connection" - that would be perfectly fair 👍&lt;/p&gt;

&lt;p&gt;But with each jam, I'm getting more and more disappointed - I'm finishing last... I've just finished the third jam and am waiting for the results.&lt;/p&gt;

&lt;p&gt;Or maybe I'm right? Maybe I really should throw the router out the window?&lt;/p&gt;

&lt;p&gt;Okay, I'll continue the post. It's time to stop, though I wanted to write more. Good luck, and I hope you don't experience such burnout, although I probably didn't convey the full gravity of the situation in the post, idk, I don't reread posts.&lt;br&gt;
Bye 😏&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;P.S. after reading this post, you might feel like I'm exhausted not so much by development as by social media. yes... I'd like to talk more about dev, but next time&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>discuss</category>
      <category>ai</category>
      <category>learning</category>
      <category>productivity</category>
    </item>
    <item>
      <title>I created my first game and decided to leave GameDev</title>
      <dc:creator>EmberNoGlow</dc:creator>
      <pubDate>Wed, 22 Apr 2026 17:35:39 +0000</pubDate>
      <link>https://dev.to/embernoglow/i-created-my-first-game-and-decided-to-leave-gamedev-o9n</link>
      <guid>https://dev.to/embernoglow/i-created-my-first-game-and-decided-to-leave-gamedev-o9n</guid>
      <description>&lt;p&gt;Hi all.&lt;/p&gt;

&lt;p&gt;I recently decided to create my first (which I showed publicly) game on Godot as part of &lt;a href="https://itch.io/jam/game-name-game-jam-1" rel="noopener noreferrer"&gt;Game Name Jam&lt;/a&gt;. I had 14 days and was very interested in it.&lt;/p&gt;

&lt;p&gt;I'll tell you right away. Nothing worked out for me... 😭&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%2F59zv9khj8josa24xxlzt.jpg" 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%2F59zv9khj8josa24xxlzt.jpg" alt="img" width="800" height="427"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Process
&lt;/h2&gt;

&lt;p&gt;The beginning of a jam is always more fun than the end (which I'll talk about later). I started with full enthusiasm. I decided to make a Roguelike game inspired by Hades. I used Godot, Blender and Krita.&lt;/p&gt;

&lt;h3&gt;
  
  
  1st week
&lt;/h3&gt;

&lt;p&gt;In the first week everything was fine - I successfully created a working prototype, rendered the graphics (I had a pre-render + real time style, in short a 2.5D mixture as in the reference). And perhaps this was a mistake.&lt;/p&gt;

&lt;h3&gt;
  
  
  2nd week
&lt;/h3&gt;

&lt;p&gt;The game's graphics caused huge problems. I've already overloaded my editor. I started to burn out. Lately I haven't had time to make a game. I barely published it until I completely burned out.&lt;/p&gt;

&lt;h2&gt;
  
  
  Result
&lt;/h2&gt;

&lt;p&gt;The game turned out okay, IMHO. True, there were so many bugs and crutches in the last week. What already disgusted me&lt;/p&gt;

&lt;p&gt;The players rated my game much worse than I did. And I think I agree with them, but one thing infuriated me.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Criteria&lt;/th&gt;
&lt;th&gt;Rank&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Theme&lt;/td&gt;
&lt;td&gt;#197&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Enjoyment&lt;/td&gt;
&lt;td&gt;#215&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Creativity&lt;/td&gt;
&lt;td&gt;#225&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Audio&lt;/td&gt;
&lt;td&gt;#225&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Art&lt;/td&gt;
&lt;td&gt;#229&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Overall&lt;/td&gt;
&lt;td&gt;#229&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Crap. THE ART I WORKED ON FOR A WEEK WAS RATED BELOW THE GAMEPLAY...&lt;/p&gt;

&lt;h2&gt;
  
  
  Summary
&lt;/h2&gt;

&lt;p&gt;I'm tired of it. All these game engines are garbage. I don't know. All because it is OOP. I hate OOP. Create a modular structure, etc. 👎&lt;/p&gt;

&lt;p&gt;This failure didn't really surprise me, but I'm tired of making games, so I'm leaving GameDev. I don't know when I'll be back. And is it worth it?&lt;/p&gt;

&lt;h2&gt;
  
  
  Discuss
&lt;/h2&gt;

&lt;p&gt;Do you think this is normal? (yes probably)&lt;br&gt;
What would you do if you learned about such a defeat?&lt;br&gt;
What would you choose - not to give up, or to leave anyway, so that you can possibly return (or not) with new strength?&lt;/p&gt;

&lt;p&gt;game link: &lt;a href="https://embernoglow.itch.io/skyless" rel="noopener noreferrer"&gt;itch.io&lt;/a&gt;, &lt;a href="https://github.com/EmberNoGlow/Skyless" rel="noopener noreferrer"&gt;source code&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This article may be too short, but I don't know what else to say&lt;/p&gt;

</description>
      <category>gamedev</category>
      <category>godot</category>
      <category>discuss</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Anthropic leaked the source code of Claude Code (TS), but it was immediately rewritten in Python.🤣</title>
      <dc:creator>EmberNoGlow</dc:creator>
      <pubDate>Tue, 31 Mar 2026 14:59:20 +0000</pubDate>
      <link>https://dev.to/embernoglow/anthropic-leaked-the-source-code-of-claude-code-written-in-ts-but-it-was-immediately-rewritten-in-210l</link>
      <guid>https://dev.to/embernoglow/anthropic-leaked-the-source-code-of-claude-code-written-in-ts-but-it-was-immediately-rewritten-in-210l</guid>
      <description>&lt;p&gt;Hello everyone!&lt;/p&gt;

&lt;p&gt;Today on BlueSky, I saw a post linking to a Github repository of Claude's source code, rewritten in Python.&lt;/p&gt;




&lt;p&gt;This is probably the weirdest thing that's happened this week. lol, the funniest thing is that it'll now be harder for Anthropic to demand that this code be removed because it doesn't infringe copyright.&lt;/p&gt;

&lt;p&gt;In short, as always, this is weird. I'm probably not the first to tell you this news. I don't know if it works, but the repository doesn't inspire confidence in me. The repository quickly went viral (30k+ stars in 20 minutes) and its Issues are quite spammy... &lt;/p&gt;

&lt;p&gt;By the way, he's already rebranded several times in the last half hour, so my suspicions about copyright infringement are becoming more and more confirmed.&lt;/p&gt;

&lt;p&gt;Also, the author of this "remake" has started making a port to Rust. 😨&lt;/p&gt;

&lt;h2&gt;
  
  
  Discuss
&lt;/h2&gt;

&lt;p&gt;What's your opinion? Do you think the repository will be removed?&lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/ultraworkers" rel="noopener noreferrer"&gt;
        ultraworkers
      &lt;/a&gt; / &lt;a href="https://github.com/ultraworkers/claw-code" rel="noopener noreferrer"&gt;
        claw-code
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      An agent-managed museum exhibit, built in Rust with Gajae-Code / LazyCodex — developed and maintained with no human intervention.
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Claw Code&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;
  &lt;a href="https://github.com/code-yeongyu/lazycodex" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/259ff94ddf2a43588c51b59e369fd8c72f0acb4c71e008883e739ba29de86522/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c617a79436f6465782d636f646578253230666f722532306e6f2d2d627261696e6572732d3131313131313f7374796c653d666f722d7468652d6261646765266c6f676f3d676974687562266c6f676f436f6c6f723d7768697465" alt="LazyCodex banner"&gt;
  &lt;/a&gt;
  &lt;a href="https://github.com/Yeachan-Heo/gajae-code" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/2164bba4dcaff9e2d56c808eb3f45726b08c5372fed9e8ce10a55986265c32bc/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f47616a61652d2d436f64652d7265642d2d636c61772532306167656e742532306861726e6573732d4232323232323f7374796c653d666f722d7468652d6261646765266c6f676f3d676974687562266c6f676f436f6c6f723d7768697465" alt="Gajae-Code banner"&gt;
  &lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
  &lt;a href="https://github.com/code-yeongyu/lazycodex" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/1ef33bc812cbe2628069e2068fcd1ac0b8f02f7f8bbfa9b264b12954a64fd6fd/68747470733a2f2f6f70656e67726170682e6769746875626173736574732e636f6d2f6c617a79636f6465782d636172642f636f64652d79656f6e6779752f6c617a79636f646578" alt="LazyCodex GitHub card" width="280"&gt;
  &lt;/a&gt;
  &lt;a href="https://github.com/Yeachan-Heo/gajae-code" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/a8e3a9f61dc84f5e9ede7a2ef2cf4f55048419ce329ebc98015246787cfde0e6/68747470733a2f2f6f70656e67726170682e6769746875626173736574732e636f6d2f67616a61652d636f64652d636172642f5965616368616e2d48656f2f67616a61652d636f6465" alt="Gajae-Code GitHub card" width="280"&gt;
  &lt;/a&gt;
&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;start with the real crab-powered harnesses&lt;/h3&gt;
&lt;/div&gt;

&lt;p&gt;
  &lt;a href="https://github.com/code-yeongyu/lazycodex" rel="noopener noreferrer"&gt;&lt;b&gt;github.com/code-yeongyu/lazycodex&lt;/b&gt;&lt;/a&gt;
  &lt;br&gt;
  &lt;a href="https://github.com/Yeachan-Heo/gajae-code" rel="noopener noreferrer"&gt;&lt;b&gt;github.com/Yeachan-Heo/gajae-code&lt;/b&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
  &lt;a href="https://github.com/code-yeongyu/lazycodex" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/7b2cc81fe0a5c9a421dffbf6a4fdd49935bf9bdd0726f00f27237c4564325913/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4f70656e2d4c617a79436f6465782d3131313131313f7374796c653d666c61742d737175617265266c6f676f3d676974687562266c6f676f436f6c6f723d7768697465" alt="Open LazyCodex on GitHub"&gt;
  &lt;/a&gt;
  &lt;a href="https://github.com/Yeachan-Heo/gajae-code" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/cf1e457a0be02fd38f7c380a0d58e14622bf0f06c69f95b64acd26a438d09e10/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4f70656e2d47616a61652d2d436f64652d4232323232323f7374796c653d666c61742d737175617265266c6f676f3d676974687562266c6f676f436f6c6f723d7768697465" alt="Open Gajae-Code on GitHub"&gt;
  &lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
  &lt;a href="https://discord.gg/GtjhvgjnV" rel="nofollow noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/217bf9f59448c3cfb3528fe8cd5c2be5bbff208a5c46422c07f0c252146cebe9/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f446973636f72642d6a6f696e2532307468652532306861726e6573732532306c61622d3538363546323f7374796c653d666f722d7468652d6261646765266c6f676f3d646973636f7264266c6f676f436f6c6f723d7768697465" alt="Join the harness lab on Discord"&gt;
  &lt;/a&gt;
  &lt;a href="https://discord.gg/4Rt79F7dF" rel="nofollow noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/e520f85a70386f76bdd3a42be5fb17464116accf791eff5dc43eef61075696f3/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f446973636f72642d6a6f696e2532307468652532306372616225323074616e6b2d3538363546323f7374796c653d666f722d7468652d6261646765266c6f676f3d646973636f7264266c6f676f436f6c6f723d7768697465" alt="Join the crab tank on Discord"&gt;
  &lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
  Join the Discords
  &lt;a href="https://discord.gg/GtjhvgjnV" rel="nofollow noopener noreferrer"&gt;&lt;b&gt;ultraworkers discord&lt;/b&gt;&lt;/a&gt;
  ·
  &lt;a href="https://discord.gg/4Rt79F7dF" rel="nofollow noopener noreferrer"&gt;&lt;b&gt;gajae-code discord&lt;/b&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;div class="markdown-alert markdown-alert-important"&gt;
&lt;p class="markdown-alert-title"&gt;Important&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Claw Code is not the serious production project here.&lt;/strong&gt;
This repository is closer to a museum exhibit than a product pitch, a crustacean-run artifact kept alive by clawed gajaes, swept and labeled by agents, and automatically maintained according to the harnesses above.&lt;/p&gt;
&lt;p&gt;As already described in the project philosophy, this is not meant to be hand-operated like a normal product repo. It is an &lt;strong&gt;agent-managed exhibit&lt;/strong&gt;: the harnesses plan, execute, verify, label, and preserve the artifact while the crabs keep the tank running.&lt;/p&gt;
&lt;p&gt;If you want to actually run work, start with &lt;strong&gt;&lt;a href="https://github.com/code-yeongyu/lazycodex" rel="noopener noreferrer"&gt;LazyCodex&lt;/a&gt;&lt;/strong&gt; or &lt;strong&gt;&lt;a href="https://github.com/Yeachan-Heo/gajae-code" rel="noopener noreferrer"&gt;Gajae-Code&lt;/a&gt;&lt;/strong&gt;. If you want to inspect the strange little fossil of the Claw Code moment, continue below.&lt;/p&gt;
&lt;p&gt;For the longer public explanation behind this philosophy, see &lt;a href="https://x.com/realsigridjin/status/2039472968624185713" rel="nofollow noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;
  &lt;a href="https://github.com/ultraworkers/claw-code" rel="noopener noreferrer"&gt;ultraworkers/claw-code&lt;/a&gt;
  ·
  &lt;a href="https://github.com/ultraworkers/claw-code/./USAGE.md" rel="noopener noreferrer"&gt;Usage&lt;/a&gt;
  ·
  &lt;a href="https://github.com/ultraworkers/claw-code/./rust/README.md" rel="noopener noreferrer"&gt;Rust workspace&lt;/a&gt;
  ·…&lt;/p&gt;&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/ultraworkers/claw-code" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


</description>
      <category>github</category>
      <category>ai</category>
      <category>discuss</category>
      <category>python</category>
    </item>
    <item>
      <title>I decided to try gamedev in C++. My experience was toxic!</title>
      <dc:creator>EmberNoGlow</dc:creator>
      <pubDate>Sun, 22 Mar 2026 07:54:09 +0000</pubDate>
      <link>https://dev.to/embernoglow/i-decided-to-try-gamedev-in-c-my-experience-was-toxic-2n7o</link>
      <guid>https://dev.to/embernoglow/i-decided-to-try-gamedev-in-c-my-experience-was-toxic-2n7o</guid>
      <description>&lt;p&gt;I decided to dig into C++ with harfang3d. I used Visual Studio, CMake, and a lot more than I can remember. This post might be a bit hateful, but I'll say it right away: I &lt;strong&gt;respect&lt;/strong&gt; other people's work, but they could have done &lt;strong&gt;better&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  How did this start?
&lt;/h2&gt;

&lt;p&gt;I've been wanting to find a game engine for a long time that's a library, not a cumbersome IDE. I know Godot well, but I got tired of the interface and decided to look for something new. Something new to experience. And yes, there were so many that I almost drowned in the rush.&lt;/p&gt;

&lt;p&gt;The list is long. I tried PyGame, Panda3D, and even tried drawing everything manually using OpenGL. But no, it was all limited. And then I found Harfang3D.&lt;/p&gt;

&lt;p&gt;I immediately typed &lt;code&gt;pip install harfang3d&lt;/code&gt;. Yes, it installed. I went to ChatGPT so he could explain everything to me. I wanted to stick to the "AI as Teacher" strategy I described in &lt;a href="https://dev.to/embernoglow/from-zero-to-sdf-editor-beta-how-i-used-ai-to-force-my-dream-project-out-of-the-prototype-stage-46fi"&gt;my post&lt;/a&gt;. But it wasn't to be!&lt;/p&gt;

&lt;h2&gt;
  
  
  Something went wrong
&lt;/h2&gt;

&lt;p&gt;The problem was that the Python bindings were poorly implemented, at least according to GPT. It couldn't give me working code. So I decided to surf the internet and search for tutorials and examples. I found one. I installed it. It didn't work. I Googled the problem. I found a solution. I did it. It didn't work! It's so trivial, but it's painful!!! In the end, left alone with Python and this beast, I decided, as the saying goes, "I don’t give a hoot".&lt;/p&gt;

&lt;h2&gt;
  
  
  I switched to C++
&lt;/h2&gt;

&lt;p&gt;According to this "fool" GPT, I switched to cpp and that was a mistake. It's all broken down into several painful steps.&lt;/p&gt;

&lt;h2&gt;
  
  
  Visual Studio
&lt;/h2&gt;

&lt;p&gt;I didn't have the program installed. I was using Code. I decided to fix it. It was pretty easy. I went to the website, clicked a button. I waited. I launched it. The installation was in progress. It took a while, though. After the installation, another installer appeared.&lt;/p&gt;

&lt;p&gt;So wait, why is my installer downloading another installer?! Isn't that pointless? Okay, let's move on.&lt;/p&gt;

&lt;p&gt;I select the components I need to install. But something was wrong. The functionality confused me. Okay, I continued the installation anyway. Why is it so big?!&lt;/p&gt;

&lt;p&gt;During the installation, I decided to check the installation tutorial and saw this. Why does this installer look different?! Seriously, why is my installer stripped down, lol?! There were two tabs. The installer didn't have a language option, or a path option. What is this?! This is the official website. I don't remember which version I downloaded, but I decided to uninstall it anyway.&lt;/p&gt;

&lt;h2&gt;
  
  
  Remove VS
&lt;/h2&gt;

&lt;p&gt;Guess what? After installation, my installer took a long time to load. I waited 5 minutes, and it just kept loading. I decided to uninstall everything the old-fashioned way. I ran Revo Uninstaller, and to my surprise, after uninstalling the program, nothing was deleted except the executable file! That's how Microsoft protects itself from people like me.&lt;/p&gt;

&lt;p&gt;Okay, I decided to delete the entire folder. I clicked "uninstall with Revo" and... &lt;strong&gt;I CLICKED ON CODE!!!!!&lt;/strong&gt; Guys, I'm such an idiot! Well, I don't need to say anything else; you already know.&lt;/p&gt;

&lt;h2&gt;
  
  
  Install 2
&lt;/h2&gt;

&lt;p&gt;I downloaded Code back. What a great installer! Why couldn't Microsoft just squeeze Visual Studio into an MSI like this? It's so convenient! No, they need installers that take half an hour to run (and whose telemetry was blocked by my firewall).&lt;/p&gt;

&lt;p&gt;Regarding Visual Studio, I was able to successfully install it as required. Victory, it seems! But that was &lt;strong&gt;just the beginning&lt;/strong&gt;!&lt;/p&gt;

&lt;h2&gt;
  
  
  Installing Harfang3D
&lt;/h2&gt;

&lt;p&gt;You can't change a person. So did I. I approached my friend. GPT told me I needed to download the repository and put it in the project folder. Then configure something in the editor and specify an include, I don't know.&lt;/p&gt;

&lt;p&gt;He gave me the code. It was broken again! I couldn't figure out what the problem was. It couldn't find include and lib. GPT Chat insisted they were in the repository, but they weren't!&lt;/p&gt;

&lt;p&gt;Okay, try number 2.&lt;/p&gt;

&lt;h2&gt;
  
  
  Installing Harfang3D 2
&lt;/h2&gt;

&lt;p&gt;This time, I decided to do everything manually. I went to the repository, read the Readme and documentation, and downloaded the example. But I couldn't find anywhere how to download it and install it in VS! Perhaps for those who know C++, this is basic, but for me, it was hell.&lt;/p&gt;

&lt;p&gt;Well, this time, Brave came to the rescue. I asked it how to install it. It gave me a bunch of commands: git, create a directory, compile C++.&lt;/p&gt;

&lt;h2&gt;
  
  
  I burned out
&lt;/h2&gt;

&lt;p&gt;This was the culmination. It turned out I had the wrong CMake. Again, reinstallation. Then compilation. My head was spinning. The terminal, console, or whatever it was, was saying I didn't have Visual Studio.&lt;/p&gt;

&lt;p&gt;How could this... 🤯 Okay, everything's in the recycle bin! I'm fed up!&lt;/p&gt;

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

&lt;p&gt;I don't remember how long I spent on this; it felt like an eternity. Finally, I'll give you some advice, as a regular noob user. Don't make installers like that. Put everything in MSI or something similar. I'm so tired...&lt;/p&gt;

</description>
      <category>gamedev</category>
      <category>cpp</category>
      <category>discuss</category>
      <category>learning</category>
    </item>
    <item>
      <title>Modularity - An Overrated Anti-Pattern? The Power of the Monolithic Script in the Age of AI.</title>
      <dc:creator>EmberNoGlow</dc:creator>
      <pubDate>Sat, 21 Feb 2026 17:31:59 +0000</pubDate>
      <link>https://dev.to/embernoglow/modularity-an-overrated-anti-pattern-the-power-of-the-monolithic-script-in-the-age-of-ai-5oc</link>
      <guid>https://dev.to/embernoglow/modularity-an-overrated-anti-pattern-the-power-of-the-monolithic-script-in-the-age-of-ai-5oc</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;Disclaimer: This post isn't a manifesto against modularity, but rather a description of a temporary approach for solo developers actively using LLM during rapid iteration and prototyping. For production, large teams, and long-term projects, modularity remains the gold standard.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;Hello everyone 👋&lt;/p&gt;

&lt;p&gt;I would like to share my experience (based on my &lt;a href="https://github.com/EmberNoGlow/SDF-Model-Editor-Demo" rel="noopener noreferrer"&gt;project&lt;/a&gt;), or rather advice on why refactoring is your (and AI's) potential bottleneck and how to solve the problem if you are faced with breaking your monolithic 1000-line script into modules.&lt;/p&gt;

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

&lt;p&gt;We've all seen this path: a tiny script suddenly balloons to 500 lines. Then comes the moment when, following the advice of seasoned colleagues, we start the "proper refactoring": creating &lt;code&gt;utils/&lt;/code&gt;, &lt;code&gt;parsers/&lt;/code&gt;, and proliferating &lt;code&gt;__init__.py&lt;/code&gt; files. But in an era where our main co-author is an LLM, this beauty becomes a hindrance.&lt;/p&gt;

&lt;h3&gt;
  
  
  But why is modularity your source of friction?
&lt;/h3&gt;

&lt;p&gt;If your code works in a single file, that's good. But your project grows. The line count increases. You start getting confused. You decide to refactor. You do it manually because you understand that an AI's advice will turn into another "find -&amp;gt; copy -&amp;gt; paste" quest. But suddenly, you realize something is wrong.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  You have too many files.&lt;/li&gt;
&lt;li&gt;  You realize it’s messy.&lt;/li&gt;
&lt;li&gt;  It’s an illusion of structure.&lt;/li&gt;
&lt;li&gt;  It introduces dependencies.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  When Technical Problems Begin
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Dependencies
&lt;/h3&gt;

&lt;p&gt;You need to create a file to list global variables. Your project has bloated. Half the files are just importing dependencies. It looks structured from the outside, but it’s internal chaos.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Example:&lt;/em&gt; Your script A now depends on the function &lt;code&gt;process_data()&lt;/code&gt; from the module &lt;code&gt;utils.helpers.data_cleaner&lt;/code&gt;. For this to work, A needs &lt;code&gt;from utils.helpers.data_cleaner import process_data&lt;/code&gt;. Now, if you rename &lt;code&gt;data_cleaner&lt;/code&gt; to &lt;code&gt;sanitizer&lt;/code&gt;, you are forced to change it in a dozen places, whereas in a monolith, you would only need to change &lt;code&gt;def process_data&lt;/code&gt; to &lt;code&gt;def sanitize&lt;/code&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Submitting to AI
&lt;/h3&gt;

&lt;p&gt;If you rely heavily on AI assistants for code generation, managing a modular project can become cumbersome. The AI might struggle to keep track of complex dependency graphs, leading to errors in code generation or suggestions that break existing functionality.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Key point&lt;/em&gt;: AI is not a project manager. It is an &lt;strong&gt;executor&lt;/strong&gt;. It works best with a complete, self‑contained context — a single file often provides this more reliably than a collection of interconnected modules.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Monolith as a Solution
&lt;/h2&gt;

&lt;p&gt;If you have one file, it's beneficial for several reasons:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Local dependencies are resolved. You declare everything - classes, functions, variables - in one file.&lt;/li&gt;
&lt;li&gt;It's easier to send the AI one file than multiple files.&lt;/li&gt;
&lt;li&gt;It's easier for the AI to parse one file than to reason about the availability of local dependencies from specific project directories.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Pitfalls
&lt;/h2&gt;

&lt;p&gt;A single file can be perceived as a problem simply because it gets huge.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;You get confused.&lt;/li&gt;
&lt;li&gt;You have to use Ctrl+F to jump to a specific class or function.&lt;/li&gt;
&lt;li&gt;Others find it hard to understand.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  When monolithic design is a bad idea
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Teamwork.&lt;/li&gt;
&lt;li&gt;Code that will be maintained for a long time.&lt;/li&gt;
&lt;li&gt;Projects with clearly defined components (web API, database, data processing).&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  But these problems have solution.
&lt;/h3&gt;

&lt;p&gt;Use regions. Seriously, it’s simple. It’s fast. It costs you 6-9 extra characters in the code. By using &lt;code&gt;#region&lt;/code&gt; and &lt;code&gt;#endregion&lt;/code&gt; (alternatives exist in other languages too), you can easily break the code into blocks. For example, you can declare all classes in &lt;code&gt;#region Classes&lt;/code&gt; and helper functions in &lt;code&gt;#region Helpers&lt;/code&gt;. It’s convenient. Practical. Clean. And with IDE extensions (for example, &lt;a href="https://marketplace.visualstudio.com/items?itemName=txava.region-marker" rel="noopener noreferrer"&gt;Region Maker&lt;/a&gt; for VScode), it becomes an excellent experience.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;The best code is the code that isn't written, but seriously - choose what works best for &lt;em&gt;you&lt;/em&gt;.  Good luck!&lt;/p&gt;

</description>
      <category>ai</category>
      <category>python</category>
      <category>discuss</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Your Tasks Are Too Small (And It’s Slowing You Down) - Perform tasks in parallel</title>
      <dc:creator>EmberNoGlow</dc:creator>
      <pubDate>Tue, 27 Jan 2026 15:45:10 +0000</pubDate>
      <link>https://dev.to/embernoglow/your-tasks-are-too-small-and-its-slowing-you-down-perform-tasks-in-parallel-39ae</link>
      <guid>https://dev.to/embernoglow/your-tasks-are-too-small-and-its-slowing-you-down-perform-tasks-in-parallel-39ae</guid>
      <description>&lt;p&gt;We've all heard advice like "break big tasks into smaller ones" and "don't try to tackle everything at once." But does this really work? Or can small tasks actually limit us?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Teams spend 30% of their time planning subtasks that later turn out to be redundant. Here’s why.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Why decomposition is popular
&lt;/h2&gt;

&lt;p&gt;By breaking a large task into smaller ones, we get a lot of "cool features":&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Reduced cognitive load&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;More accurate estimation&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Visibility of progress&lt;/strong&gt; (many small checklists are closed).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ease of work distribution&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But this can negatively impact your productivity. And no, this problem is not just one point. All of the above benefits can turn your project into a living hell.&lt;/p&gt;

&lt;h2&gt;
  
  
  Problem
&lt;/h2&gt;

&lt;p&gt;If you work in a &lt;strong&gt;SMALL team, or even alone&lt;/strong&gt;, task splitting is your main enemy, and here's why:&lt;/p&gt;

&lt;h3&gt;
  
  
  small tasks encourage not the achievement of a goal, but the checking off of a checklist.
&lt;/h3&gt;

&lt;p&gt;Let's imagine a situation. You're creating a code editor (for example, something like Notepad++ or a mini version of Code). Your large task consists of several items (this is what a "code editor" actually is):&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Text field, syntax highlighting and checking&lt;/li&gt;
&lt;li&gt;Terminal, output, console.&lt;/li&gt;
&lt;li&gt;Interface.
Ranking the importance of these three items would seem easy – first, let's create a text field, then a console, then an interface.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Okay, you've gotten to work, starting with item 1.&lt;br&gt;
We'll break this item's task down into smaller ones, and end up with something like this:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Create a window&lt;/li&gt;
&lt;li&gt;Create an interface&lt;/li&gt;
&lt;li&gt;Create a text input element&lt;/li&gt;
&lt;li&gt;Create syntax highlighting&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Okay. Let's complete the tasks in order and move on to the next item: console, terminal, output. Let's break it down into smaller steps:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Create an interface element&lt;/li&gt;
&lt;li&gt;Create a function that launches a console process&lt;/li&gt;
&lt;li&gt;Create a command input&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;As you can see, this task turned out to be easier than the &lt;strong&gt;previous one&lt;/strong&gt;. But did you see that creating an interface and input is common to both tasks?&lt;/p&gt;

&lt;p&gt;That's the problem with decomposing large tasks—you don't realize that the broken tasks might overlap, and you'll have to do another step that you could have combined into one.&lt;/p&gt;

&lt;p&gt;This brings us to the next point:&lt;/p&gt;

&lt;h3&gt;
  
  
  It takes a lot of time!
&lt;/h3&gt;

&lt;p&gt;While you're planning stages, breaking tasks down into smaller ones, checking for overlapping task types, and even taking notes and estimating them, this wastes 80% of your time. This is even more pronounced if you're doing this not in a simple notepad but in a specialized app, you quickly get sucked into the game and don't notice how time flies.&lt;/p&gt;

&lt;p&gt;At least you have a clear plan, which will benefit your team, but mostly, it's a waste of time.&lt;/p&gt;

&lt;h3&gt;
  
  
  Tasks that are too small may be assessed
&lt;/h3&gt;

&lt;p&gt;If you've created a detailed estimating plan, you might have added a task that's so small it doesn't deserve attention. For example, the task "Change the color of the button" &lt;em&gt;isn't worth estimating. It's worth 5 minutes. If estimating takes 5 minutes, you're in the red.&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Moral component
&lt;/h3&gt;

&lt;p&gt;It would seem the most obvious. The bigger the task, the harder it is to pull yourself together. However, the more small tasks you have, the more daunting it is to tackle them, due to the sheer volume of work involved.&lt;/p&gt;

&lt;h2&gt;
  
  
  So what should we do then?
&lt;/h2&gt;

&lt;p&gt;The answer is simple: divide large tasks into several chapters, and work on these chapters in parallel. For example:&lt;/p&gt;

&lt;p&gt;We want to create a code editor. We've already defined what it is:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Text input&lt;/li&gt;
&lt;li&gt;Debugging tools&lt;/li&gt;
&lt;li&gt;Interface&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Now let's work on all three of these chapters in parallel:&lt;br&gt;
Create a program window -&amp;gt; create a text field -&amp;gt; create a terminal field.&lt;br&gt;
And we immediately see the finished result. Of course, this isn't a finished application yet, but it's more than just checking off a checklist.&lt;br&gt;
We can further improve the functionality using the same principle.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why is this method better?
&lt;/h2&gt;

&lt;p&gt;We're essentially dividing the task not into a million subtasks, but into several larger parts. By completing these tasks in a staggered, parallel fashion, it's easier to "kill two birds with one stone." While this creates "creative chaos," it also saves you from the main problem: getting stuck on one task and not being able to start others until you've completed it. Thanks to chaos, you can always return to it later, even in a few days or even weeks. After all, the world is chaos, and perfect planning disrupts it.&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>productivity</category>
      <category>performance</category>
      <category>development</category>
    </item>
    <item>
      <title>I made a game using Copilot CLI - was it a total failure or not so bad?</title>
      <dc:creator>EmberNoGlow</dc:creator>
      <pubDate>Sun, 25 Jan 2026 15:02:13 +0000</pubDate>
      <link>https://dev.to/embernoglow/i-made-a-game-using-copilot-cli-was-it-a-total-failure-or-not-so-bad-1k4m</link>
      <guid>https://dev.to/embernoglow/i-made-a-game-using-copilot-cli-was-it-a-total-failure-or-not-so-bad-1k4m</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/github-2026-01-21"&gt;GitHub Copilot CLI Challenge&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hello, dev community!!! 🖐&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I created a game in Godot using GitHub copilot. But was everything as great as I thought?&lt;/p&gt;

&lt;h3&gt;
  
  
  Why didn't I choose my dream project - &lt;a href="https://github.com/EmberNoGlow/SDF-Model-Editor-Demo" rel="noopener noreferrer"&gt;SDF Editor&lt;/a&gt;?
&lt;/h3&gt;

&lt;p&gt;I wanted to create something new, and I wanted Copilot to do everything for me. But something didn't work out, and it turned out the other way around.&lt;/p&gt;

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

&lt;p&gt;&lt;a href="https://github.com/EmberNoGlow/hollow-pilot/" rel="noopener noreferrer"&gt;Hollow Pilot&lt;/a&gt; is a game inspired by Hollow Knight. It includes:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Movement mechanics – jumping, dashing, walking&lt;/li&gt;
&lt;li&gt;Combat system – attacking, healing, dying, defeating bosses&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I'd like to believe it's cool, but there's one big problem...&lt;/p&gt;

&lt;h2&gt;
  
  
  What was wrong?
&lt;/h2&gt;

&lt;p&gt;Well, it's easier to say what was good. Okay.&lt;/p&gt;

&lt;p&gt;The biggest problem is that copilot doesn't know how to make games:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;He can't write scenes.&lt;/li&gt;
&lt;li&gt;He might have made mistakes in the language syntax.&lt;/li&gt;
&lt;li&gt;He can't connect the scene and the script, so I did everything.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The most minor thing was that everything looked as bad as possible. There were no animations (I didn't bother making them, I'm too lazy). The movement logic looks terrible, especially for the boss.&lt;/p&gt;

&lt;h2&gt;
  
  
  The positive side
&lt;/h2&gt;

&lt;p&gt;Things were bad, so I made them worse! Just look at this:&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%2Fwg5gvo54jy4lgtx8pr26.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%2Fwg5gvo54jy4lgtx8pr26.png" alt="Demo" width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And video link: &lt;a href="https://github.com/EmberNoGlow/hollow-pilot/blob/main/Demo.mp4" rel="noopener noreferrer"&gt;Demo.mp4&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You ask, what's going on, dude?!&lt;/p&gt;

&lt;p&gt;Well... &lt;strong&gt;It's a reflection of the technical crisis.&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Why is Reddit here?&lt;/strong&gt; - It was a weird decision - I was just reading a post on reddit and I didn't like the comment there, so... lol, what's that related?&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;What is this place?&lt;/strong&gt; - I didn't have the energy to make a location from Hollow Knight, and I didn't have the energy to look for assets for his style, so this is what I came across&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  My Experience with GitHub Copilot CLI
&lt;/h2&gt;

&lt;p&gt;This is where the fun begins. I successfully installed it, launched it and started creating.&lt;/p&gt;

&lt;p&gt;But then something went wrong:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;I asked for the code to be printed, but I forgot to specify the directory, lol. All the files were in the user folder.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Okay, I moved the files. I opened them in Godot. But the scenes wouldn't open. The file syntax was completely different, so I had to create the scenes myself.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;There were syntax errors in the code too, of course.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;But the most interesting thing is that copilot simply hates @onready – a special variable type used to declare nodes or resources after the ready function has been called (i.e., when the scene is loaded, nodes can't exist unless the scene also doesn't exist). The problem was that it was writing the entire path to the node, which is why there were many related errors.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Copilot is certainly a powerful tool, but it's completely unsuitable for game development. I also didn't notice any differences from the web version of Copilot, other than the lack of an interface. It does everything equally well, or poorly.&lt;/p&gt;

&lt;h2&gt;
  
  
  What do we have in the end?
&lt;/h2&gt;

&lt;p&gt;Well, a game that works "through a stump-deck"&lt;/p&gt;

&lt;p&gt;And also 3 days wasted&lt;/p&gt;

&lt;p&gt;I hope this isn't my last game, and in the future, when "better times come," I'll make something better. Or I'll write another article where I write about how bad everything is.&lt;/p&gt;

&lt;p&gt;Of course, I wanted to do something more, at least write this article in more detail and more beautifully, but "AI just sucked all the juices out of me." See you all.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it:
&lt;/h2&gt;

&lt;p&gt;🔗 &lt;strong&gt;&lt;a href="https://eng0.itch.io/hollow-pilot" rel="noopener noreferrer"&gt;Itch.io&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;
🔗 &lt;strong&gt;&lt;a href="https://github.com/EmberNoGlow/hollow-pilot" rel="noopener noreferrer"&gt;Github&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>githubchallenge</category>
      <category>cli</category>
      <category>githubcopilot</category>
    </item>
    <item>
      <title>From Zero to SDF Editor Beta: How I Used AI to Force My Dream Project Out of the Prototype Stage. What I learned?</title>
      <dc:creator>EmberNoGlow</dc:creator>
      <pubDate>Fri, 09 Jan 2026 12:20:53 +0000</pubDate>
      <link>https://dev.to/embernoglow/from-zero-to-sdf-editor-beta-how-i-used-ai-to-force-my-dream-project-out-of-the-prototype-stage-46fi</link>
      <guid>https://dev.to/embernoglow/from-zero-to-sdf-editor-beta-how-i-used-ai-to-force-my-dream-project-out-of-the-prototype-stage-46fi</guid>
      <description>&lt;p&gt;I've released a beta version of my &lt;a href="https://github.com/EmberNoGlow/SDF-Model-Editor-Demo" rel="noopener noreferrer"&gt;SDF Model editor&lt;/a&gt; project. This is my first major project that I'm trying to "push past MVP".&lt;/p&gt;

&lt;h2&gt;
  
  
  How it all began
&lt;/h2&gt;

&lt;p&gt;I've long been interested in real-time rendering. I started learning glsl. I came across this article by &lt;a href="https://iquilezles.org/articles/smin/" rel="noopener noreferrer"&gt;Inigo Quilez&lt;/a&gt; and realized that my mathematical knowledge...&lt;/p&gt;

&lt;p&gt;Long story short, I decided to create my own full-fledged 3D editor that would allow artists to create 3D models using simple shapes. The main idea was a fresh approach (not really all that new, to be honest) to traditional modeling – to ditch all that sculpting and polygonal editing, and instead move spheres and boxes around like a little kid.&lt;/p&gt;

&lt;h2&gt;
  
  
  Process
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Initial, December 2025&lt;/th&gt;
&lt;th&gt;Beta, January 2026&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&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%2Fwhhtpozsjx10tvf81agv.png" alt="SDF Model Editor Early" width="800" height="435"&gt;&lt;/td&gt;
&lt;td&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%2Fzh2r05hisf5c7a5dkyac.jpg" alt="SDF Model Editor Beta" width="800" height="450"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;I read a lot of articles and used a fair number of AI models to learn. I used the AI not as a co-developer, but as a "teacher." I didn't ask questions like "how to do it", but rather "how and why it works." And after I understood "how and why", I started asking copilot to write code based on the AI's thinking.&lt;/p&gt;

&lt;h3&gt;
  
  
  And what happened?
&lt;/h3&gt;

&lt;p&gt;It was terrible. But it worked. I started studying the code. It was a far cry from what it is now. It was written in Pygame and consisted of 500 lines of code. I couldn't do anything except rotate the camera, which didn't even do that correctly 🤦‍♂️.&lt;/p&gt;

&lt;p&gt;I got bored. I abandoned it. But I got bored, so I continued. It took me a month to move away from Pygame and switch to Imgui, as well as fix the code. Everything worked well, and I was thrilled with the result.&lt;/p&gt;

&lt;h3&gt;
  
  
  Cursor
&lt;/h3&gt;

&lt;p&gt;I decided to download &lt;a href="https://cursor.com/" rel="noopener noreferrer"&gt;cursor ai&lt;/a&gt;. Everyone was talking about how much it could do. I prompted it to completely refactor the code and add functionality, adding primitives and operations. And it was a miracle. I started studying the new code and customizing it.&lt;/p&gt;

&lt;p&gt;That was good, but I still had to do the input. I turned to cursor and... It turned out my limit had been reached 👎. I went back to copilot. And it was strange - for some reason, copilot kept putting spaces after periods! It took me half an hour to fix the code. And what happened? It didn't work. I repeated this until I reached my limit. I'm already tired and barely got everything working. I posted the project on GitHub.&lt;/p&gt;

&lt;h3&gt;
  
  
  Publish
&lt;/h3&gt;

&lt;p&gt;Publishing on GitHub motivated me to develop the project. Even though views were low, I still wanted to finish the project. Step by step, I improved the bugs slightly, sometimes using AI for refactoring, testing, and bug detection (even though it often created these bugs itself). Overall, I realized how bad AI is for large projects.&lt;/p&gt;

&lt;h3&gt;
  
  
  Now
&lt;/h3&gt;

&lt;p&gt;24 days have passed since then.&lt;br&gt;
It felt like months had passed. I can't believe I've accomplished so much. I can't believe my code is 80,000 characters long. Even though I still haven't achieved all of my MVP goals, I'm very happy with the result.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;And by the way, I changed my device (Windows 7 was better than 10...)&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

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

&lt;p&gt;I learned a lot, made a ton of mistakes, corrected them, and didn't sleep a single night. I think I realized that AI is like a casino: you either hit the jackpot and get a fantastic app, or you waste all your limits, lol. I'm tired of writing this post...&lt;/p&gt;

</description>
      <category>python</category>
      <category>sideprojects</category>
      <category>opensource</category>
      <category>discuss</category>
    </item>
    <item>
      <title>Marching Cubes algorithm written in Rust</title>
      <dc:creator>EmberNoGlow</dc:creator>
      <pubDate>Sat, 03 Jan 2026 13:48:34 +0000</pubDate>
      <link>https://dev.to/embernoglow/marching-cubes-algorithm-written-in-rust-473d</link>
      <guid>https://dev.to/embernoglow/marching-cubes-algorithm-written-in-rust-473d</guid>
      <description>&lt;h3&gt;
  
  
  Hello everyone 👋
&lt;/h3&gt;

&lt;p&gt;I am happy to present my new AI-generated work: &lt;strong&gt;Marching cubes&lt;/strong&gt; allow you to polygonize geometry created using a signed distance field!&lt;/p&gt;

&lt;p&gt;I created this for my project &lt;a href="https://github.com/EmberNoGlow/SDF-Model-Editor-Demo" rel="noopener noreferrer"&gt;SDF model editor&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  License
&lt;/h3&gt;

&lt;p&gt;The code is distributed under the MIT license.&lt;/p&gt;




&lt;p&gt;For more information visit &lt;a href="https://github.com/EmberNoGlow/Rust-Marching-Cubes-Generator/" rel="noopener noreferrer"&gt;github&lt;/a&gt;&lt;/p&gt;

</description>
      <category>rust</category>
      <category>algorithms</category>
      <category>opensource</category>
      <category>programming</category>
    </item>
    <item>
      <title>Raymarching Mountains for Godot - addon that solves the problem of open worlds</title>
      <dc:creator>EmberNoGlow</dc:creator>
      <pubDate>Tue, 30 Dec 2025 16:44:13 +0000</pubDate>
      <link>https://dev.to/embernoglow/raymarching-mountains-for-godot-addon-that-solves-the-problem-of-open-worlds-4doa</link>
      <guid>https://dev.to/embernoglow/raymarching-mountains-for-godot-addon-that-solves-the-problem-of-open-worlds-4doa</guid>
      <description>&lt;p&gt;A fast, powerful, and optimized plugin for creating procedural background mountains using RayMarching.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&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%2Fnhfuyqc58t7kucbhfmgy.png" alt="Demo" width="800" height="450"&gt;&lt;/th&gt;
&lt;th&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%2Fqmecqa9gf9cfe6jhyxsq.png" alt="Demo" width="800" height="450"&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  What is it?
&lt;/h2&gt;

&lt;p&gt;This addon is designed to create open worlds and eliminate the ugly "world break" effect. It generates a procedural horizon to surround your play area, making your world feel infinite without the performance cost of generating actual geometry for distant terrain.&lt;/p&gt;

&lt;p&gt;It uses a &lt;strong&gt;Raymarching Shader&lt;/strong&gt; applied to a flipped box mesh (similar to a skybox) to render mountains efficiently.&lt;/p&gt;




&lt;h2&gt;
  
  
  ✨ Features
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Procedural Generation:&lt;/strong&gt; Uses noise textures to generate infinite variations.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Highly Optimized:&lt;/strong&gt; Renders on a single mesh (&lt;strong&gt;12 tris&lt;/strong&gt;) using shader magic. Runs at a &lt;strong&gt;stable 60 fps&lt;/strong&gt; on old videocard &lt;em&gt;AMD Radeon HD 8600/8700M&lt;/em&gt; (Integrated)&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Seamless Blending:&lt;/strong&gt; Built-in fog gradient support to blend the mountains into your sky.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Customizable:&lt;/strong&gt; Full control over colors, scale, and fog depth.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  📄 License
&lt;/h2&gt;

&lt;p&gt;This addon is distributed under the &lt;strong&gt;Creative Commons Zero (CC0)&lt;/strong&gt; license.&lt;/p&gt;




&lt;h2&gt;
  
  
  Are you ready to try?
&lt;/h2&gt;

&lt;p&gt;Full Github link : &lt;strong&gt;&lt;a href="https://github.com/EmberNoGlow/Raymarching-Mountains" rel="noopener noreferrer"&gt;EmberNoGlow/Raymarching-Mountains&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  ❤️ Support
&lt;/h2&gt;

&lt;p&gt;If you find this plugin useful, please give it a star on GitHub!&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/EmberNoGlow" rel="noopener noreferrer"&gt;EmberNoGlow&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Dev.to:&lt;/strong&gt; &lt;a href="https://dev.to/embernoglow"&gt;embernoglow&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Bluesky:&lt;/strong&gt; &lt;a href="https://bsky.app/profile/embernoglow.bsky.social" rel="noopener noreferrer"&gt;@embernoglow.bsky.social&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>godot</category>
      <category>shader</category>
      <category>tool</category>
      <category>gamedev</category>
    </item>
    <item>
      <title>Godot SceneBuilder: Supercharge Your 3D Scene Creation!</title>
      <dc:creator>EmberNoGlow</dc:creator>
      <pubDate>Thu, 25 Dec 2025 18:24:40 +0000</pubDate>
      <link>https://dev.to/embernoglow/godot-scenebuilder-supercharge-your-3d-scene-creation-35ob</link>
      <guid>https://dev.to/embernoglow/godot-scenebuilder-supercharge-your-3d-scene-creation-35ob</guid>
      <description>&lt;p&gt;Hello 👋&lt;/p&gt;

&lt;p&gt;I’m excited to share &lt;strong&gt;Godot SceneBuilder&lt;/strong&gt; — a powerful addon for Godot 4 that revolutionizes how you work with 3D meshes. Whether you’re building vast environments or intricate structures, this tool will save you time and boost performance.&lt;/p&gt;

&lt;h3&gt;
  
  
  What Does It Do?
&lt;/h3&gt;

&lt;p&gt;SceneBuilder lets you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Procedurally scatter meshes&lt;/strong&gt; in circles, grids, or custom patterns.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Create spirals&lt;/strong&gt; (perfect for staircases or organic structures) with adjustable height, turns, and radius growth.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Merge instances&lt;/strong&gt; into a single &lt;code&gt;MeshInstance3D&lt;/code&gt; using &lt;code&gt;SurfaceTool&lt;/code&gt;, drastically reducing draw calls and improving performance.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Extend functionality&lt;/strong&gt; with your own GDScript algorithms — no core modifications needed!&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Why You’ll Love It
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Editor-native&lt;/strong&gt;: Runs entirely within Godot Editor (&lt;code&gt;@tool&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Smart rotation&lt;/strong&gt;: Align instances to face the center or follow tangents using &lt;code&gt;atan2&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Flexible&lt;/strong&gt;: Override materials, tweak transformations, and create custom scatter patterns.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Performance-focused&lt;/strong&gt;: Merging meshes means fewer draw calls — ideal for complex scenes.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Get Started in 4 Steps
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Download the repository.&lt;/li&gt;
&lt;li&gt;Copy &lt;code&gt;addons/scenebuilder&lt;/code&gt; into your project’s &lt;code&gt;res://&lt;/code&gt; directory.&lt;/li&gt;
&lt;li&gt;Enable the plugin in &lt;strong&gt;Project &amp;gt; Project Settings &amp;gt; Plugins&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Add a &lt;strong&gt;SceneBuild&lt;/strong&gt; node, assign a mesh, pick a pattern (e.g., &lt;code&gt;Circle&lt;/code&gt; or &lt;code&gt;Grid&lt;/code&gt;), adjust parameters, and click &lt;strong&gt;Build&lt;/strong&gt;!&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Go Advanced: Custom Functions
&lt;/h3&gt;

&lt;p&gt;Want unique patterns? Edit &lt;code&gt;ScatterFunctions.gd&lt;/code&gt; to define your own logic. Pass arguments directly from the Inspector — supports floats, booleans, and strings. Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight gdscript"&gt;&lt;code&gt;&lt;span class="k"&gt;static&lt;/span&gt; &lt;span class="k"&gt;func&lt;/span&gt; &lt;span class="nf"&gt;my_custom_shape&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;amount&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;distance_to_center&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kt"&gt;float&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="o"&gt;...&lt;/span&gt;&lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt; &lt;span class="kt"&gt;Array&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="k"&gt;var&lt;/span&gt; &lt;span class="n"&gt;points&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[]&lt;/span&gt;
    &lt;span class="c1"&gt;# Your magic here&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;points&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then select &lt;code&gt;Custom&lt;/code&gt; in the editor, set your function name, and pass args like &lt;code&gt;true, 5.5, "hello"&lt;/code&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Visuals &amp;amp; Docs
&lt;/h3&gt;

&lt;p&gt;Check out the &lt;a href="https://github.com/EmberNoGlow/Godot-SceneBuilder" rel="noopener noreferrer"&gt;GitHub repo&lt;/a&gt; for screenshots and detailed configuration guides.&lt;/p&gt;

&lt;h3&gt;
  
  
  License &amp;amp; Support
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;License&lt;/strong&gt;: MIT (feel free to use and modify).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Support&lt;/strong&gt;: Star the repo on GitHub to help others discover it!&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Follow me for more Godot tools:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/EmberNoGlow" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/embernoglow.bsky.social" rel="noopener noreferrer"&gt;bsky&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dev.to/embernoglow"&gt;dev.to&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Happy developing! 🚀  &lt;/p&gt;

</description>
      <category>godot</category>
      <category>addon</category>
      <category>gamedev</category>
      <category>3d</category>
    </item>
    <item>
      <title>SDF Model Editor Demo written in Python &amp; GLSL</title>
      <dc:creator>EmberNoGlow</dc:creator>
      <pubDate>Wed, 17 Dec 2025 19:32:20 +0000</pubDate>
      <link>https://dev.to/embernoglow/3d-sdf-editor-prototype-in-python-and-glsl-3aj0</link>
      <guid>https://dev.to/embernoglow/3d-sdf-editor-prototype-in-python-and-glsl-3aj0</guid>
      <description>&lt;p&gt;SDF Model Editor Demo is a &lt;strong&gt;demonstration tool&lt;/strong&gt; for rendering and interacting with Signed Distance Functions (SDF) primitives.&lt;/p&gt;

&lt;p&gt;Built using:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Python&lt;/strong&gt; (for application logic)&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;GLSL&lt;/strong&gt; (for shader programming)&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Dear ImGui&lt;/strong&gt; (for the graphical user interface)&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;GLFW&lt;/strong&gt; and &lt;strong&gt;PyOpenGL&lt;/strong&gt; (for window management and rendering context)&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  💡 Project Status
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;⚠️ Work in Progress (WIP)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This tool is currently in early development and has limited functionality. Please refer to the &lt;strong&gt;Roadmap&lt;/strong&gt; section in &lt;a href="https://github.com/EmberNoGlow/SDF-Model-Editor-Demo" rel="noopener noreferrer"&gt;github&lt;/a&gt; for future plans and contributions. Your support for the project's development is highly appreciated!&lt;/p&gt;




&lt;h2&gt;
  
  
  Features
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Full-fledged ability to &lt;strong&gt;create 3d models&lt;/strong&gt;!&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Free movement of the camera in 3d space&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Real time rendering&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Save/Load projects&lt;/strong&gt; (JSON format)&lt;/li&gt;
&lt;li&gt;A great foundation for &lt;strong&gt;development&lt;/strong&gt; - clean (relatively) code, but a bit cumbersome...&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  🙏 Acknowledgements
&lt;/h3&gt;

&lt;p&gt;Developing this idea was significantly aided by modern AI tools, including GitHub Copilot and GPT chat.&lt;/p&gt;

&lt;p&gt;While the initial vision was perhaps more elaborate, I am satisfied with the functional result achieved despite the challenges encountered.&lt;/p&gt;




&lt;h3&gt;
  
  
  💞 Contributing
&lt;/h3&gt;

&lt;p&gt;We welcome community contributions! If you discover a bug, encounter an issue, or have an idea for an improvement, please feel free to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Open a new &lt;strong&gt;Issue&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;  Submit a &lt;strong&gt;Pull Request&lt;/strong&gt; with your proposed changes.&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;🔗 &lt;strong&gt;Full Repository Link:&lt;/strong&gt; &lt;a href="https://github.com/EmberNoGlow/SDF-Model-Editor-Demo" rel="noopener noreferrer"&gt;EmberNoGlow/SDF-Model-Editor-Demo&lt;/a&gt;&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>python</category>
      <category>coding</category>
      <category>startup</category>
    </item>
  </channel>
</rss>
