<?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: Nishant Upadhyay</title>
    <description>The latest articles on DEV Community by Nishant Upadhyay (@thelightninghero).</description>
    <link>https://dev.to/thelightninghero</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%2F436265%2F8e4bf816-131b-49c7-9deb-373ea5239f9f.jpeg</url>
      <title>DEV Community: Nishant Upadhyay</title>
      <link>https://dev.to/thelightninghero</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/thelightninghero"/>
    <language>en</language>
    <item>
      <title>How to Get Started with Game Development?</title>
      <dc:creator>Nishant Upadhyay</dc:creator>
      <pubDate>Fri, 01 Jan 2021 12:57:01 +0000</pubDate>
      <link>https://dev.to/thelightninghero/how-to-get-started-with-game-development-55ii</link>
      <guid>https://dev.to/thelightninghero/how-to-get-started-with-game-development-55ii</guid>
      <description>&lt;p&gt;&lt;a href="https://twitter.com/ourgameideas"&gt;Follow GameIdeas on Twitter&lt;/a&gt;&lt;br&gt;
&lt;a href="https://teespring.com/stores/gameideas"&gt;A Shop for Game Devs&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;How would you feel if you could change your reality and create a whole new one? A reality which is maybe based in space with asteroids attacking a spaceship! Or maybe a reality-based in the ocean where you try to fight pirates!&lt;/p&gt;

&lt;p&gt;Well, creating a new reality is not possible in the real world but it is definitely possible in the world of Game Development. And the popularity of Game Development is only increasing. This can be because video games are becoming more and more popular and people now want to not only participate in these worlds but also create them!!!&lt;/p&gt;

&lt;p&gt;So if you want to know How to Get Started with Game Development, this article is perfect for you as it will teach you the basics and provide you with various resources that will take you further on your journey.&lt;/p&gt;

&lt;h1&gt;
  
  
  What is Game Development?
&lt;/h1&gt;

&lt;p&gt;Simply speaking, Game Development is the overall process of creating a video game. And if you thought that making a video game is as easy as playing one, well it’s not!!! There are many components while creating a game such as Story, Characters, Audio, Art, Lighting, etc. that eventually merge together to create a whole new world in a video game!!! This process of Game Development for commercial games is funded by a publisher (a rich company!) but independent video games are comparatively cheaper and smaller so they can be funded by individuals also (That can be you!).&lt;/p&gt;

&lt;h1&gt;
  
  
  Is Being a Good Game Player necessary for Game Development?
&lt;/h1&gt;

&lt;p&gt;There are many people who assume that if they are good Game Players then they will definitely be good in Game Development. Well, don’t make that mistake!!! If you are a good Game Player then you have some advantage because you already know something about game stories, players, levels etc. But that’s it! Actually Game Playing and Game Development are very different fields and the skills you acquire in the former will not necessarily help you in the latter. For example: If you love movies, that doesn’t necessarily mean you will be a good movie director!!! So get into Game Development only if you are passionate about game programming and really want to develop a game for fun(Loving game playing is just a bonus!).&lt;/p&gt;

&lt;h1&gt;
  
  
  What are the Different Components in Game Development?
&lt;/h1&gt;

&lt;p&gt;There are many different components in Game Development that can either be handled by a single developer who is individually creating a game (and who is a genius!!!) or normally by a team of multiple people. So if you want to get started with Game Development, it’s best to first understand the various components in this field so that you can identify the ones that most interest you.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Story:&lt;/strong&gt; Everything has a story and that is equally true for video games!!! Your story can have a linear structure which is relatively easy, or it can even have a non-linear structure with various plot changes according to character actions. The main point is that there should be an interesting story to hook your players!!!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Characters:&lt;/strong&gt; Do you know any story without characters? No! That’s because, after the story, the characters are a fundamental part of any video game. You have to decide the looks and personalities of the characters, how fast they should move, what should be manners and characteristics etc.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Audio:&lt;/strong&gt; It is the backbone of video games!!! That means it should support the game and yet not be too obvious! You have to decide the various sounds in the game world like player sounds, background music, etc. that together create a lifelike and believable video game.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Art:&lt;/strong&gt; It can be said that video games are basically just responsive art!!! So art is very important as it decides the feel of the game. Normally art in video games can include various things like the game texture, game lighting, 3D modeling of characters and objects, particle systems to create fire, fog, snow, etc.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Lighting:&lt;/strong&gt; All the lighting in video games is obviously artificial and very important for mood setting. Less lighting can be used in association with horror or thriller games while increased lighting can denote more adventure or fun games. Also, lighting can be an important factor in stealth challenges with darker areas providing cover to characters.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. Levels:&lt;/strong&gt; All good video games have various levels that increase the difficulty as time goes on. Levels can be denoted in games by multiple floors, different buildings, or even different countries (Depending on the game you are playing!) and each level can have many potential paths that eventually lead to the next level. And designing games with many possible path combinations for different levels is a big factor in Game Development.&lt;/p&gt;

&lt;h1&gt;
  
  
  How to Start Learning Game Development?
&lt;/h1&gt;

&lt;p&gt;Now that you have understood all the components involved in Game Development, the topics provided here are a roadmap that is enough to make you understand the basics of Learning Game Development. After learning these you can make a decent game and then move on to creating more and more complex worlds as you progress.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Learn Computer Programming:&lt;/strong&gt; The interesting world-view in a game is all created using Computer programming. So it stands to reason that you need to know programming in case you want to enter this world! Now if you have some basic knowledge about coding in programming languages like C++, C#, Python, Java, etc. then great, otherwise it’s best if you learn programming before moving any further.&lt;/p&gt;

&lt;p&gt;There is no specific programming language that is exclusively used for Game Development. But C++ is the most popular in game development and also the most commonly used language for writing game engines. Some of the popular games made with C++ are Counter-Strike, King Quest, World of Warcraft, etc. Another popular language is Java as it has multithreading and sockets. A popular game made in Java is Angry Birds Chrome.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Choose a known Game Engine:&lt;/strong&gt; As you are a beginner in Game Development, it is best to start with a known Game Engine. They are quite useful in general as they provide various functionalities for your games like 3D and 2D graphics rendering, audio support, animation, collision detection, artificial intelligence, networking, etc.&lt;/p&gt;

&lt;p&gt;The most popular Game Engine is Unity as it is quite easy to learn, and also has the personal edition which is free! Another popular Game Engine is the Unreal Engine which can be modified to create unique games. However, eventually it doesn’t matter what Game Engine you use but what matters is that you stick with that game engine so that you understand it well enough to use it in future projects.&lt;br&gt;
On a side point, it is not absolutely essential that you use a Game Engine. In fact, not using a Game Engine will mean you have to do most of the technical work yourself, which is hard but will provide you many learning opportunities. It will even be useful in case you have to develop the design patterns for game programming yourself some time in the future!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Create a Basic Game:&lt;/strong&gt; Now that you have some idea of Game Development, create a basic game. Now you might want to get carried away and wish to create a masterpiece but trust me and start small!! Try to keep your project around a week or so because the most important thing now is not that you become a master overnight but that you understand the basics.&lt;/p&gt;

&lt;p&gt;A common first game is Tetris as it is easy to make and yet it will introduce you to many concepts in Game Development. It will basically teach you about the three steps in the Game Loop i.e. initialize, update and draw which are at the heart of any possible game development you will do in the future.&lt;/p&gt;

&lt;p&gt;But in case you are not interested in starting with Tetris, you can pick any game that is easy enough (or difficult, it’s your choice!!!) but make sure that the game is not confusing or complicated and it has a clear objective and endpoint.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Understand Game Design Patterns:&lt;/strong&gt; Game Design Patterns is where things get a little complicated as you have already understood the basics of making a video game. But the first question is, What are Game Design Patterns?&lt;/p&gt;

&lt;p&gt;Suppose that you have to put in multiple asteroids that destroy a spaceship in a space video game. It is much wiser in this situation to have a code module that can be reused again and again for the asteroids rather than focusing on individual asteroids. This is a Game Design Pattern known as Object pooling. Similarly, there are many Game Design Patterns that are basically just templates for creating modular code that can be used as a repeated solution for any problem in Game Development.&lt;/p&gt;

&lt;p&gt;Some of the other common Game Design Patterns are Flyweight, Prototype, Observer, etc. It’s best that you first understand these Game Patterns and then apply them in various small games. This will help you in understanding the various impacts and benefits that Game Design Patterns can have on Game Development in general.&lt;/p&gt;

</description>
      <category>gamedev</category>
      <category>learn</category>
    </item>
    <item>
      <title>Passwords are not secure! The solution for developers</title>
      <dc:creator>Nishant Upadhyay</dc:creator>
      <pubDate>Sun, 06 Dec 2020 09:20:20 +0000</pubDate>
      <link>https://dev.to/thelightninghero/passwords-are-not-secure-the-solution-for-developers-10fn</link>
      <guid>https://dev.to/thelightninghero/passwords-are-not-secure-the-solution-for-developers-10fn</guid>
      <description>&lt;p&gt;The Problem&lt;br&gt;
WHEN THE COMPUTER security company Hold Security reported that more than 1.2 billion online credentials had been swiped by Russian hackers, many people were worried — -and justifiably so. Hold isn’t saying exactly which websites were hit, but with so many credentials stolen, it’s likely that hundreds of millions of ordinary consumers were affected.&lt;br&gt;
Some of these may be incredibly complex passwords — -with lots of jumbled numbers and symbols. And some may be incredibly simple — -using just the simplest of English words, like, say, “password.” But after the hack, most all of them have left their users vulnerable to attack. According to Alex Holden, Hold Security’s founder, the “vast majority” of the passwords he uncovered had been stored in plain text on company servers.&lt;br&gt;
What this shows that a complex password isn’t necessarily a secure password. As the wired have written before, password systems have a very annoying way of putting most of the hard work onto the shoulders of the users. You’ve got to mix up a jumble of numbers and letters (some in capitals, please) and special characters. Some passwords time-out after 90 days, forcing you to reset them. But that doesn’t mean they’re that much safer than simple passwords.&lt;br&gt;
Some of our ideas about passwords date back to the 1980s, when the National Institute of Standards and Technology came up some guidelines for creating secure passwords for local area networks. Back then, they’d mail them out to interested computer security types via U.S. Post. Now, NIST is trying to help the U.S. move beyond the password, says Donna Dodson NIST’s chief cyber security advisor. “Putting the burden of security on the end-user and making it more complex just doesn’t work,” she says. “The security has to be usable for the end-user. Otherwise they’re going to find workarounds.”&lt;br&gt;
In some situations, a complex password can help you. But in others — -like when the company holding your password stores it in plain text, without encrypting it — -that complexity is meaningless. And some passwords may seem complex, when they’re actually pretty easy to guess. They can trip you up, even if they’re stored using cryptographic techniques, when someone hacks into the machines that they live on. The lesson here is that system administrators — -the people who oversee all those password rules you have to follow — -need to shoulder a bit more of the work. They need to better understand what makes a secure password — -and how passwords should be stored.&lt;br&gt;
“Everyone is confused in this space,” says Cormac Herley, a Microsoft researcher who’s been studying passwords for years. System administrators will lay down rules for passwords but often, “we don’t know half of why we’re doing this stuff.,” says Herley. And they may not realize they should be spending their time securing systems in other ways.&lt;br&gt;
Either way, pinning your security on an insanely complex password is a fool’s wager. Just ask the people running the airline, travel and social networking sites that got hacked by Alex Holden’s Russian hackers. “Why are we burdening users with demands to chose stronger and stronger things with the goal of withstanding increasingly sophisticated guessing attacks when 1.2 billion credentials are just spewed from servers that are improperly protected,” says Herley. “That seems like a big waste of effort.”&lt;br&gt;
The Solution for Developers&lt;br&gt;
The solution's are ranked on basis of how easy it is for developers to implement:&lt;br&gt;
Brisk: Brisk is an upcoming platform which would allow developers to ditch passwords without putting a lot of load on their system they would just have to make a simple API call and hear the response, that’s all. Join the first 1000 waiting list here.&lt;br&gt;
Social logins: Provided by most of the big social networks which allow their existing users credentials to be shared, but it comes with its own set of problems such as user privacy and not all users would want to link their account to a social network or be willing to create a new account on a social network for just the sake of using the service.&lt;br&gt;
Bio metrics: These are the most scarce form of authentication and depends on device to device.&lt;/p&gt;

</description>
      <category>authentication</category>
      <category>passwords</category>
      <category>security</category>
      <category>python</category>
    </item>
  </channel>
</rss>
