<?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: Katana Works </title>
    <description>The latest articles on DEV Community by Katana Works  (@katanaworks).</description>
    <link>https://dev.to/katanaworks</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%2F4144687%2F483136d9-7620-4fc3-88d4-0ed552be4d7e.png</url>
      <title>DEV Community: Katana Works </title>
      <link>https://dev.to/katanaworks</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/katanaworks"/>
    <language>en</language>
    <item>
      <title>Stop Watching GDevelop Tutorials. Start Building Instead.</title>
      <dc:creator>Katana Works </dc:creator>
      <pubDate>Mon, 28 Sep 2026 17:00:00 +0000</pubDate>
      <link>https://dev.to/katanaworks/stop-watching-gdevelop-tutorials-start-building-instead-23gb</link>
      <guid>https://dev.to/katanaworks/stop-watching-gdevelop-tutorials-start-building-instead-23gb</guid>
      <description>&lt;p&gt;Tutorial hell is real. You're three hours into a GDevelop course, eyes glazing over, and you haven't built anything that feels like your game. The course is fine. The problem is the method.&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fhcujb7top5ko8kdnimjv.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%2Fhcujb7top5ko8kdnimjv.png" alt=" " width="800" height="429"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Following step-by-step tutorials is furniture assembly without seeing the finished product. You learn how to move a character. You learn how to spawn a coin. But these mechanics sit in your brain as isolated fragments, not parts of a game you're actually making. If that sounds familiar, the fix isn't a better tutorial — it's a different approach entirely.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Just-in-Case" Learning Is Why You're Bored&lt;/strong&gt;&lt;br&gt;
Traditional tutorials teach everything you might need. Every logic block, every edge case, every possible scenario. Sounds responsible. In practice, it's information overload.&lt;/p&gt;

&lt;p&gt;When you learn a complex inventory system but aren't building a game that needs one, that knowledge evaporates before you ever use it. You're not learning — you're mimicking. That's passive education, and it's why you lose focus and stop making progress.&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fsg8r1xdhvl9wvs0ny9gp.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%2Fsg8r1xdhvl9wvs0ny9gp.png" alt=" " width="799" height="432"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Switch to Just-in-Time Learning&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Start with a goal, not a tutorial. You want to build a 2D platformer? Don't search "complete platformer course." Work backward from your vision and solve one problem at a time:&lt;/p&gt;

&lt;p&gt;How do I get a character to stand on a platform?&lt;br&gt;
How do I make them move left and right?&lt;br&gt;
How do I flip the sprite when they change direction?&lt;br&gt;
How do I trigger a death animation on enemy collision?&lt;/p&gt;

&lt;p&gt;Each solved problem is a win that feeds the next one. You're not following a script — you're debugging your own game. The motivation difference is massive.&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fwisqwng75z5w4jskhbnf.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%2Fwisqwng75z5w4jskhbnf.png" alt=" " width="799" height="382"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Learn from Advanced Beginners, Not Experts&lt;/strong&gt;&lt;br&gt;
Your instinct is to find the best developer with the most subscribers. Resist that. Experts suffer from the curse of knowledge — they've forgotten what it feels like to not understand the basics. They skip steps they consider obvious. They use workflows they perfected years ago that might be outdated.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Advanced beginners — creators one or two steps ahead of you — are better teachers for three reasons:&lt;/strong&gt;&lt;br&gt;
They remember the struggle. They still recall the character getting stuck in the wall, the variable not updating, the collision event doing nothing. When they teach, they show the mistakes. That's where the actual learning lives.&lt;/p&gt;

&lt;p&gt;Their info is current. Someone who figured something out yesterday is using the latest version of GDevelop and the most relevant techniques. An expert might be teaching a method from three versions ago.&lt;/p&gt;

&lt;p&gt;They don't skip "obvious" steps. They speak your language. They explain the keyboard shortcut. They show which menu to open. You don't get stuck because the instructor assumed you already knew something.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Fastest Way to Lock It In: Teach It&lt;/strong&gt;&lt;br&gt;
Once you've implemented a mechanic — a double jump, a parallax background, a checkpoint system — explain it to someone else. Blog post, short video, even a written note to yourself. Format doesn't matter.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Teaching does two things:&lt;/strong&gt;&lt;br&gt;
It forces organization. Verbalizing your process moves knowledge from short-term recall into durable understanding. If you can walk someone through it, you own it.&lt;/p&gt;

&lt;p&gt;It exposes gaps. If you can't explain a specific part of your logic in simple terms, you don't fully understand it yet. That's not a failure — it's a free diagnostic. Go back, relearn that piece, and try explaining it again.&lt;/p&gt;

&lt;p&gt;You don't need an audience. You need the act of articulating what you did and why it worked.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Playbook&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you're stuck in tutorial hell right now, here's the shift:&lt;/p&gt;

&lt;p&gt;Stop watching tutorials like movies. Have GDevelop open. Only search for answers to the specific problem in front of you.&lt;br&gt;
Pick one game idea. Break it into the smallest possible tasks. Solve them in order.&lt;/p&gt;

&lt;p&gt;Seek out creators who show their bugs. The fix is more instructive than the finished product.&lt;/p&gt;

&lt;p&gt;Try the "Explain It to a Five-Year-Old" test. If you get tripped up explaining your game's logic out loud, that's your gap.&lt;/p&gt;

&lt;p&gt;Build → Learn → Teach. That cycle is the fastest path from beginner to confident developer.&lt;br&gt;
The Point&lt;/p&gt;

&lt;p&gt;This isn't about abandoning tutorials. It's about stopping the passive consumption loop and replacing it with targeted problem-solving on a real project. Just-in-time learning, advanced-beginner mentors, and teaching what you build — that combination kills tutorial hell faster than any course will.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Pick a game. Break it down. Build the first piece. Search only when you're stuck. Explain what you did when it works. Repeat.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>gamedev</category>
      <category>learning</category>
      <category>beginners</category>
    </item>
    <item>
      <title>How to Build a Respawn Checkpoint System in GDevelop</title>
      <dc:creator>Katana Works </dc:creator>
      <pubDate>Mon, 28 Sep 2026 15:50:36 +0000</pubDate>
      <link>https://dev.to/katanaworks/how-to-build-a-respawn-checkpoint-system-in-gdevelop-odn</link>
      <guid>https://dev.to/katanaworks/how-to-build-a-respawn-checkpoint-system-in-gdevelop-odn</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%2Fzrr7ce3b3nojzza1ssi9.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%2Fzrr7ce3b3nojzza1ssi9.png" alt=" " width="325" height="263"&gt;&lt;/a&gt;&lt;br&gt;
Death without checkpoints is just punishment. Nobody wants to replay an entire level because they clipped a spike at the 90% mark. Here's how to build a respawn checkpoint system in GDevelop using the community Checkpoints extension.&lt;/p&gt;

&lt;p&gt;What You Need in Your Scene&lt;/p&gt;

&lt;p&gt;Three objects:&lt;/p&gt;

&lt;p&gt;Player — your main character&lt;br&gt;
Checkpoint sprite — a flag, glowing disk, star, whatever reads as "progress saved"&lt;br&gt;
Hazard — spikes, pits, enemies, anything that kills the player&lt;br&gt;
Install the Checkpoints Extension&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ff0rgoez7espspy2obv4s.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%2Ff0rgoez7espspy2obv4s.png" alt=" " width="799" height="465"&gt;&lt;/a&gt;&lt;br&gt;
Open your Project Manager → Extensions → click the + button → search "Checkpoints."&lt;/p&gt;

&lt;p&gt;Watch out: there's a "Checkbox" extension that shows up in results too. You want Checkpoints, not Checkbox. Installing the wrong one means the actions you need won't exist when you go looking for them.&lt;/p&gt;

&lt;p&gt;Save Logic: Store the Player's Position on Contact&lt;/p&gt;

&lt;p&gt;Create an event with this structure:&lt;/p&gt;

&lt;p&gt;Condition: Player is in collision with Checkpoint&lt;/p&gt;

&lt;p&gt;Action: Checkpoints → Save a checkpoint for an object&lt;/p&gt;

&lt;p&gt;The save action takes three inputs:&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ft3ah04qfjuloaxgrpxq4.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%2Ft3ah04qfjuloaxgrpxq4.png" alt=" " width="799" height="401"&gt;&lt;/a&gt;&lt;br&gt;
Object: your player&lt;br&gt;
X and Y coordinates: where the player should reappear. Hover over your desired respawn point in the Scene Editor to grab these. Spawning slightly above the checkpoint (e.g., X: 288, Y: -95) prevents the player from clipping into the floor.&lt;br&gt;
Checkpoint Name: a string identifier like "Checkpoint1". This must be in double quotes. Without quotes, GDevelop treats it as an undefined variable and the whole thing silently breaks.&lt;br&gt;
Load Logic: Respawn on Death&lt;/p&gt;

&lt;p&gt;Condition: Player is in collision with Hazard&lt;/p&gt;

&lt;p&gt;Action: Checkpoints → Load a checkpoint&lt;/p&gt;

&lt;p&gt;Use the same player object and the exact same checkpoint name string you used in the save action.&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fbwbgcwqg65bts29lkyxv.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%2Fbwbgcwqg65bts29lkyxv.png" alt=" " width="800" height="406"&gt;&lt;/a&gt;&lt;br&gt;
When the player hits a hazard, they teleport back to the saved coordinates instantly.&lt;/p&gt;

&lt;p&gt;Pro tip: If you have multiple hazard types, put them all in an object group called "Hazards." One collision event covers every dangerous object in the game instead of duplicating events per spike variant.&lt;/p&gt;

&lt;p&gt;Visual Feedback&lt;/p&gt;

&lt;p&gt;Players need to know the checkpoint activated. Give your checkpoint sprite two animations:&lt;/p&gt;

&lt;p&gt;Off — default inactive state&lt;br&gt;
On — activated state (color change, flag wave, glow, etc.)&lt;/p&gt;

&lt;p&gt;Add a "Change animation to On" action to your save event. Now the checkpoint visually confirms the save.&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3fgydg339hynx65cxf6m.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%2F3fgydg339hynx65cxf6m.png" alt=" " width="800" height="333"&gt;&lt;/a&gt;&lt;br&gt;
Common Mistakes&lt;br&gt;
Respawning directly on the checkpoint — offset the Y coordinate so the player drops in from above, otherwise they can get stuck in geometry&lt;br&gt;
Forgetting quotes on the checkpoint name — this fails silently, which makes it annoying to debug&lt;br&gt;
Wrong extension installed — Checkbox ≠ Checkpoints&lt;br&gt;
Wrap Up&lt;/p&gt;

&lt;p&gt;The whole system is two events: one save on checkpoint collision, one load on hazard collision. The Checkpoints extension handles coordinate management so you don't have to track X/Y positions in variables manually. From here you can chain multiple checkpoints per level, add death animations, or build in a respawn cooldown.&lt;/p&gt;

</description>
      <category>gamedev</category>
      <category>tutorial</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
