<?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: Taryn McMillan</title>
    <description>The latest articles on DEV Community by Taryn McMillan (@tarynmcmillan).</description>
    <link>https://dev.to/tarynmcmillan</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%2F566096%2Fdf41b6f0-de59-429b-896a-a26bcdf2bf06.png</url>
      <title>DEV Community: Taryn McMillan</title>
      <link>https://dev.to/tarynmcmillan</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/tarynmcmillan"/>
    <language>en</language>
    <item>
      <title>Embarking On My Hacktoberfest Journey as a Unity Game Repo Maintainer 🎃 🎮</title>
      <dc:creator>Taryn McMillan</dc:creator>
      <pubDate>Mon, 02 Oct 2023 18:26:31 +0000</pubDate>
      <link>https://dev.to/tarynmcmillan/embarking-on-my-hacktoberfest-journey-as-a-unity-game-repo-maintainer-2o46</link>
      <guid>https://dev.to/tarynmcmillan/embarking-on-my-hacktoberfest-journey-as-a-unity-game-repo-maintainer-2o46</guid>
      <description>&lt;h1&gt;
  
  
  Introduction 👋
&lt;/h1&gt;

&lt;p&gt;Hi, I’m Taryn! &lt;/p&gt;

&lt;p&gt;I’m a Unity dev who created a &lt;a href="https://github.com/TarynMcMillan/Tiny-Troves-of-Dev-Wisdom"&gt;small project&lt;/a&gt; for Hacktoberfest 2023. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;In this devlog, I’ll introduce you to the project and talk about my goals for Hacktoberfest as a game developer&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--zI4sRtiA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zceh1oi2gfx4mf2pgm6h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--zI4sRtiA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zceh1oi2gfx4mf2pgm6h.png" alt="A screenshot from Tiny Troves of Dev Wisdom." width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Tiny Troves of Dev Wisdom
&lt;/h2&gt;

&lt;p&gt;First, let’s talk about the project itself. 🌟&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/TarynMcMillan/Tiny-Troves-of-Dev-Wisdom"&gt;Tiny Troves of Dev Wisdom&lt;/a&gt; is a simple point-and-click 2D game.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The goal of the game is to select one of four chests&lt;/strong&gt;. When you click or tap on a chest, the Player will automatically move to that chest. The chest opens, revealing a piece of advice about the developer journey and the author of that advice. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I wanted to keep things really simple since this is my first time serving as a maintainer of a repo&lt;/strong&gt;. The game will continue spawning chests and revealing advice when the chests are tapped on until you exit it. &lt;/p&gt;

&lt;p&gt;I made the game with Unity, which you may or may not be familiar with given the recent controversy over changes to its pricing model. Before we continue, let’s take a quick look at how Unity works.&lt;/p&gt;

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

&lt;p&gt;Unity is a game engine that has been used to create popular games such as Hollow Knight and Cuphead. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;It uses C# for scripting and contains a host of other built-in visual tools and components&lt;/strong&gt;. As a standalone program, it is downloaded from the official Unity website and usually used alongside Visual Studio. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Solo game developers typically wear many different hats at once&lt;/strong&gt;. These different roles and responsibilities can include game designer, programmer, artist, composer, QA tester, project manager, and more. So suffice to say, no matter which game engine they use, game devs often have a lot on their plates. 😄&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;For Hacktoberfest, I wanted to cut through all the noise and make a game that’s more accessible to any and all contributors, whether or not they have direct experience with Unity.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;And so, let’s take a look at the initial planning and prototyping of the game.&lt;/p&gt;

&lt;h1&gt;
  
  
  The Birth of the Project 🧠
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--zcQf5hI5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9nb1y93rdj6nnie6zg2l.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--zcQf5hI5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9nb1y93rdj6nnie6zg2l.jpg" alt="An illustration of light bulbs with one lit up." width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  How the idea came about
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;I had &lt;u&gt;three main goals&lt;/u&gt; in mind when creating this project:&lt;/strong&gt; &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;I wanted to create something small in scope that non-Unity devs could contribute to. &lt;/li&gt;
&lt;li&gt;I wanted to make the project beginner-friendly so that everyone, no matter their experience level with open source, could make a contribution. &lt;/li&gt;
&lt;li&gt;I didn’t want contributors to have to download and install Unity locally on their machines. &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;After chatting with other developers, &lt;strong&gt;I decided to restrict the variety of contributions allowed for the game to just one text file&lt;/strong&gt;. This opened the door for non-code contributions while also bypassing the issue of requiring a Unity install. &lt;/p&gt;

&lt;p&gt;It did mean my project would be more “on the rails” than I had initially hoped, but I thought this would be the best way of making the project truly accessible to everyone. &lt;/p&gt;

&lt;h2&gt;
  
  
  Initial goals and scope of the project
&lt;/h2&gt;

&lt;p&gt;My aim was to avoid scope creep at all cost, but of course that’s easier said than done! 😅&lt;/p&gt;

&lt;p&gt;I knew I wanted the game to be advice-themed. &lt;strong&gt;All developers, no matter where they are in their journey, have something to offer when it comes to wisdom for other developers&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;Initially, I foresaw the game being more simplistic. In the initial prototype, there was no player at all. I was planning on relying on UI elements such as buttons to have the user open chests. However, I thought this might not be engaging enough so I ended up adding in a third-person controller. &lt;/p&gt;

&lt;p&gt;Using the keyboard, I could make the player run and jump. The game was much more interactive at this point, but not if you played it on mobile. I had been looking for an opportunity to practice my mobile development skills, so I ended up adding in some touchscreen controls.&lt;/p&gt;

&lt;p&gt;I had originally prototyped the game using Unity’s old input system. Adding touchscreen controls is more streamlined with the new input system. At this point, I ended up taking the time to update the game to the new input system and change how the game handles player input. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;In the end, the game is still small in scope, but I think it’s more visually appealing and easier to play than if I had just stuck with UI-based gameplay.&lt;/strong&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Preparing for Hacktoberfest 📋
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--nyb_BTlN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bgap0j4s5taurppmjpki.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--nyb_BTlN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bgap0j4s5taurppmjpki.jpg" alt="An autumn-themed illustration of a coffee cup." width="800" height="546"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Setting up the GitHub repo
&lt;/h2&gt;

&lt;p&gt;While I’m no stranger to setting up repos, most of my previous repos have been private. &lt;strong&gt;So preparing the Tiny Troves repo for public access required a fresh perspective and approach&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;I’m fortunate to be a member of the Virtual Coffee community and their &lt;a href="https://virtualcoffee.io/resources/developer-resources/open-source/maintainer-guide#repository-checklist"&gt;repo checklist&lt;/a&gt; was a life-saver when it came to knowing what to include to make the repo ready for Hacktoberfest.&lt;/p&gt;

&lt;p&gt;As a solo developer, I typically add a basic &lt;code&gt;README&lt;/code&gt; to my repos. &lt;strong&gt;The notion of creating a contributors’ guide, license, and code of conduct was new to me and a bit intimidating at first&lt;/strong&gt;. I found it helpful to look at examples of these files in other open source projects to help me see how they should be structured. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Finding the right assets for the project was another big hurdle to overcome&lt;/strong&gt;. Before I made the repo public, I had to make sure that all the assets in the game had licenses that were compatible with open-source distribution.&lt;/p&gt;

&lt;p&gt;As an extra precaution, I decided to limit my use of external assets and to include anything I do use in the &lt;code&gt;.gitignore&lt;/code&gt; file. I ended up creating most of the major game assets, such as the player and chest sprites, myself.&lt;/p&gt;

&lt;h2&gt;
  
  
  Defining clear contribution guidelines
&lt;/h2&gt;

&lt;p&gt;Officially, I’m asking contributors to only make changes to the &lt;code&gt;Advice.txt&lt;/code&gt; file that’s contained in the repo. Unofficially, any contributions related to documentation, bug fixes, or adding new features to the game are welcome.&lt;/p&gt;

&lt;p&gt;To keep things simple, I’ve structured the &lt;a href="https://github.com/TarynMcMillan/Tiny-Troves-of-Dev-Wisdom/blob/master/CONTRIBUTING.md"&gt;CONTRIBUTING.md&lt;/a&gt; file so that it only contains the instructions for a baseline contribution.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;In this file, you’ll learn how to:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Locate and open the &lt;code&gt;Advice.txt&lt;/code&gt; file in the repo&lt;/li&gt;
&lt;li&gt;Add your name and piece of developer advice to the &lt;code&gt;Advice.txt&lt;/code&gt; file&lt;/li&gt;
&lt;li&gt;Commit your changes and start a pull request&lt;/li&gt;
&lt;li&gt;View the &lt;a href="https://mystic-mill-games.itch.io/tiny-troves-of-dev-wisdom"&gt;current build&lt;/a&gt; of the game online&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Creating a welcoming environment for all contributors
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Tiny Troves of Dev Wisdom is for everyone, no matter your experience level with open source&lt;/strong&gt;. Maintaining the repo is going to be a learning exercise for me and I hope contributing to the repo can be a learning exercise for you too! ❤️&lt;/p&gt;

&lt;p&gt;I ask that all contributors respect the project’s &lt;a href="https://github.com/TarynMcMillan/Tiny-Troves-of-Dev-Wisdom/blob/master/CODE_OF_CONDUCT.md"&gt;Code of Conduct&lt;/a&gt; and that &lt;strong&gt;we all support and lift each other up as we embark on this Hacktoberfest journey together&lt;/strong&gt;.&lt;/p&gt;

&lt;h1&gt;
  
  
  Upward and Onward! 💎
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--kmqTuABZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9j2b0htbq3n8c7v2k2bt.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--kmqTuABZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9j2b0htbq3n8c7v2k2bt.jpg" alt="An illustration of a girl on a cliff." width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That wraps up this devlog on my Hacktoberfest project. I'm excited to see how the process of maintaining goes this month and I'll be back in a few weeks' time to reflect more on this journey.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;In the meantime, if you're looking for a repo to contribute to this Hacktoberfest, feel free to give &lt;a href="https://github.com/TarynMcMillan/Tiny-Troves-of-Dev-Wisdom"&gt;Tiny Troves of Dev Wisdom&lt;/a&gt; a go! 😄&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>hacktoberfest23</category>
      <category>unity3d</category>
      <category>csharp</category>
      <category>gamedev</category>
    </item>
    <item>
      <title>Devlog: Remaking the First Game I Ever Published</title>
      <dc:creator>Taryn McMillan</dc:creator>
      <pubDate>Tue, 07 Dec 2021 15:46:55 +0000</pubDate>
      <link>https://dev.to/tarynmcmillan/devlog-remaking-the-first-game-i-ever-published-3o36</link>
      <guid>https://dev.to/tarynmcmillan/devlog-remaking-the-first-game-i-ever-published-3o36</guid>
      <description>&lt;p&gt;&lt;strong&gt;In today's post, I'll be talking about my latest Unity project, which is an updated version of the first game I ever published online.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--_3RzKfsG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1638888869771/UjWqiulb_.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--_3RzKfsG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1638888869771/UjWqiulb_.png" alt="Splash Screen.png" width="800" height="487"&gt;&lt;/a&gt; &lt;em&gt;Introducing....No Crooks On Christmas!&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I decided to upgrade &lt;a href="https://store.steampowered.com/app/1788730/No_Crooks_On_Christmas/"&gt;No Crooks On Christmas&lt;/a&gt; as a kind of challenge to myself to see what I had learned about C# programming over the last year. In December of 2020, I had only been programming for a few months when I set a goal of publishing a short tower defense game by the end of the year. I worked on it pretty much every day through October and November and was able to publish it on December 1st. At the time, this was a big accomplishment! I've been thinking about going back and updating the game for some time now and with the holiday season in full swing, I thought now was the perfect time.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;So let's take a look at some of the work I undertook to make No Crooks On Christmas, Version 2.0!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--IZBCmbcp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1638887229435/AFytFSoRm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--IZBCmbcp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1638887229435/AFytFSoRm.png" alt="Crooks Divider.png" width="800" height="89"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Refactoring
&lt;/h1&gt;

&lt;p&gt;I hadn't worked on the project since December of last year so I wasn't really sure what to expect when I opened it back up again. I was pleasantly surprised to find that the code still worked, but it needed &lt;strong&gt;a LOT&lt;/strong&gt; of cleaning up.&lt;/p&gt;

&lt;p&gt;My first goal was to refactor as much as possible. I had a lot of repetition in my code, especially when it came to turning on/off particle effects and audio. I could see many places where I over-complicated my code, such as in the &lt;code&gt;Tutorial Manager&lt;/code&gt; class, where I initially used a complex &lt;code&gt;for&lt;/code&gt; loop that really wasn't necessary.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ysFbn73l--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1635861973361/hQjWzOps0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ysFbn73l--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1635861973361/hQjWzOps0.png" alt="imageedit_1_6893197598.png" width="800" height="805"&gt;&lt;/a&gt; &lt;em&gt;This &lt;code&gt;Tutorial Manager&lt;/code&gt; script received a lot of refactoring and cutting. The lines of code highlighted in pink were all deleted.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;While refactoring, some of my methods ended up empty. It was a great feeling to be able to delete them and shorten my classes even more.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--StOkwIfp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1635952023637/gUnZF2j92.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--StOkwIfp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1635952023637/gUnZF2j92.png" alt="carbon(41).png" width="800" height="245"&gt;&lt;/a&gt; &lt;em&gt;An empty method ready for deletion!&lt;/em&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  New Features
&lt;/h1&gt;

&lt;p&gt;This was the part I was most excited about, but also most nervous about. I had a general idea of how I wanted to expand the game and add in new features, but it was hard to pull the trigger and start pulling apart the game so that I could put it back together again.&lt;/p&gt;

&lt;p&gt;I started by expanding the play space so that the game's action no longer took place in just one room, but over the space of a whole house. This took more time than I wanted it to but I felt it was important to make sure I was satisfied with it. I ended up with four main rooms: the bedroom, laundry room, bathroom, and living room.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ZzcNBOmO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1638888620797/sQX3HiKts.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ZzcNBOmO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1638888620797/sQX3HiKts.png" alt="Crooks Rooms(1).png" width="800" height="450"&gt;&lt;/a&gt; &lt;em&gt;The game's four main rooms&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The enemies move around the play space using a simple Pathfinder system, which I left mostly in tact. I did, however, add in some code for turning the enemies once they reached the end of a path so that they always ended up facing forward.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--V2rbkd9v--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1635862968403/TTGiY2dbF.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--V2rbkd9v--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1635862968403/TTGiY2dbF.png" alt="carbon(40).png" width="800" height="1018"&gt;&lt;/a&gt; &lt;em&gt;The &lt;code&gt;TurnEnemy&lt;/code&gt; method is triggered via a Collider which sits on each "turning block."&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Special Abilities
&lt;/h2&gt;

&lt;p&gt;The next thing I tackled were the special abilities in the game. I already had a Water Bucket programmed which could be used to douse the flames on the player base. However, I wanted to streamline the code for this ability and add in new, similar abilities for the player to use.&lt;/p&gt;

&lt;p&gt;I decided to create a central &lt;code&gt;Special Ability&lt;/code&gt; class for the Water Bucket, a newly-created Bomb ability, as well as a newly-created Toilet Flush ability. This script controls the cooldowns for each ability and listens for player clicks on the special ability objects.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--SMCPRz1V--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1635862310266/c7SK7a-pk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SMCPRz1V--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1635862310266/c7SK7a-pk.png" alt="carbon(36).png" width="800" height="859"&gt;&lt;/a&gt; &lt;em&gt;This section controls whether a special ability is ready to use.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Once an object is clicked, a switch statement determines which method to call next.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--xYC-NBQQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1635862258480/csvIfuD-X.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--xYC-NBQQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1635862258480/csvIfuD-X.png" alt="carbon(35).png" width="800" height="544"&gt;&lt;/a&gt; &lt;em&gt;The switch statement controls which method to call next.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I would have preferred to have all of the special ability mechanics in one script, but I did end up having to attach short scripts onto each special ability object to handle any mechanics that were specific to that ability. I'm always looking for ways to centralize my code and write it so that it can be easily scaled up as I'm adding in new features. This felt like a fairly satisfying way to handle the special abilities in my game though, so I was ready to move on to the next thing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Enemy Abilities
&lt;/h2&gt;

&lt;p&gt;Another big project I tackled was adding in some more enemy types. I could probably write a whole blog post on this alone since there was a lot involved in this process. Not only did I have to perfect and in some cases create enemy animations, but I also needed to program unique abilities for each enemy. I wanted abilities that would have a sizable impact on the player but wouldn't be too complicated to code.&lt;/p&gt;

&lt;p&gt;In the previous iteration of the game, there was only one enemy (a goblin) with no special abilities. This time around, I added in three more enemies.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Eyebat&lt;/strong&gt; : Uses laser beam to reset the special Bucket ability (making it harder for the player to use the heal-over-time ability)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Spiky Turtle&lt;/strong&gt; : Resists turret attacks&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Slime&lt;/strong&gt; : Resists special attacks such as the Toilet Flush and Bomb&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--84bIYG27--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1638887648227/nwLx5JK-d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--84bIYG27--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1638887648227/nwLx5JK-d.png" alt="Crooks enemies.png" width="800" height="450"&gt;&lt;/a&gt; &lt;em&gt;The four different enemies in the game&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I also added in a fun little 'intro' each time a new enemy appears on the screen. In my code, I use &lt;code&gt;transform&lt;/code&gt; on the Main Camera to zoom in, and then reset the Camera position after the intro is finished.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--TWv_vCTt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1636121703564/gNoZ6BmGo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--TWv_vCTt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1636121703564/gNoZ6BmGo.png" alt="Screenshot 2021-11-05 094317.png" width="800" height="453"&gt;&lt;/a&gt; &lt;em&gt;Introducing a new enemy.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Since I was using premade assets, I knew it might be tricky to alter the animations that came with them. Normally, animations from premade assets are read-only, but you can usually get around this by making a copy of the animation and modifying it in the Animation window.&lt;/p&gt;

&lt;p&gt;Once my animations were set, it was a simple matter of hooking them up in the Animator window and making triggers so that the animations transitioned in and out at the appropriate times in the game.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Oamuae1U--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1636213267162/hPtrCcXG0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Oamuae1U--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1636213267162/hPtrCcXG0.png" alt="carbon(42).png" width="800" height="456"&gt;&lt;/a&gt; &lt;em&gt;This simple code controls the transition between the "Defend" and "Idle" animations for the game's Turtle enemy.&lt;/em&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Game Programming Patterns
&lt;/h1&gt;

&lt;p&gt;I spent some time recently learning about game programming patterns via GameDev.tv's excellent course and I was eager for an opportunity to put what I'd learned into practice. One thing they stress in the course is that once you know about patterns, it's easy to overuse them or to use them when it's not really necessary. So I knew that I needed to be careful in my judgement.&lt;/p&gt;

&lt;p&gt;I could, however, see several places in my project where the Observer pattern would be really useful.&lt;/p&gt;

&lt;p&gt;My &lt;code&gt;Player Health&lt;/code&gt; class controls when the presents start on fire, so I started by creating a public event in that class and referencing it at the top of the script.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--84VVvNau--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1635862622593/T7xAS7xSz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--84VVvNau--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1635862622593/T7xAS7xSz.png" alt="carbon(37).png" width="800" height="193"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Next, I added a reference to the &lt;code&gt;Player Health&lt;/code&gt; class in my &lt;code&gt;Presents&lt;/code&gt; class and subscribed to the &lt;code&gt;onTriggerFire&lt;/code&gt; event in the &lt;code&gt;Start&lt;/code&gt; method.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--qas2Ckxs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1635862750231/G_o-VBMnj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--qas2Ckxs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1635862750231/G_o-VBMnj.png" alt="carbon(39).png" width="800" height="193"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;With this in place, my Presents class now automatically runs the &lt;code&gt;IgniteFlames()&lt;/code&gt; method when the &lt;code&gt;onTriggerFire&lt;/code&gt; event occurs. Cool, right? This eliminates the need to use public methods, which can create a lot of messy spaghetti code. I really like the Observer pattern and can't wait to use it in some of my other projects.&lt;/p&gt;

&lt;h1&gt;
  
  
  Asset Organization
&lt;/h1&gt;

&lt;p&gt;This was less of a priority, but I did spend some time cleaning up my project assets and making sure they were properly organized. I usually try to have a dedicated folder for each type of asset (Scripts, SFX, VFX, Images, Animations, etc.), but as a project expands, it's inevitable that there will be assets out of place. Having well-organized assets makes it &lt;strong&gt;so&lt;/strong&gt; much easier to invite others to collaborate on your project. Plus it's much easier to find things when you come back to your project after some time away.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--YcsDc_rb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1638888132050/L-HngmXDRc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--YcsDc_rb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1638888132050/L-HngmXDRc.png" alt="Tidy assets.png" width="800" height="213"&gt;&lt;/a&gt; &lt;em&gt;Separating assets into different folders makes it easier to find what you're looking for&lt;/em&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Odds and Ends
&lt;/h1&gt;

&lt;p&gt;One of the noticeable visual changes I made was to the lighting in the game. Initially, I had gone with more cool tones but I decided to warm things up in this iteration of the game. You can see the color difference in the screenshots below.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--B1PZTQIs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1636121012182/jy0b_L0ov.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--B1PZTQIs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1636121012182/jy0b_L0ov.png" alt="Screenshot 2021-10-18 231456.png" width="800" height="450"&gt;&lt;/a&gt; &lt;em&gt;The original lighting in the game was more blue-toned and less warm.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--nwXTCEIA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1636121041497/4nyQJFGJ0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--nwXTCEIA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1636121041497/4nyQJFGJ0.png" alt="Screenshot 2021-11-05 094852.png" width="800" height="450"&gt;&lt;/a&gt; &lt;em&gt;Warmer lighting and a simpler UI make for a better player experience.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I've been focused lately on improving my &lt;code&gt;git&lt;/code&gt; commit messages and I strove to be more intentional and conscientious when writing commit messages this time around. I think it really did pay off, especially when I had to unexpectedly roll back my project to a prior commit just before uploading it to Steam! If you haven't spent some time considering the form and syntax of your &lt;code&gt;git&lt;/code&gt; messages, I highly recommend it. It's time well-spent!&lt;/p&gt;

&lt;h1&gt;
  
  
  What's Next?
&lt;/h1&gt;

&lt;p&gt;Now that the new version of the game is completed, it's time to promote it! I have to admit that this is my least favorite part (I think that's common for developers!).&lt;/p&gt;

&lt;p&gt;Honestly, after working my way through this behemoth of a project, I've realized that my favorite part of game development is actually the coding. I do love curating and creating assets as well but I think that programming is where my heart truly lies. It's such an exciting experience to learn something new (like the Observer pattern I mentioned above) and implement it for the first time in my code! Hopefully I'll be doing that a lot more in the future as I continue to learn and develop my programming skills.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Happy Holidays and thanks for reading!&lt;/strong&gt; 🎅🏻&lt;/p&gt;




&lt;p&gt;&lt;a href="https://store.steampowered.com/app/1788730/No_Crooks_On_Christmas/"&gt;No Crooks On Christmas&lt;/a&gt; is live and free to play on Steam. If you enjoyed this article, please like, share, or follow. 💗 You can also reach me on &lt;a href="https://twitter.com/TarynWritesCode"&gt;Twitter&lt;/a&gt; or &lt;a href="https://www.instagram.com/tarynwritescode/"&gt;Instagram&lt;/a&gt; .&lt;/p&gt;

</description>
      <category>gamedev</category>
      <category>unity3d</category>
      <category>madewithunity</category>
      <category>devlog</category>
    </item>
    <item>
      <title>Game Development Projects for Hacktoberfest</title>
      <dc:creator>Taryn McMillan</dc:creator>
      <pubDate>Mon, 04 Oct 2021 14:44:57 +0000</pubDate>
      <link>https://dev.to/tarynmcmillan/game-development-projects-for-hacktoberfest-128c</link>
      <guid>https://dev.to/tarynmcmillan/game-development-projects-for-hacktoberfest-128c</guid>
      <description>&lt;p&gt;October is an important month for open source software and if you're a game developer, you may be wondering how you can join in on the fun.&lt;/p&gt;

&lt;p&gt;In this article, I've compiled some of the &lt;strong&gt;best open source game development projects&lt;/strong&gt; I could find on GitHub that are marked with the &lt;code&gt;hacktoberfest&lt;/code&gt; tag.&lt;/p&gt;

&lt;p&gt;I'll be adding to this list throughout the month so if you have any projects to suggest, please leave me a comment below.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Note: I tried to grab screenshots but not all projects had them readily available. All credit for the images in this post goes to the project developers.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  1. &lt;a href="https://github.com/OpenRCT2/OpenRCT2" rel="noopener noreferrer"&gt;OpenRCT2&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;A recreation of the popular game RollerCoaster Tycoon 2.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Languages:&lt;/strong&gt; C++&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1633353406393%2FfRwQpPvIK.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1633353406393%2FfRwQpPvIK.png" alt="Roller coaster tycoon.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  2. &lt;a href="https://github.com/CleverRaven/Cataclysm-DDA" rel="noopener noreferrer"&gt;Cataclysm: Dark Days Ahead&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;A post-apocalyptic turn-based survival game.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Languages:&lt;/strong&gt; C++&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1633355545000%2FgR3ncp6Gb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1633355545000%2FgR3ncp6Gb.png" alt="Dark Days Ahead.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  3. &lt;a href="https://github.com/LeagueSandbox/GameServer" rel="noopener noreferrer"&gt;League Sandbox&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The game server repo for the League Sandbox project for League of Legends.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Languages:&lt;/strong&gt; C#&lt;/p&gt;

&lt;h2&gt;
  
  
  4. &lt;a href="https://github.com/amethyst/amethyst" rel="noopener noreferrer"&gt;Amethyst Game Engine&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;A fast and efficient game engine built with Rust.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Languages:&lt;/strong&gt; Rust&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1633353991603%2Falbofh-Ml.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1633353991603%2Falbofh-Ml.png" alt="Amethyst.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  5. &lt;a href="https://github.com/flame-engine/flame" rel="noopener noreferrer"&gt;Flame&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;A game engine built with Flutter.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Languages:&lt;/strong&gt; Dart&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1633355679841%2FB4yF57cva.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1633355679841%2FB4yF57cva.png" alt="imageedit_1_5036318080.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  6. &lt;a href="https://github.com/bevyengine/bevy" rel="noopener noreferrer"&gt;Bevy&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;A game engine built with Rust.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Languages:&lt;/strong&gt; Rust&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1633354368439%2FMe12dsF5e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1633354368439%2FMe12dsF5e.png" alt="Bevy.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  7. &lt;a href="https://github.com/LIJI32/SameBoy" rel="noopener noreferrer"&gt;SameBoy&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;A Game Boy and Game Boy Color emulator.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Languages:&lt;/strong&gt; C&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1633354436230%2F5JMpX3siG.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1633354436230%2F5JMpX3siG.png" alt="Sameboy.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  8. &lt;a href="https://github.com/thecodingmachine/workadventure" rel="noopener noreferrer"&gt;Work Adventure&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;A 16-bit video game that emulates a workplace.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Languages:&lt;/strong&gt; TypeScript, Svelte, HTML&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1633354766414%2F35vE8vTRq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1633354766414%2F35vE8vTRq.png" alt="Work Adventure.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  9. &lt;a href="https://github.com/ppb/pursuedpybear" rel="noopener noreferrer"&gt;PursuedPyBear&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;A game engine written in Python.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Languages:&lt;/strong&gt; Python&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1633354909143%2Fn_dSSU0X2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1633354909143%2Fn_dSSU0X2.png" alt="Pybear.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  10. &lt;a href="https://github.com/DexterHuang/CyberCodeOnline" rel="noopener noreferrer"&gt;CyberCode Online&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;A browser and mobile MMORPG game with a fun premise.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Languages:&lt;/strong&gt; TypeScript&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1633355152966%2Fg4fKHvpct.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1633355152966%2Fg4fKHvpct.png" alt="Cybercode Online.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  11. &lt;a href="https://github.com/gosu/gosu" rel="noopener noreferrer"&gt;Gosu&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;A 2D game development library.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Languages:&lt;/strong&gt; C++, Ruby&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1633355853038%2Fk-1b8nXmQ.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1633355853038%2Fk-1b8nXmQ.png" alt="Gosu.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  12. &lt;a href="https://github.com/PGMDev/PGM" rel="noopener noreferrer"&gt;PGM&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;A PVP Game Manager for Minecraft.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Languages:&lt;/strong&gt; Java&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1633355786317%2FXswhYrSoor.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1633355786317%2FXswhYrSoor.png" alt="PGM logo.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  13. &lt;a href="https://github.com/notapixelstudio/superstarfighter" rel="noopener noreferrer"&gt;SuperStarFighter&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;An arcade combat party game developed with Godot.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Languages:&lt;/strong&gt; GDScript&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1633272039755%2FDvZok6Csm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1633272039755%2FDvZok6Csm.png" alt="Super Star Fighter.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  14. &lt;a href="https://github.com/pokeclicker/pokeclicker" rel="noopener noreferrer"&gt;PokéClicker&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;A fast-paced Pokemon themed clicker game.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Languages:&lt;/strong&gt; TypeScript, HTML&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1633272313542%2F1yaUQVyOf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1633272313542%2F1yaUQVyOf.png" alt="Pokeclicker.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  15. &lt;a href="https://github.com/FreezingMoon/AncientBeast" rel="noopener noreferrer"&gt;Ancient Beast&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;A turn-based strategy game.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Languages:&lt;/strong&gt; JavaScript&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1633272483303%2FlwdC41q-M.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1633272483303%2FlwdC41q-M.png" alt="Ancient Beast.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  16. &lt;a href="https://github.com/MovingBlocks/Terasology" rel="noopener noreferrer"&gt;Terasology&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;A voxel-based game inspired by Minecraft.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Languages:&lt;/strong&gt; Java&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1633272600761%2F0zXuE3p4Z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1633272600761%2F0zXuE3p4Z.png" alt="Terasology.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  17. &lt;a href="https://github.com/dungeon-revealer/dungeon-revealer" rel="noopener noreferrer"&gt;Dungeon Revealer&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;An app for playing pen and paper games like Dungeons and Dragons.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Languages:&lt;/strong&gt; TypeScript&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1633272882420%2FI_2xhsc7b.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1633272882420%2FI_2xhsc7b.png" alt="Dungeon Revealer.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  18. &lt;a href="https://github.com/excaliburjs/Excalibur" rel="noopener noreferrer"&gt;Excalibur&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;A game engine for making 2D games using HTML5 canvas.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Languages:&lt;/strong&gt; TypeScript&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1633273116440%2FQqDTpk2FW.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1633273116440%2FQqDTpk2FW.png" alt="Excalibur.png"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;Thank you for reading! If you found this article useful, please feel free to reach out on &lt;a href="https://twitter.com/TarynWritesCode" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt; or &lt;a href="https://www.instagram.com/tarynwritescode/" rel="noopener noreferrer"&gt;Instagram&lt;/a&gt; .&lt;/p&gt;

</description>
      <category>hacktoberfest</category>
      <category>opensource</category>
      <category>github</category>
      <category>gamedev</category>
    </item>
    <item>
      <title>A History of Version Control</title>
      <dc:creator>Taryn McMillan</dc:creator>
      <pubDate>Fri, 24 Sep 2021 17:02:52 +0000</pubDate>
      <link>https://dev.to/tarynmcmillan/a-history-of-version-control-27me</link>
      <guid>https://dev.to/tarynmcmillan/a-history-of-version-control-27me</guid>
      <description>&lt;p&gt;&lt;strong&gt;If you’re a developer, chances are you’ve used version control.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;From Git to Mercurial, there are many version control systems to choose from. But have you ever wondered how these tools came to be?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;In this article, I’ll be looking back at the history of version control and tracing its origins from a simple punched card system to the sophisticated software we know now.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--M6u5Vmz0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1632494998500/GHmHux9o3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--M6u5Vmz0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1632494998500/GHmHux9o3.png" alt="Version Control timeline(2).png" width="800" height="450"&gt;&lt;/a&gt;&lt;em&gt;A timeline of version control systems from the early 1960s through the early 2000s&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--4pHBlRTq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1632495506435/iJh1QEec8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4pHBlRTq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1632495506435/iJh1QEec8.png" alt="History divider.png" width="800" height="89"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  1960s
&lt;/h1&gt;

&lt;p&gt;The predecessor of modern version control tools was &lt;strong&gt;IEBUPDTE&lt;/strong&gt; , which was used with IBM's OS/360. It was developed in the early 1960s and primarily used punched cards to store data. While there is some debate over whether IEBUPDTE constitutes ‘true’ version control, it did provide the ability to create and update libraries of code in a way that’s similar to today’s patching systems.&lt;/p&gt;

&lt;h1&gt;
  
  
  1970s
&lt;/h1&gt;

&lt;p&gt;In 1972, Bell Labs made a breakthrough in the field of version control. They created &lt;strong&gt;SCCS (Source Code Control System)&lt;/strong&gt;, which was written in C and developed by Marc Rochkind. This system shared many characteristics with modern version control systems such as the ability to create, edit, and track changes to files. However, it lacked the ability for more than one user to check out and work on a file at the same time. SCCS was made available to the public in 1977 and was the primary version control system into the early 1980s.&lt;/p&gt;

&lt;h1&gt;
  
  
  1980s
&lt;/h1&gt;

&lt;p&gt;In 1982, Walter Tichy developed a new system called &lt;strong&gt;RCS&lt;/strong&gt; , or &lt;strong&gt;Revision Control System&lt;/strong&gt;. RCS still only allowed one user at a time to make edits and only supported the ability to work on single files, rather than a whole project. However, it did pioneer a new way of tracking changes called &lt;em&gt;reverse deltas&lt;/em&gt;. Rather than store all of the versions of a file, RCS used a single recent version as its baseline from which all other versions were created. For the time, this was a faster and more efficient way of tracking changes.&lt;/p&gt;

&lt;p&gt;A few years later in 1986, Dick Grune developed &lt;strong&gt;CVS (Concurrent Versions Systems)&lt;/strong&gt;, which was also written in C. CVS finally allowed more than one developer to work on a file at the same time. Users would deploy the &lt;em&gt;UpdateVersion&lt;/em&gt; command to update a file to the latest version of that file on the server. CVS used &lt;em&gt;delta encoding&lt;/em&gt; or &lt;em&gt;compression&lt;/em&gt;, which tracks differences but not entire versions of files. With its use of a client-server model and branches, CVS is a much more modern example of version control.&lt;/p&gt;

&lt;h1&gt;
  
  
  1990s to present
&lt;/h1&gt;

&lt;p&gt;The next major version control system was &lt;strong&gt;Subversion (SVN)&lt;/strong&gt;, which was created in 2000 by CollabNet. SVN preserved many of the features included in CVS so that users could easily transition between the two. By 2010, SVN was renamed &lt;strong&gt;Apache Subversion&lt;/strong&gt; after it became part of the Apache Software Foundation.&lt;/p&gt;

&lt;p&gt;SVN is an example of a &lt;strong&gt;centralized version control system (CVCS)&lt;/strong&gt;. Changes are made to a single copy of the project on a server and other users can &lt;em&gt;pull down&lt;/em&gt; the latest version of the project to make their edits. There are many Subversion clients still in use today, such as Tortoise SVN and SmartSVN. However, CVCS has been eclipsed in recent years by a more modern form of version control: the &lt;strong&gt;distributed version control system (DVCS)&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;This brings us to the present. Currently, the most well-known DVCS is &lt;strong&gt;Git&lt;/strong&gt; , which was created in 2005 by Linus Torvalds. The basic logic behind a DVCS is that a copy of the repository and its history is downloaded by every user. Systems like Git are known for being fast and reliable, with good branching capabilities. For now, it seems that DVCS is the future of version control, but as repositories continue to grow in size, it may be necessary to innovate even further.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--4pHBlRTq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1632495506435/iJh1QEec8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4pHBlRTq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1632495506435/iJh1QEec8.png" alt="History divider.png" width="800" height="89"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Conclusion
&lt;/h1&gt;

&lt;p&gt;By now I hope you can see that &lt;strong&gt;version control has a long and fascinating history&lt;/strong&gt;. As developers, we sometimes take software like Git for granted. The next time you use version control, take a second to think of all the hard work that went into making this essential everyday tool.&lt;/p&gt;

&lt;h1&gt;
  
  
  References
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://svnbook.red-bean.com/en/1.7/svn.intro.whatis.html#svn.intro.history"&gt;https://svnbook.red-bean.com/en/1.7/svn.intro.whatis.html#svn.intro.history&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.perforce.com/blog/vcs/what-svn"&gt;https://www.perforce.com/blog/vcs/what-svn&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.gnu.org/software/rcs/"&gt;https://www.gnu.org/software/rcs/&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.plasticscm.com/version-control-history"&gt;https://www.plasticscm.com/version-control-history&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://en.wikipedia.org/wiki/Version%5C_control"&gt;https://en.wikipedia.org/wiki/Version\_control&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.red-gate.com/blog/database-devops/history-of-version-control"&gt;https://www.red-gate.com/blog/database-devops/history-of-version-control&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://initialcommit.com/blog/Technical-Guide-VCS-Internals"&gt;https://initialcommit.com/blog/Technical-Guide-VCS-Internals&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://softwareengineering.stackexchange.com/questions/184695/when-was-source-control-invented"&gt;https://softwareengineering.stackexchange.com/questions/184695/when-was-source-control-invented&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.perforce.com/blog/vcs/what-dvcs-anyway"&gt;https://www.perforce.com/blog/vcs/what-dvcs-anyway&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://en.wikipedia.org/wiki/Comparison%5C_of%5C_version-control%5C_software#History%5C_and%5C_adoption"&gt;https://en.wikipedia.org/wiki/Comparison\_of\_version-control\_software#History\_and\_adoption&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.atlassian.com/blog/software-teams/version-control-centralized-dvcs"&gt;https://www.atlassian.com/blog/software-teams/version-control-centralized-dvcs&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://cap-lore.com/BigStore/RevDelta.html"&gt;http://cap-lore.com/BigStore/RevDelta.html&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>programming</category>
      <category>github</category>
      <category>git</category>
      <category>learning</category>
    </item>
    <item>
      <title>Debugging as a Solo Game Developer: My Workflow</title>
      <dc:creator>Taryn McMillan</dc:creator>
      <pubDate>Sun, 19 Sep 2021 15:37:03 +0000</pubDate>
      <link>https://dev.to/tarynmcmillan/debugging-as-a-solo-game-developer-my-workflow-mjo</link>
      <guid>https://dev.to/tarynmcmillan/debugging-as-a-solo-game-developer-my-workflow-mjo</guid>
      <description>&lt;p&gt;&lt;strong&gt;Debugging.&lt;/strong&gt; 🪲&lt;/p&gt;

&lt;p&gt;Like it or not, it's a fundamental part of being a developer.&lt;/p&gt;

&lt;p&gt;Over the past year, I've learned to like debugging, and even refactoring, my code. There's a certain sense of satisfaction that comes with cleaning up code and making it neat and tidy. Perhaps you've felt it too.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;In this article, I'm going to walk you through the steps I take to debug my C# code as a Unity developer&lt;/strong&gt;. Even if you don't work with Unity, hopefully this article will inspire you to reflect on your own debugging process and better appreciate all of the hard work you do to make your code shine. 🌟&lt;/p&gt;

&lt;h2&gt;
  
  
  When to debug?
&lt;/h2&gt;

&lt;p&gt;Before I get started, I wanted to talk a little bit about when to debug in Unity. &lt;strong&gt;Generally, I don't think you need to fix a bug the second you find it, unless it's game-breaking&lt;/strong&gt;. With newer versions of Unity, I've been having trouble testing my game in the editor without fixing error warnings first. This is a bit of a pain because it means I have to stop what I'm doing and immediately address each and every bug, even if it is minor and unrelated to the main game mechanics. But in the long run, I kind of appreciate being forced to do this since it means less trouble for my code down the line.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--j1OIWeR5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1632059887101/kX5cQ2Cst.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--j1OIWeR5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1632059887101/kX5cQ2Cst.png" alt="imageedit_1_7159381303.png" width="800" height="454"&gt;&lt;/a&gt; &lt;em&gt;The Console is where debug messages appear in Unity. You can find the Console at the bottom of the Unity editor window.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--R2P7hNUR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1631912028111/U0aj3lMeu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--R2P7hNUR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1631912028111/U0aj3lMeu.png" alt="Unity divider.png" width="800" height="89"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Debugging in Unity: My Five Step Process
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;Now let's jump into the meat of this article and look at the five main steps I take each time I try to fix a bug in a Unity project.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step One: Back up my project
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;I use Sourcetree to back up my work and my process looks like this:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Open up &lt;strong&gt;Sourcetree&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Stage any &lt;strong&gt;unstaged files&lt;/strong&gt; in the project I'm backing up.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Write a blurb in the &lt;strong&gt;Commit&lt;/strong&gt; text box to summarize the changes I've made. Sometimes I will just note that this is a backup commit of the project before I add a new feature or attempt some heavy debugging.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Hit &lt;strong&gt;Commit&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Hit &lt;strong&gt;Push&lt;/strong&gt; to back my project up to a remote repository on GitHub.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;PS. If you are a game developer who is looking for a solid introduction to using Unity with Sourcetree, I highly recommend GameDev.tv's &lt;a href="https://www.gamedev.tv/p/git-smart-course"&gt;Get Git Smart Course&lt;/a&gt;.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--dS2GC6gb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1631991279254/iWkAWlkVF.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--dS2GC6gb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1631991279254/iWkAWlkVF.png" alt="imageedit_1_9753516036.png" width="503" height="151"&gt;&lt;/a&gt; &lt;em&gt;An image of the comment box for a commit in Sourcetree.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step Two: Check for error codes or warnings in the Console
&lt;/h2&gt;

&lt;p&gt;Next, I turn my attention to the Console and read any error messages or warnings that have popped up. Double-clicking these messages will open the script (if applicable) where the error occurs, and I can usually go from there.&lt;/p&gt;

&lt;p&gt;Once you've worked in Unity for a while, you'll become familiar with certain types of errors.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Here are some examples you might see:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Missing syntax like a semi-colon in a script (this is uncommon since you can't actually play your game with a syntax error like this; therefore, you'll usually catch this error in Visual Studio, well before it appears in the Console)&lt;/li&gt;
&lt;li&gt;Forgetting to add a scene to the Build Index in Build Settings&lt;/li&gt;
&lt;li&gt;Going outside the bounds of an array or list&lt;/li&gt;
&lt;li&gt;Missing a reference to a game object in either a script or the Inspector&lt;/li&gt;
&lt;li&gt;The dreaded Stack Overflow error (usually caused by a method referencing itself and thus creating an infinite loop!)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--deMfJ0bV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1632059570669/avQwqQeIY.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--deMfJ0bV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1632059570669/avQwqQeIY.png" alt="imageedit_1_5993312673.png" width="800" height="131"&gt;&lt;/a&gt; &lt;em&gt;An image of a common error message in the Console. In this example, I have forgotten to add a scene to the project's Build Index.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step Three: Check for problems in the Inspector
&lt;/h2&gt;

&lt;p&gt;Often the Console will suggest that the problem is caused by an incorrect or missing setting in the Inspector. So the next thing I'll do is look at the Inspector and check whether anything is amiss there.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Here are some of the things to be on the lookout for in the Inspector:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;An empty serialized field&lt;/li&gt;
&lt;li&gt;A missing reference to a prefab or game object&lt;/li&gt;
&lt;li&gt;A missing component such as Rigidbody or Collider&lt;/li&gt;
&lt;li&gt;A missing script on a game object&lt;/li&gt;
&lt;li&gt;Using the wrong version of a Collider or Rigidbody (ie. 2D instead of 3D)&lt;/li&gt;
&lt;li&gt;Forgetting to hook up the &lt;strong&gt;OnClick()&lt;/strong&gt; event for a button&lt;/li&gt;
&lt;li&gt;Using a wrong or misspelled tag/layer on a game object&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--6vouC6aC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1632059372924/NuC1OdM9Z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--6vouC6aC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1632059372924/NuC1OdM9Z.png" alt="imageedit_1_8625184198.png" width="648" height="172"&gt;&lt;/a&gt; &lt;em&gt;An image of a common error message in the Console. In this example, I have forgotten to drag and drop a game object into a Serialized field in the Inspector.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step Four: Check for problems in the scripts
&lt;/h2&gt;

&lt;p&gt;Next, I'll open up my scripts and see if I can problem solve there.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Here are some common issues that you may run into:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Trying to access a private method or variable from another class&lt;/li&gt;
&lt;li&gt;Forgetting to serialize a variable&lt;/li&gt;
&lt;li&gt;Using an incorrect or missing namespace&lt;/li&gt;
&lt;li&gt;Missing a reference to a game object&lt;/li&gt;
&lt;li&gt;Missing a reference to a component. This happens sometimes with &lt;strong&gt;GetComponent&amp;lt;&amp;gt;&lt;/strong&gt;. You may be trying to access a component which does not currently exist on the game object. To solve this, add the component via the Inspector&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Step Five: Start writing Debug.Log or print() statements
&lt;/h2&gt;

&lt;p&gt;Once I've gone through the steps above and made sure that the problem isn't with something I've forgotten to do in the Inspector, then I'll start using &lt;strong&gt;Debug.Log&lt;/strong&gt; or &lt;strong&gt;print()&lt;/strong&gt; in my scripts. Usually by this time I have a pretty good idea of where the problem exists. I like to write my &lt;strong&gt;Debug.Log&lt;/strong&gt; or &lt;strong&gt;print()&lt;/strong&gt; statements with a string statement at the beginning so that I don't lose track of what I'm testing for.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;So for example, if I was testing to see whether a variable was returning True or False, I'd write:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--0kV1uQBu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1632059020239/fSjg8g0ul.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--0kV1uQBu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1632059020239/fSjg8g0ul.png" alt="carbon(32).png" width="800" height="385"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And the output would look like this in the Console:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--S87Y3R1h--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1632059094152/vaxhaz_1H.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--S87Y3R1h--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1632059094152/vaxhaz_1H.png" alt="imageedit_1_5686596324.png" width="384" height="142"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I use this method to follow the line of logic through my scripts until I have located and fixed the problem. One last piece of advice: once you are done with a debug statement, make sure you either delete it or comment it out in your scripts. Otherwise your Console will become very cluttered with messages!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--R2P7hNUR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1631912028111/U0aj3lMeu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--R2P7hNUR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1631912028111/U0aj3lMeu.png" alt="Unity divider.png" width="800" height="89"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Now it's your turn: how do you tackle debugging in your projects? I'd love to hear any tips or tricks you have in the comments below.&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>unity3d</category>
      <category>gamedev</category>
      <category>c</category>
    </item>
    <item>
      <title>Setting Up Your First Unity 2D Project</title>
      <dc:creator>Taryn McMillan</dc:creator>
      <pubDate>Thu, 16 Sep 2021 21:43:59 +0000</pubDate>
      <link>https://dev.to/tarynmcmillan/setting-up-your-first-unity-2d-project-48ng</link>
      <guid>https://dev.to/tarynmcmillan/setting-up-your-first-unity-2d-project-48ng</guid>
      <description>&lt;p&gt;Welcome to the first post in a new series I'm calling &lt;strong&gt;Beginner's Guide to Unity&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;I created this series for anyone who is interested in learning game development in Unity but isn't sure where to start.&lt;/p&gt;

&lt;p&gt;In this article, we will go over the basics of setting up a 2D project and learn about key components of the Unity interface.&lt;/p&gt;

&lt;h3&gt;
  
  
  Learning Outcomes:
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;By the end of this article, you will be able to:&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Download and install Unity.&lt;/li&gt;
&lt;li&gt;Create a new 2D project via the Unity Hub.&lt;/li&gt;
&lt;li&gt;Identify the six main components of the Unity interface and explain their purpose.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--W1Y0MEGf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1631730800522/9ke4jyBr1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--W1Y0MEGf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1631730800522/9ke4jyBr1.png" alt="Unity divider(1).png" width="800" height="89"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Downloading Unity
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Click the following link to open up the Unity Download webpage in your browser: &lt;a href="https://unity3d.com/get-unity/download"&gt;https://unity3d.com/get-unity/download&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select &lt;strong&gt;Choose your Unity + download&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Scroll down until you find the grey box with the heading &lt;strong&gt;Unity Personal&lt;/strong&gt;. Click &lt;strong&gt;Get started&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--2I0Fyy6P--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1631729128815/0kDccj-Ap.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--2I0Fyy6P--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1631729128815/0kDccj-Ap.png" alt="Unity personal version Shadow.png" width="800" height="171"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Under &lt;strong&gt;First-time users&lt;/strong&gt; , click &lt;strong&gt;Start here&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ft1oF76u--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1631729443655/4duxVjd1d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ft1oF76u--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1631729443655/4duxVjd1d.png" alt="First time users Shadow.png" width="621" height="398"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Follow the on-screen instructions to download and install the &lt;strong&gt;Unity Editor&lt;/strong&gt; and &lt;strong&gt;Unity Hub&lt;/strong&gt; (you will need both for this tutorial).&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--W1Y0MEGf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1631730800522/9ke4jyBr1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--W1Y0MEGf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1631730800522/9ke4jyBr1.png" alt="Unity divider(1).png" width="800" height="89"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Creating a new project
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Open up the Unity hub. In the top-right corner, click &lt;strong&gt;New&lt;/strong&gt; to launch the &lt;strong&gt;New Project Window&lt;/strong&gt;. Select &lt;strong&gt;2D&lt;/strong&gt; under &lt;strong&gt;Templates&lt;/strong&gt; and enter a Project Name and Location. Then click &lt;strong&gt;Create&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--o6Copxy0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1631728302737/TdAg_4b0k.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--o6Copxy0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1631728302737/TdAg_4b0k.png" alt="New Project Window Shadow.png" width="800" height="439"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Wait for Unity to load. This may take a few minutes. Once this process is done, you should see your blank project open in the Unity editor.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--W1Y0MEGf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1631730800522/9ke4jyBr1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--W1Y0MEGf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1631730800522/9ke4jyBr1.png" alt="Unity divider(1).png" width="800" height="89"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Identifying key parts of the UI
&lt;/h2&gt;

&lt;p&gt;There are six main UI components in Unity: the &lt;strong&gt;Hierarchy&lt;/strong&gt; , &lt;strong&gt;Project Assets&lt;/strong&gt; folder, &lt;strong&gt;Scene View&lt;/strong&gt; , &lt;strong&gt;Game View&lt;/strong&gt; , &lt;strong&gt;Inspector&lt;/strong&gt; , and &lt;strong&gt;Console&lt;/strong&gt;. With your blank project open, let's take a few minutes to look at each one of them.&lt;/p&gt;

&lt;h3&gt;
  
  
  Hierarchy
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--MK54pbxE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1631731084131/t3sFf6Ez-.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--MK54pbxE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1631731084131/t3sFf6Ez-.png" alt="Hierarchy shadow.png" width="311" height="239"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The &lt;strong&gt;Hierarchy&lt;/strong&gt; is located on the left side of the Unity editor. It displays all of the Game Objects which are currently contained within your scene. You can create a new element in the Hierarchy by right-clicking and selecting your desired option. Objects which are deleted from the Hierarchy will no longer be included in your scene.&lt;/p&gt;

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

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ayblevTr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1631731283588/j06pjjD5e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ayblevTr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1631731283588/j06pjjD5e.png" alt="Project Assets folder Shadow.png" width="526" height="239"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The &lt;strong&gt;Project Assets&lt;/strong&gt; folder is located at the bottom of the Unity editor. Within this folder, you can see all of the assets which are included in your project. These can be assets that you have created, such as images or prefabs, as well as packages that you have downloaded from the Unity Asset Store. Assets which are in this folder are not automatically in your scene and must be added manually.&lt;/p&gt;

&lt;h3&gt;
  
  
  Scene View
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--3A2wC7j---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1631811943474/0_OnNwwwq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--3A2wC7j---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1631811943474/0_OnNwwwq.png" alt="Scene view Shadow.png" width="800" height="519"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Scene View&lt;/strong&gt; is where you will do all of your edits. You can move the Scene View window by dragging it and docking it to a different location. You can also toggle between 2D and 3D view at the top of the Scene window.&lt;/p&gt;

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

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--NYBx3X0E--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1631812046402/UU0dvEZRH.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--NYBx3X0E--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1631812046402/UU0dvEZRH.png" alt="Game view Shadow.png" width="800" height="525"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Game View&lt;/strong&gt; displays the game as it currently appears to the player. You cannot make edits in the Game window. Like with Scene View, you can drag the Game View window and dock it to a different location. Changing the camera position in Scene View will change the output in Game View.&lt;/p&gt;

&lt;h3&gt;
  
  
  Inspector
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--KezrKtny--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1631802768049/SceJFB6cN5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--KezrKtny--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1631802768049/SceJFB6cN5.png" alt="Inspector Shadow.png" width="468" height="236"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The &lt;strong&gt;Inspector&lt;/strong&gt; displays characteristics of the currently-selected element either in your Hierarchy or Project Assets folder. This is where you can add components, such as C# scripts, to your Game Objects. You can lock the Inspector on a particular element by clicking the lock icon at the top-right of the Inspector panel.&lt;/p&gt;

&lt;h3&gt;
  
  
  Console
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--m4y-8qjY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1631802938946/ApTZhhe1e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--m4y-8qjY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1631802938946/ApTZhhe1e.png" alt="Console Shadow.png" width="526" height="191"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The &lt;strong&gt;Console&lt;/strong&gt; is where debugging occurs in Unity. You can print logs to the Console in your C# scripts using &lt;strong&gt;print()&lt;/strong&gt; or &lt;strong&gt;Debug.Log()&lt;/strong&gt;. The Console displays warnings and errors in your project. You can double-click on them to see where these problems exist in your scripts.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--W1Y0MEGf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1631730800522/9ke4jyBr1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--W1Y0MEGf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1631730800522/9ke4jyBr1.png" alt="Unity divider(1).png" width="800" height="89"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Test Your Knowledge
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;Let's test your understanding of the material in this article with a few quiz questions.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;For each question, answer either True or False.&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;You cannot make edits to your game in Game View.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The Inspector is where you can view debug messages such as Debug.Log().&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;To create a new 2D project in Unity, you need a Project Name and Location.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The Hierarchy contains all of your game assets, including those not currently in your scene.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Scene View is where you can toggle between 2D and 3D view.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--W1Y0MEGf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1631730800522/9ke4jyBr1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--W1Y0MEGf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1631730800522/9ke4jyBr1.png" alt="Unity divider(1).png" width="800" height="89"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Answers: T; F; T; F; T;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>unity3d</category>
      <category>gamedev</category>
      <category>tutorial</category>
      <category>csharp</category>
    </item>
    <item>
      <title>Launching an Instagram Dev Account: A How-To Guide</title>
      <dc:creator>Taryn McMillan</dc:creator>
      <pubDate>Thu, 29 Jul 2021 18:49:01 +0000</pubDate>
      <link>https://dev.to/tarynmcmillan/launching-an-instagram-dev-account-a-how-to-guide-9n</link>
      <guid>https://dev.to/tarynmcmillan/launching-an-instagram-dev-account-a-how-to-guide-9n</guid>
      <description>&lt;p&gt;&lt;strong&gt;Want to create a developer account on Instagram but aren't sure how to get started? This post has you covered.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When I started posting coding-related content on Instagram late last year, I felt overwhelmed by all of the rules. What should I post and when? How many hashtags should I use? Are Reels better than IGTV? And so on.&lt;/p&gt;

&lt;p&gt;To help you out, I’ve broken down this post into &lt;strong&gt;five sections&lt;/strong&gt;. These roughly translate into the five steps you need to take each time you sit down to make a new Instagram post. Use the links I’ve provided below to navigate to the section of this article that’s most relevant for you.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A quick note:&lt;/strong&gt; This article is about &lt;em&gt;how&lt;/em&gt; and &lt;em&gt;what&lt;/em&gt; to post on a dev account. I don't talk here about growing your account or amassing followers. Suffice to say, if this is what interests you, there are plenty of other articles online that will help you out. 😊&lt;/p&gt;

&lt;p&gt;And with that out of the way, let's get started!&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Choose what you want to post about&lt;/li&gt;
&lt;li&gt;Choose a post type&lt;/li&gt;
&lt;li&gt;Create or curate images and media&lt;/li&gt;
&lt;li&gt;Add hashtags&lt;/li&gt;
&lt;li&gt;Share your post&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1626556462032%2FxWjwQUs-m.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1626556462032%2FxWjwQUs-m.png" alt="Instagram Posting Guide.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Choose what you want to post about
&lt;/h1&gt;

&lt;p&gt;The first step is to choose a subject for your Instagram post. This is totally at your discretion, but it can sometimes be difficult to decide what to post on, especially if you’re working under pressure. Below are some examples of popular posts in the tech community. You can customize them based on your own experiences and interests. Remember that a personal touch is often what makes Instagram posts stand out!&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Desk setup&lt;/strong&gt; : Show pics of your computer setup, computer hardware, or other decor such as plants that liven up your workspace.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;In-progress project&lt;/strong&gt; : Show images, video, or link to a small demo of a project you are currently working on.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;A day in the life&lt;/strong&gt; : Write a post or shoot a short video detailing a day in your life as a developer. Reels are a popular format for this type of post.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Informational or tutorial post&lt;/strong&gt; : Use a gallery of images, an infographic, or short video to teach others about a topic in coding.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Myth breaker&lt;/strong&gt; : Tackle a popular myth in the coding community and show why it is/isn’t true.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Confessional&lt;/strong&gt; : Get real with your audience and talk about the challenges you are currently facing as a developer and what you’re doing to overcome them.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Motivational&lt;/strong&gt; : Write a motivational post to inspire other people in your field. Quotes and song lyrics are often used in these types of posts.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Problem solver&lt;/strong&gt; : Provide a solution for a tricky coding problem. Include images of your code so that others can learn from you.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1626565280768%2FgDL3KalG1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1626565280768%2FgDL3KalG1.png" alt="Instagram Divider.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Choose a post type
&lt;/h1&gt;

&lt;p&gt;As Marshall McLuhan once said, "the medium is the message." Choosing the right format for your Instagram post will have a major impact on its popularity and accessibility. In the section below, I walk you through the main post types and tell you what you need to know about them.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;1. Image or Gallery posts&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1627240468278%2Fxs8FCYE_C.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1627240468278%2Fxs8FCYE_C.png" alt="Normal post.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Gallery posts are a useful medium for coding tutorials. You can upload up to ten pictures per post and can choose different filters for each image.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Dimensions:&lt;/strong&gt; 4:5 aspect ratio for portrait photos; 1.91:1 aspect ratio for landscape photos&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;2. Feed videos&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1627240335845%2F5o9Itj0Ee.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1627240335845%2F5o9Itj0Ee.png" alt="Feed video.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;These are the OG videos that are posted directly to your feed without the bells and whistles of Instagram Reels.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Length:&lt;/strong&gt; 3-60 seconds long&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dimensions:&lt;/strong&gt; This varies, but the best dimensions are either 1080 x 608 or 1080 x 1350&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;3. Reels&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1627484930405%2FvuHFPLIKU.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1627484930405%2FvuHFPLIKU.png" alt="Reels.png"&gt;&lt;/a&gt;Reels are short videos which resemble clips on TikTok. They often incorporate music, on-screen text, and dancing!&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Length:&lt;/strong&gt; 15-60 seconds long&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dimensions:&lt;/strong&gt; 1080 x 1920&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;4. IGTV&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1627484516758%2Fen16ysWAu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1627484516758%2Fen16ysWAu.png" alt="IGTV.png"&gt;&lt;/a&gt;IGTV is a useful format for longer media such as interviews or instructional videos.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Length:&lt;/strong&gt; 1-15 minutes if uploading from mobile; 1-60 minutes if uploading from your desktop&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dimensions:&lt;/strong&gt; 1080 x 1920 for vertical videos; 1920 x 1080 for horizontal videos&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;5. Stories&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1627484780963%2FCK_7B-bW3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1627484780963%2FCK_7B-bW3.png" alt="Stories.png"&gt;&lt;/a&gt;Stories are a quick and easy way to connect with your audience either by posting an image with text and stickers or a short video. Each story you post is only available for a limited time but it can be saved permanently to a Highlight reel at the top of your profile. Stories are also a good way to share other people's content.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Length:&lt;/strong&gt; 15 seconds max&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dimensions:&lt;/strong&gt; 1080 x 1920&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;6. Direct Message&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Direct Message is a private messaging service that allows you to connect directly with other Instagram users. While it's a great way to make new connections in the community, remember to keep it professional, and be respectful of other users' time.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1626565280768%2FgDL3KalG1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1626565280768%2FgDL3KalG1.png" alt="Instagram Divider.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Create or curate images and media
&lt;/h1&gt;

&lt;p&gt;Adding custom images or other media to a post can help generate visual interest and make your content memorable. As developers, we're often charged with taking complex topics and making them more accessible to other members of the community. Charts, graphs, infographics, lists, diagrams and other visuals maximize the impact of our content and help others learn from it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Here are some tips to keep in mind when designing images and other media:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Make sure that your images or videos are the &lt;strong&gt;right dimensions for your post type&lt;/strong&gt; (see recommendations in the previous section).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Keep web accessibility guidelines in mind&lt;/strong&gt; when designing your media. Make sure that there is proper contrast, legible fonts, and captioning included, where appropriate.&lt;/li&gt;
&lt;li&gt;Make sure that you source your images legally. &lt;strong&gt;Follow copyright guidelines&lt;/strong&gt; and provide attribution notices where necessary. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;To get you started, here are a few media creation resources that I use often when creating content for Instagram and other social media platforms:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://www.canva.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;Canva&lt;/strong&gt;&lt;/a&gt; : This free browser-based content creation app is widely popular for a reason. There are dozens of Instagram templates available for posts, stories, and more. Add your own brand colors or logos to make your Instagram content look polished and professional. &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://carbon.now.sh/" rel="noopener noreferrer"&gt;&lt;strong&gt;Carbon&lt;/strong&gt;&lt;/a&gt; : Another browser-based app, Carbon creates shareable images of your code. You can customize the colors and general look of your code snippets, making it the perfect tool for creating programming tutorials. &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.getcloudapp.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;CloudApp&lt;/strong&gt;&lt;/a&gt; : This easy-to-use app is great for creating gifs or short videos of your content.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://coolors.co/" rel="noopener noreferrer"&gt;&lt;strong&gt;Coolors&lt;/strong&gt;&lt;/a&gt; : This is a nice browser app for browsing and creating color schemes for your social media content.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1627241263047%2FGejzH8x5w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1627241263047%2FGejzH8x5w.png" alt="Screenshot 2021-07-25 3.27.13 PM.png"&gt;&lt;/a&gt; &lt;em&gt;Working on a custom Instagram post in Canva is easy and free!&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1626565280768%2FgDL3KalG1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1626565280768%2FgDL3KalG1.png" alt="Instagram Divider.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Add hashtags
&lt;/h1&gt;

&lt;p&gt;I could write a whole post on hashtags for the developer community. Suffice to say, there are hundreds if not thousands of options to choose from when it comes to adding hashtags to your post. The challenge is to find the ones that are a) most relevant for your unique content and b) will help your post be seen by the greatest number of people.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A word of caution:&lt;/strong&gt; hashtags are kind of a hot button issue on Instagram right now. Once upon a time, even a small account could have their account seen by using the right hashtags. Nowadays it's more of a mystery how hashtags help boost the popularity of your posts.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Here are a few tips for finding the right hashtags for your content:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Do your research&lt;/strong&gt; : I suggest typing in a root word such as &lt;em&gt;coding&lt;/em&gt; or &lt;em&gt;programming&lt;/em&gt; into the Instagram search bar. You'll get hashtag suggestions based on that word and you can usually see the number of posts using each hashtag this way.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Branch out from the popular hashtags&lt;/strong&gt; : Try to use a mix of popular and not-so-popular hashtags to give your post the best chance of standing out.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Pay attention to similar accounts&lt;/strong&gt; : Once you've found a few other developer accounts you like, pay attention to the hashtags these accounts use and follow suit. Clicking on an interesting hashtag can be a good way to find other relevant accounts to follow.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Use hashtags for personal branding&lt;/strong&gt; : Hashtags can be a good way to organize and brand your posts. For example, I tag all of my weekly Unity tutorial posts using the same hashtag so that they are easy to find and read.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1627485127115%2FYSF8QzaLk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1627485127115%2FYSF8QzaLk.png" alt="Coding hashtags.png"&gt;&lt;/a&gt; &lt;em&gt;You can easily search relevant hashtags from right within Instagram.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1626565280768%2FgDL3KalG1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1626565280768%2FgDL3KalG1.png" alt="Instagram Divider.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Share your post
&lt;/h1&gt;

&lt;p&gt;As a newbie, I was always worried that I didn't "know enough" to justify posting my content where others could see it.&lt;/p&gt;

&lt;p&gt;I quickly learned that we were all beginners once and the developer community is filled with people of all backgrounds and skill levels. If your Instagram post reaches even one person who could benefit from it, then I think it was worth making.&lt;/p&gt;

&lt;p&gt;As I mentioned in the introduction to this post, I'm not going to go into detail about getting followers on Instagram. But I will say a few words of advice about tracking the success of your Instagram content.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;If you are comfortable with your profile being public, &lt;strong&gt;I recommend using an Instagram Business account over a Personal account&lt;/strong&gt;. This will give you access to the Professional Insights dashboard, which helps you track the performance of your posts.&lt;/li&gt;
&lt;li&gt;In my experience, there is no "magic formula" when it comes to posting frequency. &lt;strong&gt;My advice is to be flexible and pay attention to the stats in your Professional Dashboard&lt;/strong&gt;. If something seems to be working, then stick with it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Study the form and content of other people's posts&lt;/strong&gt;. Pay attention to how long their captions are, the types of images they use, and the time of day they usually post at.&lt;/li&gt;
&lt;li&gt;People can smell a fake or someone who is just there to win a popularity contest from a mile away. &lt;strong&gt;Be genuine in your content and make helping other people your main goal&lt;/strong&gt;. &lt;/li&gt;
&lt;li&gt;Not everyone will amass thousands of followers and that's OK. &lt;strong&gt;Don't ever sacrifice your mental or physical health to achieve an unrealistic goal&lt;/strong&gt;. Running an Instagram account should be a fun side project and if it ever feels like too much of a chore, take a step back and regroup.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1627568980734%2FP7QrNOZwET.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1627568980734%2FP7QrNOZwET.png" alt="Sharing on Twitter.png"&gt;&lt;/a&gt; &lt;em&gt;Don't be afraid to share your Instagram content on other social media sites such as Twitter.&lt;/em&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Conclusion
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;If your goal is to run a genuine, helpful developer Instagram account, then it is well within your reach&lt;/strong&gt;. When I first got started with my account, I remember spending hours researching the best post types, image dimensions and more. My goal with this article was to make this information easily accessible in one place so that you can focus on having fun and making connections with other developers.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I hope you found this post useful and I'll see you on the gram!&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>devlife</category>
      <category>instagram</category>
      <category>coding</category>
      <category>career</category>
    </item>
    <item>
      <title>Here's How to Switch From the Humanities to Tech</title>
      <dc:creator>Taryn McMillan</dc:creator>
      <pubDate>Wed, 30 Jun 2021 22:48:23 +0000</pubDate>
      <link>https://dev.to/tarynmcmillan/here-s-how-to-switch-from-the-humanities-to-tech-2nem</link>
      <guid>https://dev.to/tarynmcmillan/here-s-how-to-switch-from-the-humanities-to-tech-2nem</guid>
      <description>&lt;p&gt;&lt;strong&gt;Switching careers is an exciting but scary adventure.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Most of us will change jobs every few years, but how many of us pick up roots and change industries completely?&lt;/p&gt;

&lt;p&gt;A few years back, I decided to take the plunge and leave my Humanities background behind to become a developer. At the time, I worried that not having a formal academic background in Science would hold me back, but I eventually realized that my non-tech background has actually prepared me well for a STEM career.&lt;/p&gt;

&lt;p&gt;I wrote this article for other folks in the Humanities who may be thinking of making the jump into tech but aren't sure where to start. I can tell you it absolutely is possible and you shouldn't sell yourself short. In fact, many of the skills you already know from the Humanities are transferable to other industries.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;But first, let me tell you how I got here.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--nBu1hss0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1624972264580/EiphmKnvX.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--nBu1hss0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1624972264580/EiphmKnvX.png" alt="Imagination is innate gift(1).png" width="800" height="178"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  My Story
&lt;/h1&gt;

&lt;p&gt;Back in 2013, I was on track to getting my PhD in Early Modern History. I attended conferences all over North America to present my research and I even studied in an archive in Dijon, France for a summer.&lt;/p&gt;

&lt;p&gt;In the end I realized academia wasn’t for me and I started wondering what I should do next. &lt;strong&gt;I'd always been interested in learning how to code, but a career in software development seemed out of reach since I didn't have a formal background in Science&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Fast forward to today, and I've got a year of learning C# under my belt, tons of experience creating games in Unity, and a budding freelance career as a developer.&lt;/p&gt;

&lt;p&gt;My career trajectory has been somewhat atypical but it is totally achievable for any Humanities grad. It also wasn’t totally linear, which I discuss in more detail below.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--oiCKtifC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1624973034576/GQnryFg7_.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--oiCKtifC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1624973034576/GQnryFg7_.png" alt="HUMANITIES DISCIPLINES(2).png" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Tips For Making The Switch
&lt;/h1&gt;

&lt;ol&gt;
&lt;li&gt;Find a middle ground&lt;/li&gt;
&lt;li&gt;Join social media&lt;/li&gt;
&lt;li&gt;Utilize free resources&lt;/li&gt;
&lt;li&gt;Create an elevator pitch&lt;/li&gt;
&lt;li&gt;Focus on your transferable skills&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Find a middle ground
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--OfIt3S-0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1624971786740/VTDW-3qP7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--OfIt3S-0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1624971786740/VTDW-3qP7.png" alt="undraw_adventure_map_hnin.png" width="800" height="601"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;One of the biggest reasons why people hesitate to make a career switch is because they think it all has to happen at once.&lt;/p&gt;

&lt;p&gt;One day you're in the Humanities and the next you're in tech, right?&lt;/p&gt;

&lt;p&gt;While there is nothing wrong with making an abrupt switch if that's what suits you best, &lt;strong&gt;you absolutely do not need to do it all at once.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Instead you can find a middle ground between the two industries to explore first. For example, while in grad school I began freelance writing. At first I wrote press releases and informational articles but I soon fell into tech blogging since I've always been interested in computers and video games. I started writing freelance articles for a big Canadian tech blog, which was an awesome experience that helped expose me to the terminology and skills I’d later need as a developer.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I hope my story shows that you don’t have to make the jump out of the Humanities all at once&lt;/strong&gt;. Instead you can take small, measured steps and work your way slowly to a new career.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Here are some ways you can dip your toe into tech if you’re not quite ready to fully make the transition.&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;If you’re employed, see if you can take on a few additional tech-related responsibilities related to your current position.&lt;/li&gt;
&lt;li&gt;Work your way through an online coding curriculum in your spare time.&lt;/li&gt;
&lt;li&gt;Volunteer your computer skills for family and friends.&lt;/li&gt;
&lt;li&gt;Watch YouTube videos for newbies in tech and follow along with online tutorials.&lt;/li&gt;
&lt;li&gt;Get involved with the open source community.&lt;/li&gt;
&lt;li&gt;Buy an affordable gadget like a Raspberry Pi to tinker with or a computer upgrade to advance your hardware skills.&lt;/li&gt;
&lt;li&gt;Install Linux on a virtual machine and play around with it (or any other piece of software that will help you practice your skills).&lt;/li&gt;
&lt;li&gt;Read up on tech news or trends and share your thoughts online in a blog or social media.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Join social media
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--niiyRVRi--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1624971729892/H8xyJEOlt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--niiyRVRi--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1624971729892/H8xyJEOlt.png" alt="undraw_Social_media_re_w12q.png" width="800" height="555"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I’m an introvert, so the thought of putting myself out on social media was never very tempting. But I realized that if I wanted to get the ball rolling on a new career as a developer, I needed to make some connections.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;It can be daunting to jump into the tech sphere without much experience under your belt, but my advice is to start small&lt;/strong&gt;. Twitter and Instagram are both popular platforms for people in tech and are beginner friendly. Certain coding communities such as Code Newbies are geared towards beginners who are looking for direction and advice. Don't be afraid to share your work from the get-go, even if it means only publishing a wire frame or basic design. These are all opportunities for feedback and it’ll get you used to the testing/integration stage of the software development life cycle.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Here are some tips for setting up your social media account.&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Choose a professional sounding user name and profile pic.&lt;/li&gt;
&lt;li&gt;Be open and honest about your background-- never pretend to be something you're not.&lt;/li&gt;
&lt;li&gt;Don't over-commit yourself. There’s no need to post every day.&lt;/li&gt;
&lt;li&gt;Read and leave insightful comments on other people’s posts. &lt;/li&gt;
&lt;li&gt;Be a friendly face in the community. Offer help, advice, or encouragement.&lt;/li&gt;
&lt;li&gt;Don't be afraid of making a mistake or saying something silly (as long as you are professional and respectful of others!)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Utilize free resources
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--JmzGoFdJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1624971687510/mlW1Q_k9z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--JmzGoFdJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1624971687510/mlW1Q_k9z.png" alt="undraw_feeling_proud_qne1.png" width="800" height="698"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So let’s say you’re a Humanities student who’s interested in coding but you don’t want to shell out a lot of money for a bootcamp just yet. No problem. &lt;strong&gt;There are many free or very affordable resources online that allow you to start learning coding right away without making a financial commitment&lt;/strong&gt;. These websites let you set your own schedule so there’s no pressure to complete the curriculum in a set amount of time. This is particularly useful if you’ll be working on these skills in your free time, evenings and weekends, or sporadically over many weeks or months.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I’ve covered these resources before in previous blog posts but I think they’re worth repeating here because they’re so helpful for beginners&lt;/strong&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.freecodecamp.org/"&gt;freeCodeCamp&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.sololearn.com/"&gt;SoloLearn&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.codecademy.com/"&gt;Codecademy&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.udemy.com/courses/search/?src=ukw&amp;amp;q=coding"&gt;Udemy&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.w3schools.com/"&gt;W3Schools&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.theodinproject.com/"&gt;The Odin Project&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.codewars.com/"&gt;Codewars&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.hackerrank.com/"&gt;HackerRank&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://projecteuler.net/"&gt;Project Euler&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://coderbyte.com/"&gt;Coderbyte&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Create an elevator pitch
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--P9Epy3h---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1624971622416/C3vKQvmPg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--P9Epy3h---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1624971622416/C3vKQvmPg.png" alt="undraw_candidate_ubwv.png" width="800" height="519"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;One thing I wasn’t prepared for when I made my own career transition was the number of people who would question my decision. &lt;strong&gt;At first, attending social events was a major source of anxiety for me because I didn’t know how to articulate why my passions had changed.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In hindsight, I should have expected that people would be naturally curious about my career. Instead of side-stepping conversations about why I was changing fields, I should have embraced them. Nowadays, I’m excited to talk about my Humanities-to-tech journey; however, if you’re like me a few years back and tend to get tongue-tied, &lt;strong&gt;I suggest taking the time to craft an “elevator pitch” you can fall back on.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;An elevator pitch is a little speech that encapsulates what you want others to know about your career. Your memorized elevator pitch should only take around 30 seconds to say. Rehearse it in a mirror if you need to so you can whip it out whenever the need arises. Here are some things to think about when crafting your own pitch:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Focus on your journey&lt;/strong&gt; : Whether you are between jobs, in a job you love or a job you hate, focus on the path that led you to your current position. Look for the common thread that links all of your past experiences together and bring it to the forefront.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Show your uniqueness&lt;/strong&gt; : Don't hide the fact that your background is in the Humanities. This is what makes you unique and helps you stand out.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;State your goal&lt;/strong&gt; : Whether your goal is just to learn something new or to get a full-time job in tech, make your overall goal a part of your pitch. You don't need to include a lot of detail; just offer a general sense of where you see yourself heading.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Use your elevator pitch whenever you feel stuck and don’t know how to explain the current stage of your career. Your pitch will naturally evolve over time as your passions continue to change and more opportunities come your way.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--VJVNwMw---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1624927159181/PvBejmdZv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--VJVNwMw---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1624927159181/PvBejmdZv.png" alt="Humanities divider.png" width="800" height="89"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Focus on your transferable skills
&lt;/h2&gt;

&lt;p&gt;Did you know that many of the skills you learned in the Humanities are also usable in tech? Soft skills are in high demand and as a Humanities grad, you’ve got a ton of them in your toolbox. &lt;strong&gt;In the section below, I detail four important transferable skills and discuss why they are important to both industries&lt;/strong&gt;.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Language skills&lt;/li&gt;
&lt;li&gt;Communication skills&lt;/li&gt;
&lt;li&gt;Research skills&lt;/li&gt;
&lt;li&gt;'Big Picture' skills&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Language Skills
&lt;/h2&gt;

&lt;p&gt;Let’s begin with a pretty obvious one. &lt;strong&gt;There are many similarities between learning a natural language and a coding language&lt;/strong&gt;. I’ve listed a few major ones below:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Complex syntax rules&lt;/strong&gt; that dictate how words or terms can be arranged to create meaning.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Families of branching languages&lt;/strong&gt; that share similar characteristics ( &lt;strong&gt;Romance Languages-&amp;gt;&lt;/strong&gt; French, Spanish, Italian; &lt;strong&gt;OOP languages-&amp;gt;&lt;/strong&gt; Python, PowerShell, Ruby, etc.&lt;/li&gt;
&lt;li&gt;Both programming languages and natural languages &lt;strong&gt;continue to evolve over time&lt;/strong&gt; with the addition of slang and new syntax.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Editing, proofreading, &amp;amp; reworking&lt;/strong&gt; are important to both.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Of course, there are important differences too, but with a background in the Humanities, you are probably already used to working with languages on a micro level. &lt;strong&gt;Your keen eye for form and syntax will be a boon in the world of coding&lt;/strong&gt;. So don’t be afraid to add a programming language to your lexicon!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Pwx2mkuD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1624927108829/qqYl85ROG.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Pwx2mkuD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1624927108829/qqYl85ROG.png" alt="Humanities divider.png" width="800" height="89"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Communication Skills
&lt;/h2&gt;

&lt;p&gt;As experienced developers know, there’s more to this profession than just coding. You need to be able to describe your ideas, give and receive feedback, complete project management tasks, draw up project outlines, communicate with clients, and the list goes on. I’ve found that communication skills are integral to my identity as a developer since I also enjoy blogging, participating in live chats, and creating content for social media. &lt;strong&gt;Even if you make coding your sole focus, you’ll need to communicate well and build a personal brand in order to get a job or connect with potential clients.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Since the Humanities place a big emphasis on written and verbal communication, your skills in this area are probably already well-developed. &lt;strong&gt;But just in case, here are a few reminders&lt;/strong&gt; :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Always remember to write/speak clearly and concisely. &lt;/li&gt;
&lt;li&gt;Use spell check/grammar check when necessary. &lt;/li&gt;
&lt;li&gt;Don't overuse punctuation or emojis.&lt;/li&gt;
&lt;li&gt;Gear your writing towards your audience (for example, your writing will be different in an email to your boss than in a tweet on social media).&lt;/li&gt;
&lt;li&gt;Consider using branding tools, such as Canva, to create a standard kit of fonts, colors, images to enhance your written communication (where appropriate).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Pwx2mkuD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1624927108829/qqYl85ROG.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Pwx2mkuD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1624927108829/qqYl85ROG.png" alt="Humanities divider.png" width="800" height="89"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Research Skills
&lt;/h2&gt;

&lt;p&gt;Switching careers often takes a lot of time and patience-- it doesn’t just happen overnight. At first you’ll probably have a lot of practical questions such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;How hard is it to get a job?&lt;/strong&gt; (Depends on too many factors to list here).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Which programming language(s) should I learn?&lt;/strong&gt; (If you’re a total newbie, start with HTML and go from there).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Should I attend a bootcamp?&lt;/strong&gt; (Depends.)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Do I need a computer science degree?&lt;/strong&gt; (NOPE).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Are self-taught developers employable?&lt;/strong&gt; (YES!)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When I first dipped my toe into tech, I spent time researching the answers to all of these questions and more. I swear that some weeks I was doing more researching than learning to code! And as a freelance developer, I still use my research skills every day, whether I'm collecting information for a freelance project, looking up syntax, examining the compatibility between different pieces of software, or troubleshooting a problem with my code.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The good news is that as a Humanities student, your research skills are probably already excellent.&lt;/strong&gt; You’ve likely written many essays or compositions which required you to synthesize information from different books and articles. You understand that not everything you read online is trustworthy and you know how to weed out the good sources from the bad ones. The ability to find the answers you’re seeking is an important skill in not only the Humanities and tech, but also in life.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Pwx2mkuD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1624927108829/qqYl85ROG.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Pwx2mkuD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1624927108829/qqYl85ROG.png" alt="Humanities divider.png" width="800" height="89"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Big Picture Skills
&lt;/h2&gt;

&lt;p&gt;Picture this: you’re nearing the end of term in a Humanities class and the professor assigns a big essay, to be completed in only a few weeks. Inwardly, you panic. How will you ever write thousands of words on a topic that you weren’t even familiar with a few months ago? You trudge to the library and start pulling books off the shelves, looking for any piece of information, no matter how small, that can be used in your essay. And slowly, over time, those pieces of information grow to form a collection of useful arguments you can use in your essay. The faith and tenacity you exhibited when conducting your research paid off. &lt;strong&gt;At the time, the bits of information didn’t seem like much on their own. But put them together, and you can finally see the ‘big picture’ of your project.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Compiling little bits of information in an essay is much like compiling little bits of code in a program. You may hum and haw over individual lines of code and worry that they’re extraneous or not going to make much sense in the end. &lt;strong&gt;But to progress on your project, you must put those doubts aside, keep your focus on the ‘big picture,’ and have faith that all of the little choices you’re making now will reap big rewards in the end.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;As someone experienced in the Humanities, you're used to seeing the forest for the trees and working piece-by-piece on a solution to a large problem. These 'big picture' skills will serve you well in STEM.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--FTXQRdkr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1624972588437/LxDAj_6ck.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--FTXQRdkr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1624972588437/LxDAj_6ck.png" alt="Deep Gulf is False.png" width="800" height="178"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Conclusion
&lt;/h1&gt;

&lt;p&gt;We are privileged to live in an age when the barrier between the Arts and Sciences is more permeable than ever. &lt;strong&gt;These days, your professional identity can be flexible.&lt;/strong&gt; You don’t have to identify as “just a Humanities girl” or “just a tech girl”-- you can be both. I love being able to use the skills from my grad program each and every day. As a developer, I proudly wear my non-tech background as a badge of honour-- and you should too!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;So the next time you worry that you'll never be able to succeed as a developer without a Science degree-- put those fears aside!&lt;/strong&gt; We are all unique and the path to your dream job is hardly ever linear. Enjoy the ride and never feel “lesser than” because of where you came from.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Happy coding!&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>beginnerdevelopers</category>
      <category>coding</category>
      <category>codenewbie</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>A Definitive Guide to Completing Your First Game Jam</title>
      <dc:creator>Taryn McMillan</dc:creator>
      <pubDate>Sat, 12 Jun 2021 23:00:40 +0000</pubDate>
      <link>https://dev.to/tarynmcmillan/a-definitive-guide-to-completing-your-first-game-jam-nja</link>
      <guid>https://dev.to/tarynmcmillan/a-definitive-guide-to-completing-your-first-game-jam-nja</guid>
      <description>&lt;p&gt;Last week I participated in the &lt;a href="https://itch.io/jam/gamedevtv-game-jam-2021"&gt;2021 GameDev.tv Game Jam&lt;/a&gt; .&lt;/p&gt;

&lt;p&gt;It was technically my second game jam but it was the first one where I really felt 100% committed. The jam was so fun from start to finish and now that I’ve had time to process it, I wanted to write down some tips for any other developers interested in doing one.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;This article will be focused mostly on game jams, but I think the tips can also apply to hackathons or other time-sensitive coding projects&lt;/strong&gt;. Feel free to use the links I've provided to skip to the area of the article that's most relevant for you.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--OU4yFTvo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1623190493744/4YrLZERYt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--OU4yFTvo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1623190493744/4YrLZERYt.png" alt="Done better than perfect.png" width="800" height="89"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  1. The Basics
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;What is a game jam?&lt;/li&gt;
&lt;li&gt;Where can I find game jams to enter?&lt;/li&gt;
&lt;li&gt;What programming languages do I need to know?&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. Tips For Completing Your First Game Jam
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Stick to your skill set&lt;/li&gt;
&lt;li&gt;Done is better than perfect&lt;/li&gt;
&lt;li&gt;Adhere to the theme&lt;/li&gt;
&lt;li&gt;Don't overwork yourself&lt;/li&gt;
&lt;li&gt;Engage with the community&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3. Conclusion
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Parting words &amp;amp; encouragement&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--rIAviK-r--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1623190593002/NoKS7zjQ_.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--rIAviK-r--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1623190593002/NoKS7zjQ_.png" alt="Stick to the theme.png" width="800" height="89"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  What is a game jam?
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--KMWKGaMm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1623190191663/fgQyf1tBB.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--KMWKGaMm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1623190191663/fgQyf1tBB.png" alt="Reality is broken quotation.png" width="800" height="178"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;OK let’s get the basics out of the way. &lt;strong&gt;What is a game jam anyway&lt;/strong&gt;?&lt;/p&gt;

&lt;p&gt;If you’re new to game development, then you might be wondering what a game jam is and whether you should participate in one. For a long time I would see game jams pop up on my Twitter feed and marvel at all of the awesome projects people were working on. But at the same time, I’d dismiss my own abilities and think I’d never be good enough to work on a game jam myself. Oh, how wrong I was. As it turns out, &lt;strong&gt;game jams are for developers of all skill levels, not just experts&lt;/strong&gt;. In fact, I think that working on a game jam is one of the best ways for new game developers to build confidence, design and work on a project from start to finish, and level up their coding skills.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Game jams can be anywhere from a few days to a month long, but most average out at about a week to ten days&lt;/strong&gt;. Every game jam has a theme. Sometimes it is a total secret, but sometimes the theme is voted on by the community before the jam actually begins. Depending on the jam, there may be different rules regarding the use of assets from places like the Unity store but the general rule of thumb is that free assets are OK, paid assets are not. And of course, attribution is necessary when you’re using assets that are not your own!&lt;/p&gt;

&lt;p&gt;Once you’ve submitted your game, there’s a period from a few days to a few weeks when you have the chance to rate other games that have been submitted. Usually there are different categories you base your rating on such as Gameplay, Visuals, Audio, and Adherence to the Theme. While a game jam doesn’t typically award prizes, at the very end of the rating period you get to see how your game scored in relation to other projects in the jam. &lt;strong&gt;This is excellent feedback that you can carry forward and apply to future projects in your game development journey&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--fbTtiR9A--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1623190685195/dy2jqli2-.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--fbTtiR9A--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1623190685195/dy2jqli2-.png" alt="Don't overwork yourself.png" width="800" height="89"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Where can I find game jams to enter?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--emqJvvPj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1623425150242/4PIgCJZYb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--emqJvvPj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1623425150242/4PIgCJZYb.png" alt="Screenshot 2021-06-11 at 11.25.34 AM.png" width="800" height="450"&gt;&lt;/a&gt;&lt;em&gt;A screenshot of the main Game Jams page on Itch.io&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Now that you understand the basics about game jams, you might be wondering where to find them. &lt;strong&gt;The best place to look is on Itch.io, which is a free game-hosting platform&lt;/strong&gt;. You’ll see a ‘Jams’ link right in the top menu bar on the homepage. On the Jams webpage, there is a full color-coded calendar which displays current and upcoming jams. Each jam has its own webpage with additional information about the theme, duration, any special rules, a community tab, and a sign-up link. You can even host your own jam but as a beginner, I recommend joining an existing one to get some experience first.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--RoZo7MWD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1623425186879/pEcJe_y9C.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--RoZo7MWD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1623425186879/pEcJe_y9C.png" alt="Screenshot 2021-06-11 at 11.26.15 AM.png" width="800" height="450"&gt;&lt;/a&gt; &lt;em&gt;An example page for an individual game jam&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What programming languages do I need to know?
&lt;/h2&gt;

&lt;p&gt;So let's say you've found a game jam you're interested in but you're not sure if your coding is up to snuff. &lt;strong&gt;The good news is that if you're not much of a programmer, there are ways to make games without knowing much about coding at all&lt;/strong&gt;. While most game making programs do require you to have some coding knowledge if you want to make something customized or unique, programs like Twine or GameMaker are beginner-friendly options for the non-coder. Of course, if you're considering a career in game development, then you'll probably want to spend the time learning one of the two main game engines: Unity (C#) or Unreal (C++).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The program you use will depend on the game jam you choose&lt;/strong&gt;. Some jams specify a program/language, while others allow the developer to choose. Pay careful attention to the game jam instructions and make sure you're following the rules before you start working on a submission.&lt;/p&gt;

&lt;p&gt;In case you're new to game development, I made a chart which shows the most popular game development software and their associated languages. Keep in mind that some of these programs officially support additional languages beyond what I've included in this chart.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--sddTRBJL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1623514403841/gF47vRwHn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--sddTRBJL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1623514403841/gF47vRwHn.png" alt="Popular Game Dev Software(2).png" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--827IA-qK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1623190381648/xuvoJ9IFF.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--827IA-qK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1623190381648/xuvoJ9IFF.png" alt="Skill set.png" width="800" height="89"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Tips for completing your first game jam
&lt;/h1&gt;

&lt;p&gt;OK, now that we’ve got the basics out of the way, let’s look at some tips for trying your very first game jam. These are tips I wish I had known a year ago so that I could have tried one sooner. A lot of these tips will apply to hackathons too so if you’re a web developer I hope you find them useful.&lt;/p&gt;

&lt;h3&gt;
  
  
  Stick to your skill set
&lt;/h3&gt;

&lt;p&gt;A game jam is probably not the best time to try to learn an entirely new branch of coding or try out a complex piece of syntax. Of course, it’s great to challenge yourself but &lt;strong&gt;trying to take on something overly complex will not be in your best interest&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;For my most recent game jam project, I knew I wanted to practice using &lt;em&gt;for&lt;/em&gt; loops because they’re something I still feel uncomfortable with. I definitely pushed myself out of my comfort zone a bit by using nested loops but I didn’t try anything crazy with my code. &lt;strong&gt;There’s a fine line between challenging yourself and designing a project that’s impossible to finish within the timeline of the jam&lt;/strong&gt;. Make sure you know where your skills are at before starting so that you don’t end up over-committing and having to scale things back at the last minute.&lt;/p&gt;

&lt;h3&gt;
  
  
  Done is better than perfect
&lt;/h3&gt;

&lt;p&gt;When you’re working with a time limit, &lt;strong&gt;it’s more important to get your project done than have it be completely bug-free&lt;/strong&gt;. Most game jams acknowledge this up front. There will be time to iron out small issues or build upon the features you’ve got in your project later. Community members who rate your jam game will also be aware that there were limits to the amount of features you could build. They’re not expecting to see a Triple A game when they click on your page by any means. And having bugs to fix or issues to iron out is a fun project you can tackle once the rating process is over and the jam is officially finished.&lt;/p&gt;

&lt;h3&gt;
  
  
  Adhere to the theme
&lt;/h3&gt;

&lt;p&gt;I’ve seen so many game jam submissions that only vaguely touch on the theme. I guess it’s not a huge deal but I think it’s kind of disappointing because creating something based on the theme is part of the challenge and the fun. It’s a great chance to flex your creative muscles, particularly if you’ve been stuck in a rut. It sucks as a community member when you have to give an objectively good game a lower rating because it doesn’t fit the theme. &lt;strong&gt;So spend some time thinking upfront about how your game will incorporate the theme before diving in and building it&lt;/strong&gt;. The best jam submissions are ones that reflect the theme organically. Trust me-- you can tell when the theme has been jammed into a game at the last moment and your rating will probably reflect this.&lt;/p&gt;

&lt;h3&gt;
  
  
  Don’t overwork yourself
&lt;/h3&gt;

&lt;p&gt;We all like to joke about how we work late into the night or even pull all-nighters and this is fine once in a while. &lt;strong&gt;But if you can help it, don’t make overworking a habit&lt;/strong&gt;. A game jam or hackathon can be an important milestone in your developer journey, but odds are that it’s not worth sacrificing your mental and physical health over. So take care of yourself and get some sleep! Bug fixing in particular is something that is often so much easier after a good rest. &lt;strong&gt;Honor yourself and the work you’ve put into your game by keeping your mind and body healthy, fit, and strong&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Engage with the community
&lt;/h3&gt;

&lt;p&gt;So let’s say you end up submitting something that’s unfinished or that you’re not really happy with. That’s OK! &lt;strong&gt;One of the most important aspects of a game jam is totally independent from the quality of your project, and that’s connecting with the community&lt;/strong&gt;. Most game jams host a Discord server or discussion forum where you can start meeting fellow developers before the submission period even begins. During the rating period, you’ll have the chance to trade feedback with them and discuss design and technical issues. It doesn’t even matter whether your game is what you thought it would be; &lt;strong&gt;take advantage of this unique opportunity to connect with other developers who have the same skills and passion as you&lt;/strong&gt;. I’ve met so many cool people through jams and typically everyone in the community has been friendly and inviting.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--7vWgSDEs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1623190772262/n1ohHDYCF.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--7vWgSDEs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1623190772262/n1ohHDYCF.png" alt="Engage with community.png" width="800" height="89"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Conclusion
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--PEH4geLU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1623511450966/OZOG5Bqm4.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--PEH4geLU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1623511450966/OZOG5Bqm4.gif" alt="Screen+Recording+2021-06-12+at+11.23.24.51+AM.gif" width="800" height="491"&gt;&lt;/a&gt; &lt;em&gt;Footage from my latest game jam submission called &lt;a href="https://mystic-mill-games.itch.io/grave-digger"&gt;Grave Digger&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I hope this article familiarized you with game jams and made you feel more confident about participating in them.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Game jams are an awesome way to meet other developers, practice coding, and flex your creative muscles&lt;/strong&gt;. Even if you're a beginner without much experience under your belt, there are ways to participate in a game jam and you shouldn't shy away from the awesome opportunity to level up your skills.&lt;/p&gt;

&lt;p&gt;For seasoned veterans, game jams are a great way to test out a new game idea or mechanic. A jam's built-in rating system provides automatic feedback and is an indispensable resource for developers.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;So what are you waiting for? Get your jam on and go see what you can create!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--KXZjmxl0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1623190024426/OcoF7aBHL.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--KXZjmxl0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1623190024426/OcoF7aBHL.png" alt="Video games are bad for you That's what they said about rock and roll..png" width="800" height="178"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Image Attribution: Icons made by &lt;a href="https://www.freepik.com"&gt;Freepik&lt;/a&gt; from &lt;a href="https://www.flaticon.com/"&gt;www.flaticon.com&lt;/a&gt;&lt;/p&gt;

</description>
      <category>gamedev</category>
      <category>games</category>
      <category>beginnerdevelopers</category>
      <category>tips</category>
    </item>
    <item>
      <title>New to Coding? Here's How to Beat Impostor Syndrome</title>
      <dc:creator>Taryn McMillan</dc:creator>
      <pubDate>Wed, 12 May 2021 01:23:38 +0000</pubDate>
      <link>https://dev.to/tarynmcmillan/new-to-coding-here-s-how-to-beat-impostor-syndrome-2p37</link>
      <guid>https://dev.to/tarynmcmillan/new-to-coding-here-s-how-to-beat-impostor-syndrome-2p37</guid>
      <description>&lt;p&gt;Impostor syndrome is something we all suffer from now and then. When I first started taking coding seriously last year I flew high for a few weeks but then the self-doubt set in. What if I wasn’t good enough to be a developer? Would anyone take me seriously if I didn’t have a background in STEM?&lt;/p&gt;

&lt;p&gt;After about two months of coding, the self-doubt was too much and I had to take a break for a few weeks to recenter. Although I was able to refocus and get back at it, like many of you I still have occasional bouts of impostor syndrome. Luckily, I know how to deal with them now.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Here are my tips for handling impostor syndrome as a newbie in tech.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Don't let toxic people get you down
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--AE2JtlI2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1620611096678/r_GwCgYW9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--AE2JtlI2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1620611096678/r_GwCgYW9.png" alt="undraw_feeling_blue_4b7q.png" width="800" height="580"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We all know that forums can be a great place to get answers when you’re stuck figuring something out.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;But truth be told, forums can also be quite toxic for the coding beginner.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Countless times I’ve seen someone asking an innocent question about coding only to be shot down and belittled with comments like, “How do you not know this?”&lt;/p&gt;

&lt;p&gt;Unfortunately, not everyone on the Internet recognizes that there are different stages to a coding journey. Some people operate with blinders on and assume that everyone is (or should be) at the same level of proficiency as they are.&lt;/p&gt;

&lt;p&gt;And let’s face it-- some people are just trolls.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;My advice is-- don’t let these naysayers get you down, especially when you are first starting out learning to code.&lt;/strong&gt; It feels like a big blow when you are put down for not “knowing enough,” but I think you can pat yourself on the back for having the courage to post on a coding forum in the first place. That means you’re taking real steps to becoming a developer! So keep this in mind and use your best judgement when it comes to following advice on the forums.&lt;/p&gt;

&lt;h2&gt;
  
  
  Find others like you
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--QDueo963--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1620611142099/1VqvszFvc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--QDueo963--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1620611142099/1VqvszFvc.png" alt="undraw_social_friends_nsbv.png" width="800" height="612"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Even if your journey to coding was a wild one, chances are there are others who have taken similar paths. &lt;strong&gt;When you’re entering any new industry it is so important to find others like you who can share your experiences.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Connecting with more experienced developers is also important, but you should spend some time trying to find people who are just learning too. Look for people who have similar backgrounds and with whom you share common ground. I come from a Humanities background so it was important for me to connect with other coders who came from non-STEM industries. &lt;strong&gt;This made me feel a lot more confident as a newbie because I realized there were people out there just like me.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Once you begin to see how many coders there are who come from all walks of life, you’ll start feeling less like an impostor and more at home in the developer world.&lt;/p&gt;

&lt;h2&gt;
  
  
  Visualize your success
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--2pqJb_f1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1620611182377/RViwQgQUa.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--2pqJb_f1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1620611182377/RViwQgQUa.png" alt="undraw_making_art_759c.png" width="800" height="706"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The mind is a powerful tool when it comes to success. Studies have shown that people who are able to visualize themselves succeeding are much more likely to succeed in real life.&lt;/p&gt;

&lt;p&gt;One thing you can easily do is create a &lt;strong&gt;vision or mood board&lt;/strong&gt; , or place some items that inspire you around your workstation. Something else that I've found really useful is writing a &lt;strong&gt;‘why’ statement&lt;/strong&gt;. This should encompass all of the reasons you are pursuing coding and should reflect the goals you have for yourself as a developer. Inevitably there will be days when you question why you started this journey in the first place and reading back over your why statement can help you refocus and re-energize. &lt;strong&gt;Keep your why statement in an easy-to-access place like a journal or on a sticky note near your desk so you can refer back to it often.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Embrace your mistakes
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--oSdwHbnd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1620611214598/PejEQFjZ8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--oSdwHbnd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1620611214598/PejEQFjZ8.png" alt="undraw_page_not_found_su7k.png" width="800" height="453"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Chances are, you’ll make plenty of mistakes as a newbie (and as an experienced coder too!). The difference between successful and unsuccessful people is that they learn from their mistakes and in time, even come to embrace them!&lt;/p&gt;

&lt;p&gt;You don’t have to dwell on mistakes, but I do tend to take a few minutes to put them into context. Often I’ll notice I’m making a pattern of mistakes that shows I don’t quite understand a concept or piece of syntax. This is a great discovery because now I know where I should focus my learning.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;When you’re suffering from impostor syndrome the shame and frustration that comes from making mistakes is amplified further.&lt;/strong&gt; Even a small mess-up can lead you to start questioning yourself and making false generalizations about your abilities as a coder. It’s important to nip those thoughts in the bud before they get too big and cloud your mind with negativity.&lt;/p&gt;

&lt;p&gt;See mistakes for what they are: small drops in a large body of water. For every small mistake I bet you have an equally momentous win to celebrate. &lt;strong&gt;Focus on those wins instead and see any mistakes as necessary steps on your way to becoming a developer.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Learn to accept fear
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--EEpe6MSe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1620611249119/7gSHP5s4g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--EEpe6MSe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1620611249119/7gSHP5s4g.png" alt="undraw_mindfulness_scgo.png" width="800" height="557"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is probably the hardest one for me because I am naturally an anxious person. But over the past year I’ve made big strides in overcoming my fear of new opportunities and embracing anything that comes my way.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;If you’re learning something new, it's OK to feel scared.&lt;/strong&gt; It's important to recognize how normal fear actually is. Fear is our natural response to a dangerous situation and our brains perceive learning something new as dangerous. What if we mess up? What if people laugh at us? What if we don’t really understand what we’re learning? These are questions that a lot of code newbies have had. Thinking about these things is very normal and it shows a high level of self-awareness, which is a good thing! Just don’t let this level of introspection overwhelm you.&lt;/p&gt;

&lt;p&gt;I feel like coding has been built up in the media to be this big, scary, inaccessible thing (dare I say, particularly for women?) and that stereotype can also play into the fear. &lt;strong&gt;So be extra aware of any messaging you’re receiving about coding while you’re learning and make sure it doesn’t negatively affect your journey.&lt;/strong&gt;&lt;/p&gt;

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

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--QhZBuE8X--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1620611279944/NWThctBYW.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--QhZBuE8X--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn.hashnode.com/res/hashnode/image/upload/v1620611279944/NWThctBYW.png" alt="undraw_breaking_barriers_vnf3.png" width="800" height="642"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When you’re learning to code, it feels like you’re standing high on a diving board, looking down at a pool full of more experienced developers.&lt;/p&gt;

&lt;p&gt;You feel afraid and exposed, like any mistake you make will reveal you for the impostor you are.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;But if you take a big breath and jump, you’ll find the water down below isn’t so scary after all.&lt;/strong&gt; The coding community is generally very friendly and willing to help people of all levels develop their skills.&lt;/p&gt;

&lt;p&gt;When you’re learning something new, the worst thing you can do is let fear hold you back. It almost happened to me, but I’m so glad I took that breath and dove in.&lt;/p&gt;

&lt;p&gt;And you can too. Avoid toxic people, see yourself as successful, and learn to embrace fear and before long, you'll realize the goals you've set for yourself.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Happy coding!&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>beginnerdevelopers</category>
      <category>learning</category>
      <category>newbie</category>
    </item>
    <item>
      <title>My Experience Doing #100DaysofCode as a Stay-at-Home Mom</title>
      <dc:creator>Taryn McMillan</dc:creator>
      <pubDate>Thu, 15 Apr 2021 19:57:06 +0000</pubDate>
      <link>https://dev.to/tarynmcmillan/my-experience-doing-100daysofcode-as-a-stay-at-home-mom-36ch</link>
      <guid>https://dev.to/tarynmcmillan/my-experience-doing-100daysofcode-as-a-stay-at-home-mom-36ch</guid>
      <description>&lt;p&gt;&lt;strong&gt;This week I'm celebrating finishing the #100DaysofCode challenge.&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;🎉🎉🎉&lt;/p&gt;

&lt;p&gt;As a bit of background, I'm currently a stay-at-home mom to two girls, ages 2 and 5. Finding time to code wasn't always easy but now that I'm standing at the finish line, I wanted to look back on my experience and reflect on it.&lt;/p&gt;

&lt;p&gt;From the start, I have treated learning to code as a form of self-care. For the past five years, I've shelved my thirst for knowledge in favor of diaper changes and mommy play groups. And while I wouldn’t trade the experience of staying home with my kids for anything, I eventually realized that I was ignoring a vital part of my identity.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The following tips reflect my experience doing #100DaysofCode as a stay-at-home mom, but they can really apply to anyone attempting the challenge who has a busy schedule.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Know your ‘why’
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1618418178262%2Fw-xI-t90K.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1618418178262%2Fw-xI-t90K.png" alt="undraw_searching_p5ux.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;They say that imitation is the highest form of flattery, but that doesn’t mean you should do #100DaysofCode just because everyone else is. The challenge is a big undertaking and it’s not for everyone. &lt;strong&gt;Before you commit, think about what the challenge entails and how it’s going to help you&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;If your goal is to be an expert by the end of 100 days, then you may need to revise it. Not every day will be as productive as the next, and that’s OK. You’ll probably still have a lot to learn by the end of those 100 Days, and that’s OK too. &lt;strong&gt;The purpose of the challenge is to build a daily coding habit that you can continue&lt;/strong&gt;. It’s like building a muscle-- the more you code, the easier it will be to keep going.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Have a plan
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1618418228099%2F4lK7aRjTQ.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1618418228099%2F4lK7aRjTQ.png" alt="undraw_Organizing_projects_0p9a.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Even if I had a busy day doing parenting tasks, I would try to take 5-10 mins to write down what my coding goals were for the evening. That way when I was ready to get started, I wasn’t totally racking my brain trying to figure out what to do.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;It’s also useful to keep a resource list nearby your work station&lt;/strong&gt;. That way you can quickly navigate to a site when you need to. Here are a few links to get you started:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sites for learning how to code:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://www.codecademy.com/" rel="noopener noreferrer"&gt;Codeacademy&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.sololearn.com/" rel="noopener noreferrer"&gt;SoloLearn&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.freecodecamp.org/" rel="noopener noreferrer"&gt;freeCodeCamp&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.theodinproject.com/" rel="noopener noreferrer"&gt;The Odin Project&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Sites for coding practice:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://www.codewars.com/" rel="noopener noreferrer"&gt;Codewars&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.hackerrank.com/" rel="noopener noreferrer"&gt;HackerRank&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://projecteuler.net/" rel="noopener noreferrer"&gt;Project Euler&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://coderbyte.com/" rel="noopener noreferrer"&gt;Coderbyte&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  3. Look for opportunities
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1618418272344%2F_6kP-5ezd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1618418272344%2F_6kP-5ezd.png" alt="undraw_destinations_fpv7.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Learning to code in the “in-between moments”-- during nap time or any other downtime you have during the day-- is key to working on this challenge as a busy parent. Coding in the evening is one of the main ways parents get in their work for the day, but I've found I can also be productive on-the-go using apps on my phone. &lt;strong&gt;Mobile apps don't have the same functionality as an IDE like Visual Studio but they can be helpful for prototyping or just practicing coding&lt;/strong&gt;. There are also many mobile apps for learning to code that are super helpful.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Mobile apps for editing code:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;QuickEdit- &lt;a href="https://play.google.com/store/apps/details?id=com.rhmsoft.edit" rel="noopener noreferrer"&gt;Android&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;Dcoder- &lt;a href="https://play.google.com/store/apps/details?id=com.paprbit.dcoder" rel="noopener noreferrer"&gt;Android&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Acode- &lt;a href="https://play.google.com/store/apps/details?id=com.foxdebug.acodefree&amp;amp;hl=en&amp;amp;gl=US" rel="noopener noreferrer"&gt;Android&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;Our Code Editor Free- &lt;a href="https://play.google.com/store/apps/details?id=com.ourcodeworld.ourcodeeditorfree&amp;amp;hl=en_CA&amp;amp;gl=US" rel="noopener noreferrer"&gt;Android&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;Koder- &lt;a href="https://apps.apple.com/us/app/koder-code-editor/id1447489375" rel="noopener noreferrer"&gt;Apple&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Mobile apps for learning to code:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;SoloLearn- &lt;a href="https://play.google.com/store/apps/details?id=com.sololearn&amp;amp;hl=en_CA&amp;amp;gl=US" rel="noopener noreferrer"&gt;Android&lt;/a&gt; | &lt;a href="https://apps.apple.com/us/app/sololearn-learn-to-code/id1210079064" rel="noopener noreferrer"&gt;Apple&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;Grasshopper- &lt;a href="https://play.google.com/store/apps/details?id=com.area120.grasshopper&amp;amp;hl=en" rel="noopener noreferrer"&gt;Android&lt;/a&gt; | &lt;a href="https://apps.apple.com/us/app/grasshopper-learn-to-code/id1354133284" rel="noopener noreferrer"&gt;Apple&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;Encode- &lt;a href="https://play.google.com/store/apps/details?id=com.upskew.encode&amp;amp;hl=en_CA&amp;amp;gl=US" rel="noopener noreferrer"&gt;Android&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;Knowin- &lt;a href="https://apps.apple.com/us/app/knowin-learn-coding/id1198851756" rel="noopener noreferrer"&gt;Apple&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;Mimo- &lt;a href="https://play.google.com/store/apps/details?id=com.getmimo&amp;amp;hl=en_CA&amp;amp;gl=US" rel="noopener noreferrer"&gt;Android&lt;/a&gt; | &lt;a href="https://apps.apple.com/us/app/mimo-learn-coding-programming/id1133960732" rel="noopener noreferrer"&gt;Apple&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  4. Reward yourself
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1618418303337%2FimBee_fn_.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1618418303337%2FimBee_fn_.png" alt="undraw_winners_ao2o.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You know those reward charts you give to your kids to make them do chores or practice good behavior? Well it turns out they work for adults too.&lt;/p&gt;

&lt;p&gt;I didn't use a physical chart for myself, but I did come up with a list of rewards I could give myself to keep going. It included small things, like my favorite Starbucks drink or a yummy muffin from a local bakery.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Another strategy is to use an app that rewards you when you keep up a habit&lt;/strong&gt;. Some of the apps, like Habitica, offer digital rewards like customizations for your avatar. In any case, habit building apps are a great way to visualize your coding streak. Here are a few popular ones that are worth checking out:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://habitica.com/static/home" rel="noopener noreferrer"&gt;Habitica&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.habitify.me/" rel="noopener noreferrer"&gt;Habitify&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.thehabithub.com/" rel="noopener noreferrer"&gt;HabitHub&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.beeminder.com/" rel="noopener noreferrer"&gt;Beeminder&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.coach.me/habit-tracker" rel="noopener noreferrer"&gt;Coach.me Habit Tracker&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  5. Learn to love it
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1618418333252%2F_MiomZvwB.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1618418333252%2F_MiomZvwB.png" alt="undraw_a_whole_year_vnfm.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When you're trying to complete a challenge like #100Days, it helps if you really like the subject matter. Remember, when building a habit, mindset is everything. If you're less enthusiastic about what you're learning, here are some active steps you can take to change your mindset and become more productive:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Quit questioning what you are doing&lt;/strong&gt; and pay more attention to the quality of what you are creating.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Be consistent&lt;/strong&gt; -- classical conditioning says that the more you are exposed to something, the more positive your attitude towards it will be.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Focus on the future benefits&lt;/strong&gt; of what you are working on.&lt;/li&gt;
&lt;li&gt;Be active in the community and &lt;strong&gt;let other people’s positivity inspire you&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Create a learner's environment&lt;/strong&gt; with the right music, snacks, or anything else you need to be productive.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  6. Listen for your ‘red flags’
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1618418364237%2FVscCLH-5w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1618418364237%2FVscCLH-5w.png" alt="undraw_sleep_analysis_o5f9.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;One of the keys to managing burnout is to watch for your ‘red flags.’ These are signs which pop up before you actually hit the metaphorical wall. As a parent, managing your mood is integral to managing the behavior of your kids. &lt;strong&gt;Taking a break when you need it will keep the whole family even-keeled and help you be more productive coding in the long run.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;There are some days when you can spend all evening working and others when you are simply too tired to code for more than an hour. That’s ok. &lt;strong&gt;Keep a list of activities that will help clear your head and make you focus better when you’re ready to return to the challenge.&lt;/strong&gt; Some helpful activities include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Playing with a pet&lt;/li&gt;
&lt;li&gt;Going for a walk or hike-- yes, even if it’s raining!&lt;/li&gt;
&lt;li&gt;Reading a book&lt;/li&gt;
&lt;li&gt;Writing in a journal&lt;/li&gt;
&lt;li&gt;Chatting on the phone with a friend&lt;/li&gt;
&lt;li&gt;Hitting the gym&lt;/li&gt;
&lt;li&gt;Meditating or just simply relaxing&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  7. Record your progress
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1618418412724%2FpO0jkXVDg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1618418412724%2FpO0jkXVDg.png" alt="undraw_my_documents_ym8x.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is one of the tips that helped me the most. I used a template on Notion as well as a day planner to jot down what I had accomplished each day.&lt;/p&gt;

&lt;p&gt;I also really enjoyed using Instagram to keep a daily log of my progress. I would post various anecdotes about what I was coding that day on my profile as I worked through the challenge. &lt;strong&gt;Now that I'm at the end of the challenge, these entries are a great learning tool&lt;/strong&gt;. Plus, since Instagram is a visual platform, I was inspired to post photos and videos of my work too.&lt;/p&gt;

&lt;h2&gt;
  
  
  8. Quit comparing yourself to others
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1618418445610%2Fi7Rq-oUI6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1618418445610%2Fi7Rq-oUI6.png" alt="undraw_upload_image_iwej.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As the saying goes, “comparison is the thief of joy.” Comparing yourself to others serves no purpose in your journey to becoming a developer. In fact, it runs the very real risk of setting you back in your progress.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Once you’ve committed to the challenge, keep the focus on your own journey, not everyone else's&lt;/strong&gt;. If you need to restart, take a pause, or even quit before finishing, don’t beat yourself up. There are a limited number of hours in the day; as a stay-at-home parent, it’s hard to commit to coding for a set block of time given the competing demands of kids. Do what you can and focus on the progress you are making in your unique circumstances.&lt;/p&gt;

&lt;h2&gt;
  
  
  9. Enlist help
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1618418473865%2F1umdYdESE.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1618418473865%2F1umdYdESE.png" alt="undraw_fatherhood_7i19.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Unfortunately this option may not be available to everyone, but if you have help available, &lt;strong&gt;be sure to use it&lt;/strong&gt;. This could come in the form of a spouse, a friend, or family member who is willing to watch the kids while you code.&lt;/p&gt;

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

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1618418523500%2FWfUY0L9hh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1618418523500%2FWfUY0L9hh.png" alt="undraw_programmer_imem.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Doing #100DaysofCode has been a challenge but I've managed to make it work around my family's schedules.&lt;/p&gt;

&lt;p&gt;It's great when I've been able to set aside an uninterrupted block of time to code, but I'm surprised at how productive I've been just fitting in a few minutes of studying here and there throughout the day. Now that I've built up the coding habit, I can't wait to continue and to bring my kids in on the fun too.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Thanks for reading and happy coding!&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>learncoding</category>
      <category>100daysofcode</category>
      <category>beginnerdevelopers</category>
    </item>
    <item>
      <title>5 Excellent Reasons Why You Should Be Developing Games</title>
      <dc:creator>Taryn McMillan</dc:creator>
      <pubDate>Wed, 24 Mar 2021 21:12:30 +0000</pubDate>
      <link>https://dev.to/tarynmcmillan/5-excellent-reasons-why-you-should-be-developing-games-mo0</link>
      <guid>https://dev.to/tarynmcmillan/5-excellent-reasons-why-you-should-be-developing-games-mo0</guid>
      <description>&lt;p&gt;I’m not your typical game developer. I’m &lt;a href="https://blog.tarynmcmillan.com/5-tips-for-learning-to-code-in-your-thirties" rel="noopener noreferrer"&gt;in my thirties&lt;/a&gt; , never had any formal coding training, and my main job title is mom. So why am I pursuing game development now?&lt;/p&gt;

&lt;p&gt;I've always been into video games and have recently adopted the attitude that there's no time like the present. As I ventured further into game development, I've gained a really solid foundation in object-oriented programming and met some awesome other devs along the way.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Game development isn't just for pros.&lt;/strong&gt; Trust me-- if I can do it, then you can too!&lt;/p&gt;

&lt;p&gt;Below are five reasons why game development is an excellent avenue for anyone looking to build their coding skills.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. It’s multidisciplinary
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1616616732828%2FZWSu7pd1g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1616616732828%2FZWSu7pd1g.png" alt="undraw_multitasking_hqg3.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Are you someone with many different interests? I am. And I knew I wanted to be involved in both the programming and design sides of my projects.&lt;/p&gt;

&lt;p&gt;One of the benefits of game development is that &lt;strong&gt;you get to wear multiple hats at once&lt;/strong&gt;. Professional game studios employ different people to fill different roles, but if you’re working on your own you’ll need to master a variety of skilled tasks.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Here are some of the various jobs your development process may include:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Recording sound clips &lt;/li&gt;
&lt;li&gt;Composing music&lt;/li&gt;
&lt;li&gt;Creating art assets (vector art, pixel art, etc.)&lt;/li&gt;
&lt;li&gt;Writing a script&lt;/li&gt;
&lt;li&gt;Level design&lt;/li&gt;
&lt;li&gt;Story design&lt;/li&gt;
&lt;li&gt;Character design&lt;/li&gt;
&lt;li&gt;Marketing/advertising your game &lt;/li&gt;
&lt;li&gt;Quality assurance&lt;/li&gt;
&lt;li&gt;Play testing&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It sounds like a lot, but &lt;strong&gt;there are many benefits to multidisciplinary learning.&lt;/strong&gt; You’ll work on advancing several different skills at once and expand your network to include people from a wide range of backgrounds. When you’re making a game, the work is varied and always changing. &lt;strong&gt;So if you’re someone who thrives on working on many different tasks at once, game development may just be for you&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. It’s user-focused
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1616616771342%2Ffq4rKVV-d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1616616771342%2Ffq4rKVV-d.png" alt="undraw_video_game_night_8h8m.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Good games always have the player’s enjoyment at the forefront. &lt;strong&gt;As such, game development is a great way to practice your user-centered design skills&lt;/strong&gt;. These skills are transferable to other areas of development, such as app or web development, so they’re important to have in your toolbox.&lt;/p&gt;

&lt;p&gt;In game development, as in other industries, there are important &lt;strong&gt;accessibility standards&lt;/strong&gt; you must meet in order to make your game accessible to as many users as possible.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Here are a few examples of features that will enhance the accessibility of any game you make:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Availability of easier play modes (levels of difficulty) in addition to regular and hard modes&lt;/li&gt;
&lt;li&gt;Different colour settings and alternate means of communicating colour-coded information &lt;/li&gt;
&lt;li&gt;Custom key binding options including joystick and controller binding options&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For a much more comprehensive list of guidelines, visit &lt;a href="http://gameaccessibilityguidelines.com/" rel="noopener noreferrer"&gt;this website&lt;/a&gt; .&lt;/p&gt;

&lt;p&gt;Keeping the needs of your users in mind is a requirement for all types of developers. &lt;strong&gt;Practice this important skill now and help educate future generations of creators!&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  3. It’s beginner friendly
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1616616806082%2FCuPZYyVi_.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1616616806082%2FCuPZYyVi_.png" alt="undraw_education_f8ru.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Triple A games will of course take years to develop with work happening across many different teams. But with a platform like Unity, &lt;strong&gt;you can have a simple game running in a matter of minutes.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Learning how to finish something you start is an essential skill. Completing a project helps you learn from it, builds your self-confidence and gives you something you can share with the community.&lt;/p&gt;

&lt;p&gt;Unity's interface is helpful for beginners because it offers immediate visual feedback on your project, making it more likely that you'll see it through to the end. You’ll need to do some coding of course, but you can import images, sounds, and textures fairly easily into your game without much technical experience.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Here are four popular resources for learning game development in Unity:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://www.udemy.com/course/unitycourse/" rel="noopener noreferrer"&gt;Complete C# Unity 2D Game Development Course&lt;/a&gt; (Udemy) &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.udemy.com/course/unitycourse2/" rel="noopener noreferrer"&gt;Complete C# Unity 3D Game Development Course&lt;/a&gt; (Udemy)&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://learn.unity.com/" rel="noopener noreferrer"&gt;Unity Learn&lt;/a&gt; (official Unity tutorials)&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.youtube.com/user/Brackeys" rel="noopener noreferrer"&gt;Brackeys YouTube channel&lt;/a&gt; (videos covering all aspects of Unity development)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  4. It’s multilingual
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1616616857381%2FT-pR8oIYt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1616616857381%2FT-pR8oIYt.png" alt="undraw_programming_2svr.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Even if game development isn't your end goal, &lt;strong&gt;making a simple game is still an excellent way to build your skills in a particular language.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The two main game development engines are Unity and Unreal, which use C# and C++ respectively. But browser based games are also popular coding projects. Below I’ve listed some examples of simple games you can program in JavaScript and Python.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://codeheir.com/2019/02/04/how-to-code-pong-1972-1/" rel="noopener noreferrer"&gt;Pong using JavaScript&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.freecodecamp.org/news/learn-javascript-by-building-7-games-video-course/" rel="noopener noreferrer"&gt;7 games using JavaScript&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://developer.mozilla.org/en-US/docs/Games/Tutorials/2D_Breakout_game_pure_JavaScript" rel="noopener noreferrer"&gt;Block Breaker game using JavaScript&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://www.freecodecamp.org/news/learn-python-by-building-5-games/" rel="noopener noreferrer"&gt;5 Python arcade-style games&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.edureka.co/blog/snake-game-with-pygame/" rel="noopener noreferrer"&gt;Snake game using Pygame&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.androidauthority.com/how-to-make-a-game-in-python-1136589/" rel="noopener noreferrer"&gt;Basic intro to making games with Pygame (with tutorial)&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  5. It’s easy to share and collaborate on
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1616617128760%2F1hk3WshSt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1616617128760%2F1hk3WshSt.png" alt="undraw_collab_8oes.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Since the game development process can be divided into several different jobs, &lt;strong&gt;you may find yourself in need of a collaborator.&lt;/strong&gt; In the initial design phase, you can decide whether you'll be outsourcing any work to another developer.&lt;/p&gt;

&lt;p&gt;Fortunately, game development is a growing industry with many people eager to get involved with a project.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Here are some of the best places to find a collaborator online:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.gamedev.net/forums/forum/29-hobby-project-classifieds/" rel="noopener noreferrer"&gt;Hobby Project Classifieds&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.reddit.com/r/gameDevClassifieds/" rel="noopener noreferrer"&gt;Game Dev Classifieds&lt;/a&gt; (Reddit)&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.reddit.com/r/INAT/" rel="noopener noreferrer"&gt;INAT (I Need A Team)&lt;/a&gt; (Reddit) &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.indiedb.com/forum/board/recruiting-resumes" rel="noopener noreferrer"&gt;Recruiting &amp;amp; Resumes Section&lt;/a&gt; (IndieDB)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Discord, game jams, and even taking a Udemy game development course can also introduce you to potential collaborators.&lt;/p&gt;

&lt;p&gt;If you’re already working in a team, Unity has a built-in feature that makes it easy to share work. Project management tools such as &lt;strong&gt;Trello&lt;/strong&gt; or &lt;strong&gt;Notion&lt;/strong&gt; are also helpful for keeping track of your team’s progress and sharing your creative wins!&lt;/p&gt;

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

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1616617200461%2FMyJDvC_qu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1616617200461%2FMyJDvC_qu.png" alt="undraw_gaming_6oy3.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Game development might seem inaccessible if you’re a code newbie. However, it’s actually a great way to practice your design and object-oriented programming skills. You'll become familiar with important accessibility standards that you can carry forward in your developer journey. And you'll gain a new and ever-evolving form of creative expression.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;As with any type of coding, good luck and remember to always have fun!&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>gamedev</category>
      <category>c</category>
      <category>javascript</category>
      <category>games</category>
    </item>
  </channel>
</rss>
