<?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: Victor Andrade Resende</title>
    <description>The latest articles on DEV Community by Victor Andrade Resende (@resendetech).</description>
    <link>https://dev.to/resendetech</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1173206%2F9a1c7e07-03d6-4788-a695-fb9b7ec14426.png</url>
      <title>DEV Community: Victor Andrade Resende</title>
      <link>https://dev.to/resendetech</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/resendetech"/>
    <language>en</language>
    <item>
      <title>Hello Godot!</title>
      <dc:creator>Victor Andrade Resende</dc:creator>
      <pubDate>Fri, 20 Oct 2023 15:32:01 +0000</pubDate>
      <link>https://dev.to/resendetech/hello-godot-4hlk</link>
      <guid>https://dev.to/resendetech/hello-godot-4hlk</guid>
      <description>&lt;h3&gt;
  
  
  Introduction
&lt;/h3&gt;

&lt;p&gt;Hey there, fellow game development enthusiasts! I wanted to share my journey with you all as I dived into the world of Godot engine in my first week because of Unity’s recent choices towards their policy changes and such, so I decided to start learning Godot. When I started using Godot, I felt slightly confused due to the wave of information being brought upon me.&lt;/p&gt;

&lt;p&gt;The interface was clean and uncluttered, and it felt inviting. However, the environment was unfamiliar, like a new universe to explore. It was similar to standing at the beginning of a journey, filled with hope and curiosity. As I continued to explore each day, the initial awe turned into a deeper understanding and appreciation for the simplicity and power of Godot.&lt;/p&gt;

&lt;p&gt;This post summarizes the positive experiences, challenges, and moments of insight from this journey, aiming to connect with others on a similar path.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Choosing Godot: A New Journey&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Embarking on the path of game development, choosing an engine is like selecting a companion for a long and adventurous journey. After careful consideration, I opted to try out Godot. I was attracted by its open-source nature and the presence of a passionate community of developers. Unlike Unity, which can feel overwhelming with its extensive features and slightly intimidating interface for beginners, Godot offers simplicity and a focus on essential tools.&lt;/p&gt;

&lt;p&gt;My initial thoughts? Refreshing! The simplicity of navigating the interface, even though it was unfamiliar at first, was comforting. Clearly, Godot differed from Unity, where the abundance of choices could be daunting. Godot felt like entering a peaceful and well-structured workshop, where every tool had its designated spot, waiting to be discovered and mastered.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Breaking Through the Initial Confusion&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;The first steps in Godot were akin to treading on a path with unknown symbols and prompts. The templates were a maze, each click leading to a new revelation yet spawning a dozen questions. The quest for answers led me to various tutorials and community forums. Every video watched and every article read chiseled away the initial confusion, replacing it with a growing sense of familiarity.&lt;/p&gt;

&lt;p&gt;As days rolled into a week, the unease gave way to excitement. The commands started making sense. The errors became lessons, and the engine was a canvas of endless possibilities. This transition from lack of understanding to a level of some type of comfort was the first victory in a week sprinkled with challenges and learnings.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Unveiling the Core Components of Godot&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;As the initial confusion cleared up, we could see the main parts of Godot more clearly: nodes, scripts, and scenes. These parts are like a team that works together to power the engine. Nodes are the basic building blocks, scripts are the brains, and scenes are where everything comes together.&lt;/p&gt;

&lt;p&gt;Understanding these parts was about more than just reading and trying instructions. It was like uncovering the different parts of a complicated yet well-organized system, where each part showed a deeper level of understanding and admiration for the clever design of Godot.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Nodes: The Building Blocks&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Godot's core components are nodes. Nodes are the basic building blocks that make everything work. Every object in Godot, such as characters, lights, and sounds, is represented as a node. When exploring nodes, I found examples like Rigidbody2D and Camera2D, each with its specific function. Rigidbody2D is a node that handles physics and adds motion to objects. Camera2D is the node that allows players to see the game world.&lt;/p&gt;

&lt;p&gt;As I played around with these nodes, connecting them, a functional system emerged, forming the basis for the more advanced systems that would soon be created in my game.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Scripting: Coding in Godot&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Scripting is when ideas turn into action in Godot. Given the choice between GDScript and C#, I chose GDScript because it's built into the engine. While C# has its advantages, and I have used it more, its support in Godot felt lacking. On the other hand, GDScript, with its Python-like syntax, made coding easy to understand.&lt;/p&gt;

&lt;p&gt;As I learned about scripting, I discovered how code and nodes work together to create the game logic. Each line of code brings the nodes to life, progressing towards a complete gameplay experience.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Scenes: Where Everything Comes Together&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Scenes are where the magic happens in Godot. They are the places where nodes and scripts come together to create a seamless gameplay experience. As I learned to develop and manage scenes, the practical aspect of game development in Godot became clearer.&lt;/p&gt;

&lt;p&gt;Each scene could be a level, a character, or even a single function within the game—the modular design made organizing and developing the game in stages easier. The more I worked with sections, the more I liked how Godot's scene system helped manage complexity clearly and understandably.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Conclusion: Reflecting on a Week of Learning&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;The week experience through Godot's realms this week has been a mix of challenges, lessons, and a growing love for the engine's simplicity. Every obstacle I faced became a stepping stone, pushing me deeper into game development. Now, as I stand at the edge of this ongoing adventure, I can't help but feel excited for what lies ahead!&lt;/p&gt;

&lt;p&gt;The upcoming journey offers a mix of new ideas, finding solutions, and exploring the full potential of Godot. With a community of fellow developers to join, diving into Godot game development feels exciting and holds the promise of many exciting discoveries.&lt;/p&gt;

</description>
      <category>godot</category>
      <category>gamedev</category>
      <category>programming</category>
      <category>developer</category>
    </item>
    <item>
      <title>Learning Game Dev: Respawn Mechanics and Game Objects</title>
      <dc:creator>Victor Andrade Resende</dc:creator>
      <pubDate>Fri, 06 Oct 2023 15:19:31 +0000</pubDate>
      <link>https://dev.to/resendetech/learning-game-dev-respawn-mechanics-and-game-objects-4hn0</link>
      <guid>https://dev.to/resendetech/learning-game-dev-respawn-mechanics-and-game-objects-4hn0</guid>
      <description>&lt;h3&gt;
  
  
  &lt;strong&gt;Introduction&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Hello to everyone who's taken the time to stop by and read this post. Currently, I find myself in the challenging phases of coding a game entirely while learning how to code and understand the intricacies of game development.&lt;/p&gt;

&lt;p&gt;The game I'm working on? It's a combat/RPG mix-style type of game where players can immerse themselves in battles, level up, and fight bosses. Suppose the idea of evolving and getting stronger as you face off against increasingly tough enemies resonates with you. In that case, you'll probably understand why I chose to make this type of game.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;The Challenge&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Recently, while coding, I found myself in a quite stumbling predicament, otherwise known as a game-breaking bug.&lt;/p&gt;

&lt;p&gt;I was finishing a respawn script for the enemies in my game. This might sound straightforward to many, but when dealing with a combat/RPG game where enemies play a pivotal role, getting this mechanic right is crucial.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Here's what I expected&lt;/strong&gt;: Each time an enemy was defeated, it would simply disappear and respawn according to the script's logic. This mechanic was meant to ensure continuous gameplay, allowing players to level up and get stronger as they overcame each challenge.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Reality had other plans&lt;/strong&gt;: Everything seemed to be running smoothly when testing with a single enemy. But the waters got murkier when I introduced a second enemy using Unity's prefab function. After defeating the second enemy, instead of the usual respawn, the enemy game object was disabled and spawned another enemy. When killing this enemy, it spawned multiple copies instead of just 1.&lt;/p&gt;

&lt;p&gt;Clearly, something was amiss. What was causing this anomaly? Was it an error in the code? Or perhaps a glitch in Unity's prefab system? Let's be honest: probably not Unity, most likely the code I have made, as I trust professionals who spent years creating this engine more than I did with my inexperienced coding skills.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Identifying the Problem &amp;amp; Diagnosis Attempts&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;As I scratched my head, trying to figure out this peculiar problem, I retraced my steps to see where things might have gone astray. I remembered that introducing the second enemy through the reference IDs of the enemy might have been the tipping point. With just one enemy, the respawn worked like a charm. But with two, chaos ensued.&lt;/p&gt;

&lt;p&gt;My initial suspicion was that there was a hiccup in how the game was referencing these enemy objects. Maybe, just maybe, when the second enemy was defeated, the game's logic got entangled, pointing toward the fact that the enemies might share the same ID reference. This could potentially explain why it seemed to clone multiple enemies instead of just removing the defeated one and spawning one more to replace the destroyed one.&lt;/p&gt;

&lt;p&gt;Wondering how to solve the error, I took to the vast knowledge base available to anyone:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Unity's Documentation&lt;/strong&gt;: Perhaps there was something I missed or didn't understand about prefabs and their behavior. Or I might have been using the wrong syntax and functions that could mess up the code.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Good ol' Google&lt;/strong&gt;: Someone in the developer community must have faced a similar problem. A few keyword searches should point me in the right direction, right?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tutorials and Forums&lt;/strong&gt;: There's a wealth of knowledge in community forums and tutorial videos where developers share their insights, challenges, and solutions.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Despite my best efforts, and after 30 minutes to an hour of scouring the internet and sifting through code, the solution remained just out of reach. The problem persisted, which is quite a common problem every programmer faces, as you might not be searching for the right key term or passed over the solution. However, it is still as frustrating as you could expect it might be.&lt;/p&gt;

&lt;p&gt;This combined section should paint a clear picture of the troubleshooting process and the persistence in trying to solve the issue. Adjust any specifics to fit your exact experience.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Current Thoughts on the Issue&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;The world of game development is, if nothing else, a constant learning curve. As I sat back, taking a momentary break from my persistent troubleshooting attempts, a few thoughts came to mind.&lt;/p&gt;

&lt;p&gt;First and foremost was the possibility of an &lt;strong&gt;ID reference problem&lt;/strong&gt;. The behavior of the second enemy, especially its tendency to clone more enemies than what I believe, my code instructed, hinted at a deeper underlying issue. Perhaps the respawn script, in its current state, wasn't equipped to handle multiple instances of the enemy prefab. When the second enemy met its demise, it was conceivable that the system got confused, inadvertently referencing the original enemy's ID, leading to the unexpected multiple cloning.&lt;/p&gt;

&lt;p&gt;However, another observation countered this theory. Suppose it were purely an ID mix-up when killing one enemy (aka destroyed). Wouldn't the other enemy also be destroyed? But that wasn't the case. The original enemy remained unaffected, suggesting that their IDs might not be identical after all.&lt;/p&gt;

&lt;p&gt;So, where does this leave us? Admittedly, it is a bit of a conundrum. Game development, like any creative endeavor, is full of such moments. Moments where the path ahead isn't clear, and the answers aren't easily forthcoming. But, it's precisely challenges like these that spur growth, encouraging us to think outside the box, collaborate, and seek fresh perspectives.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Call to Action &amp;amp; Conclusion&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;These moments make me think about the larger community of game developers, both beginners and experienced, who have faced unexpected challenges. And I believe in the power of working together and sharing knowledge.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;To my fellow developers and readers&lt;/strong&gt;: Have you encountered a similar hurdle in your projects? Or perhaps you've got a fresh perspective or a nugget of wisdom that might shine a light on this peculiar problem? If so, please do discuss and inform me of my mistakes. It'll be greatly appreciated.&lt;/p&gt;

&lt;p&gt;Moreover, for anyone facing their development problems, remember you're not alone. The journey of game development is paved with trials but also triumphs. Sharing our challenges brings potential solutions and fosters a sense of community. We grow, learn, and evolve through our collective stories and shared experiences.&lt;/p&gt;

&lt;p&gt;Wrapping up, I'd like to express my gratitude to all those who took the time to engage with my story. Challenges like the one I've shared are stepping stones in our journey. They remind us that while game development is hardly easy, the reward of being able to solve bug errors and ultimately finishing your game or project is always worth it.&lt;/p&gt;

</description>
      <category>gamedev</category>
      <category>unity2d</category>
      <category>programming</category>
      <category>rpg</category>
    </item>
    <item>
      <title>Hello World of Coding: My Journey in Code</title>
      <dc:creator>Victor Andrade Resende</dc:creator>
      <pubDate>Fri, 29 Sep 2023 16:16:55 +0000</pubDate>
      <link>https://dev.to/resendetech/hello-world-of-coding-my-journey-in-code-2oki</link>
      <guid>https://dev.to/resendetech/hello-world-of-coding-my-journey-in-code-2oki</guid>
      <description>&lt;p&gt;I'm excited to have you here as I start this thrilling journey in the field of blogging my journey to if or when I become a software engineer.&lt;/p&gt;

&lt;p&gt;Allow me to introduce myself. My name is Victor, and I've always had a passion for coding and becoming a software engineer. During my free time, I enjoyed learning about C# and some Python learned at school, which further fueled my enthusiasm for software engineering. I'm eager to share my learning journey with you and build upon my skills.&lt;/p&gt;

&lt;p&gt;In this blog, I'll be taking you through my journey so far, the path I have ahead, the challenges and excitement I anticipate, and the projects that lie on the horizon. But that's not all. I aim to create a space where we can learn, grow, and interact with like-minded individuals.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Sparked My Interest in Software Engineering?
&lt;/h2&gt;

&lt;p&gt;Ever since I was a child, I have been fascinated with the idea of programming jobs and professions; it has always been an unconscious desire to become a software engineer. I have always envisioned myself pursuing a programming career and exploring its endless possibilities.&lt;/p&gt;

&lt;p&gt;One of the main reasons i got into programming and game design was a well-known YouTuber named Brackeys. Through his tutorials, and casual tone on game development, I was inspired and motivated to dive headfirst into the world of programming and game design, eager to create my own games and bring my ideas to life.&lt;/p&gt;

&lt;h2&gt;
  
  
  Previous Programming Experience
&lt;/h2&gt;

&lt;p&gt;During the game jam, I had the opportunity to collaborate with my friends in creating a parkour survival game. The challenge was to develop this game from scratch within just one week. The game was built using the Unity engine, and the objective was to mine resources and sell them to upgrade your equipment and overcome various obstacles. As you progress in the game, you would also need to purchase lighting equipment to illuminate the environment and prevent your character from going insane, as this would ultimately lead to losing the game.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;The Learning Path Ahead&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Aspirations and skills&lt;/p&gt;

&lt;p&gt;In the future, I want to improve my software development skills by understanding programming concepts, analyzing complex problems well, and coding proficiently with a deep understanding of the underlying principles.&lt;/p&gt;

&lt;p&gt;One of my main goals is to make a game from start to finish. I'll choose the best tools and frameworks, create a detailed design document, code the unique parts of my game, package it up, and then release it to the public. I want people to have a great time playing it!&lt;/p&gt;

&lt;h3&gt;
  
  
  Interesting Technologies
&lt;/h3&gt;

&lt;p&gt;I am highly interested in the field of Web development. I enjoy exploring into HTML, CSS, and JavaScript intricacies to create visually appealing and successful websites. Along the way, I am constantly learning and acquiring valuable skills that will benefit me in the long run.&lt;/p&gt;

&lt;p&gt;Another area that captivates me is game programming. The concept of player autonomy and the implementation of object-oriented coding techniques are particularly fascinating to me. I find great joy in coding interactive and engaging game mechanisms, such as card games, while ensuring that the code functions harmoniously and creates a balanced and fair gaming experience.&lt;/p&gt;

&lt;h2&gt;
  
  
  My Commitment
&lt;/h2&gt;

&lt;p&gt;I am strongly dedicated to continually learning and growing, which is essential for personal and professional development. I'm constantly looking to gain new knowledge and skills to improve myself and stay ahead in a fast-changing world, as I welcome challenges as opportunities to grow. I'm committed to expanding my horizons and pushing myself outside my comfort zone. Learning is a lifelong journey, and I'm fully committed to embracing it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Thank You
&lt;/h2&gt;

&lt;p&gt;So, whether you're a fellow coding enthusiast, a beginner seeking inspiration (like me!), or simply curious about my experiences, I invite you to join me on this path. Together, we'll explore new technologies and overcome challenges.&lt;/p&gt;

&lt;p&gt;Thank you for joining this journey. Now, let's dive in and discover the wonders of the coding world!&lt;/p&gt;

&lt;p&gt;Happy coding, &lt;br&gt;
Victor &lt;/p&gt;

</description>
      <category>coding</category>
      <category>gamedev</category>
      <category>webdev</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
