{"id":17,"date":"2022-11-08T22:22:00","date_gmt":"2022-11-08T22:22:00","guid":{"rendered":"http:\/\/fem.flywheelsites.com\/?p=17"},"modified":"2023-12-17T19:27:32","modified_gmt":"2023-12-17T19:27:32","slug":"game-development","status":"publish","type":"post","link":"https:\/\/frontendmasters.com\/blog\/game-development\/","title":{"rendered":"Getting into Game Development and the Gaming Industry"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\" id=\"how-game-engines-like-unity-help-you-get-into-game-development\">How Game Engines Like Unity Help You Get Into Game Development<\/h2>\n\n\n\n<p>If you like to play video games or are in the orbit of technical jargon, you\u2019ve probably heard about game engines like Unity and Unreal. These industry leaders power a massive chunk of the modern gaming industry.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1200\" height=\"675\" src=\"https:\/\/i0.wp.com\/rc.frontendmasters.com\/blog\/wp-content\/uploads\/2023\/10\/unity-interface.png?resize=1200%2C675\" alt=\"\" class=\"wp-image-20\" srcset=\"https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2023\/10\/unity-interface.png?w=1200&amp;ssl=1 1200w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2023\/10\/unity-interface.png?resize=300%2C169&amp;ssl=1 300w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2023\/10\/unity-interface.png?resize=1024%2C576&amp;ssl=1 1024w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2023\/10\/unity-interface.png?resize=768%2C432&amp;ssl=1 768w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<p>At their core, game engines are software applications that allow you to create real-time experiences. That\u2019s it! These experiences might happen to be 2D with beautifully crafted sprites, or they might be 3D and utilize impressive shaders and effects. They might be deployed to the web, gaming consoles, mobile devices, or VR and AR headsets. And while it\u2019s no coincidence that many of these real-time experiences happen to be video games &#8211; that was, after all, the original purpose of&nbsp;<em>game<\/em>&nbsp;engines &#8211; it often surprises people to learn that game engines are used for so much more.<\/p>\n\n\n\n<p>It\u2019s natural to assume that game engines are just for games; it\u2019s right there in the name! However, the role of a game engine has evolved so much that I think the term has become a misnomer. Today, game engines are used in Hollywood filmmaking, architectural visualization, theme park attractions, and web development. Nearly every business vertical needs real-time software, whether in the form of WebGL-based data visualizations, AR product tours, or immersive simulations. Learning how to use a game engine might seem like a big departure from web development, and in some ways, it is, but it can also be a natural extension to existing skills that expand your ability to create impactful experiences that resonate with people. And the really great thing about modern game engines is that you can write your core application once, and with just a bit more work, you can deploy it to a wide variety of devices.<\/p>\n\n\n\n<p>When I first started making websites 20 years ago, I gravitated toward the web because it felt like the ultimate creative medium. It was an interactive wonderland with \u201cread&nbsp;<em>and<\/em>&nbsp;write\u201d capabilities, which set it apart from books, TV, and film. However, when 3D-driven technologies like WebGL and VR started coming online about 10 years ago, there was a shift in my subconscious thinking. I didn\u2019t want just to create&nbsp;<em>interactive<\/em>&nbsp;experiences; I wanted to create&nbsp;<em>immersive<\/em>&nbsp;experiences that could captivate hearts and minds. Luckily, all the necessary tools were rapidly becoming democratized and commercialized.<\/p>\n\n\n\n<p>Until then, the \u201cprofessional\u201d (and worthwhile) game engines were proprietary and behind the closed doors of titans like EA and Ubisoft, but that started to change with the advent of mobile app stores. Small independent developers needed a way to prototype and deploy mobile games rapidly, so they turned to off-the-shelf tools like Unity and Unreal. By the early 2010s, one person could create a hit game with their laptop and spare time, and a new landscape of game development came into focus.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"unity-vs-unreal-vs-everything-else-where-should-you-start\">\u200b\u200bUnity vs Unreal vs Everything Else: Where Should You Start?<\/h2>\n\n\n\n<p>There are lots of game engines available, and you could even build a game engine yourself, but there\u2019s no correct choice; only the choice that\u2019s right for you, your project, your team, or your company.<\/p>\n\n\n\n<p>If you\u2019re an ambitious and creative person, you might be tempted to build your own game engine from scratch, but unless it\u2019s purely for fun or academic purposes, I advise sticking to the established choices. Making real-time experiences is hard enough, and you\u2019ll need to apply all the tooling and leverage available to make it happen. Building a modern engine that powers your creativity is a monumental task, not for the faint of heart. I commend people with that drive and focus, but I am not one of them.<\/p>\n\n\n\n<p>While many free game engines are available, the two de facto leaders are Unity and Unreal.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/i0.wp.com\/rc.frontendmasters.com\/blog\/wp-content\/uploads\/2023\/10\/engines-render-1024x576-1.jpg?resize=1024%2C576\" alt=\"\" class=\"wp-image-94\" srcset=\"https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2023\/10\/engines-render-1024x576-1.jpg?w=1024&amp;ssl=1 1024w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2023\/10\/engines-render-1024x576-1.jpg?resize=300%2C169&amp;ssl=1 300w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2023\/10\/engines-render-1024x576-1.jpg?resize=768%2C432&amp;ssl=1 768w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<p>Unity is made by a company of the same name (Unity Technologies) and Epic Games make Unreal. In the right hands, both are perfectly capable of producing world-class results, and their similarities are greater than their differences. So which should you choose?<\/p>\n\n\n\n<p>This is a very hotly debated and opinionated topic, so I would recommend trying both engines for a bit and seeing which suits you better, but here\u2019s my take.<\/p>\n\n\n\n<p>Unreal tends to have the edge in graphics, especially out-of-the-box. The default tools in Unreal Engine V are incredibly powerful and can create dazzling experiences targeting higher-end hardware like consoles and PCs. When client expectations call for the best-looking real-time graphics available, Unreal is usually the choice. It\u2019s no surprise that Unreal has found its way into Hollywood productions like The Mandalorian, where it\u2019s used to fill real-time LED-lit backgrounds that cast natural light onto the actors on set.<\/p>\n\n\n\n<p>That said, Unity can still create world-class imagery and most of the time, that discussion point comes down to the capabilities of the artists using the tool. In my opinion, Unity has the advantage overall because it\u2019s much easier to start with and use on a day-to-day basis, even in professional settings or on large teams. While Unreal does have \u201cvisual scripting\u201d (called Blueprints), you\u2019ll often still need to write C++ code, which has a steep learning curve. Unity scripts are written in the C# programming language, which tends to be much more beginner-friendly, especially if you\u2019re coming from another \u201cC-like\u201d web language such as JavaScript.<\/p>\n\n\n\n<p>Unity also encourages smart code reuse through its component-based architecture. When you write a C# script in Unity, most of the time, you\u2019re creating a component that gets attached to a GameObject, which you can think of as a \u201cthing\u201d in your game world, like the player character, an enemy, or even just a rock sitting on some terrain. GameObjects don\u2019t really do anything by themselves, but when you add components, you can intelligently construct their behavior through&nbsp;<em>composition<\/em>. Let\u2019s say you wanted to create a spinning coin that the player can collect, similar to what you might find in a popular platforming franchise. You could do this all in one script component, but often, a better approach is to create one component that does the spinning and another that allows the player to collect the object. This way, you can reuse the spinning script on a spinning obstacle and use the collection script on other collectible objects, like power-ups.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/i0.wp.com\/rc.frontendmasters.com\/blog\/wp-content\/uploads\/2023\/10\/vscode-unity-1024x576-1.png?resize=1024%2C576\" alt=\"\" class=\"wp-image-95\" srcset=\"https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2023\/10\/vscode-unity-1024x576-1.png?w=1024&amp;ssl=1 1024w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2023\/10\/vscode-unity-1024x576-1.png?resize=300%2C169&amp;ssl=1 300w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2023\/10\/vscode-unity-1024x576-1.png?resize=768%2C432&amp;ssl=1 768w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<p>Over the years, I\u2019ve also found that Unity\u2019s community makes it the stronger choice. Forums, blogs, and sites like Stack Overflow tend to have a lot more answers when it comes to Unity. Additionally, the Unity Asset Store has an overwhelming abundance of paid and free resources that can jump-start your project, whether you just need a few 3D models or a whole role-playing game system.<\/p>\n\n\n\n<p>Again, and I cannot stress this enough, make the choice that\u2019s right for you. Both Unity and Unreal are free to download, so whether you\u2019re embarking on a big expansion of your skills or an entirely new career, it\u2019s worth familiarizing yourself with both options to make informed choices.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"how-to-get-started-with-development-in-game-engines\">\u200b\u200bHow to Get Started with Development in Game Engines<\/h2>\n\n\n\n<p>The moment you download a game engine for the first time can be pretty exciting. You might open the default test scenes included with the engine and click around a bit, thinking that you\u2019re just mere moments from getting started on the next Fortnite or Minecraft! Your very own money-making franchise! That might be true for one out of every several million of you. Remember Flappy Bird?<\/p>\n\n\n\n<p>For the rest of us, preparation and education need to meet an opportunity. It can feel daunting trying to figure out how to approach your dream idea, and that\u2019s because it&nbsp;<em>is<\/em>&nbsp;daunting. Lots of new game devs seem to think they\u2019re going to rock the scene with their \u201csuper original\u201d metaverse MMORPG, and they end up getting burnt out and frustrated when they can\u2019t seem to get beyond the starting line. Don\u2019t be one of those people. Instead, embrace the creative limitations of being an independent risk taker and use them to your advantage!<\/p>\n\n\n\n<p>Focus on something smaller that you can accomplish.&nbsp;<em>Much<\/em>&nbsp;smaller. In fact, I challenge you to try and come up with the smallest idea you can think of that you\u2019d still call a game and start with that because you\u2019ll be amazed at how much labor it takes to create quality, even with powerful tools like Unity and Unreal at your disposal. You could also start by making your own versions of classic games like Pong, Breakout, Space Invaders, Pacman, or Tetris. In my course on Frontend Masters, \u201c<a href=\"https:\/\/frontendmasters.com\/courses\/unity\/\">Unity for Web Developers<\/a>\u201d, I teach students how to create a simple physics-based marble game and deploy it to WebGL so that anyone with a web browser can play.&nbsp;<a href=\"https:\/\/nickpettit.github.io\/unity-for-web-developers-webgl\/\">You can try it out in your browser using WebGL.<\/a><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/i0.wp.com\/rc.frontendmasters.com\/blog\/wp-content\/uploads\/2023\/10\/game-demo-1024x576-1.jpg?resize=1024%2C576\" alt=\"\" class=\"wp-image-97\" srcset=\"https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2023\/10\/game-demo-1024x576-1.jpg?w=1024&amp;ssl=1 1024w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2023\/10\/game-demo-1024x576-1.jpg?resize=300%2C169&amp;ssl=1 300w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2023\/10\/game-demo-1024x576-1.jpg?resize=768%2C432&amp;ssl=1 768w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<p>Once you\u2019ve created your first few tiny games, there are a couple of ways you can proceed. You might try engaging with the community on the Unity forums, Reddit, or Twitter. It\u2019s also worth checking out Meetup.com to see if there are any game development groups in your local area. When you engage with the community in these ways, you might find job opportunities or contract gigs that you never imagined were there. Conversely, you may find that while these communities are technically minded, they need someone like you who has web development skills. When I first plugged into my local community, I joined a meetup group, and I helped them out by updating and maintaining their website for a while. This ended up being a great way to immerse me in the local scene and give back to the same community that was helping me launch my first indie games.<\/p>\n\n\n\n<p>If you\u2019re very passionate about game dev, you might decide that you want to turn it into a career. Most game development studios will expect at least one shipped console title (as in PlayStation, Xbox, or Switch) on your resume, which is tricky. How can you ship a video game if you\u2019ve never worked at a game company before? If working for a studio is your goal, you can\u2026<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Try to ship a game by yourself. This is a brutally difficult path that I took, and it took me several years, but I did end up with a game on PS4 and PSVR by the end of it, and I am now happily making games professionally.<\/li>\n\n\n\n<li>Find an indie team in the community or a smaller company and work your way up. There are lots of small and medium-sized companies that won\u2019t have high expectations of an established studio.<\/li>\n\n\n\n<li>Get an internship somewhere. This may not be practical for many people, but it is an option if you\u2019re willing and able to do it.<\/li>\n\n\n\n<li>Find a company that isn\u2019t making games but is using the same technologies and skills that will carry over. Many companies are looking for talented Unity and Unreal developers, and it\u2019s not just game studios, so be sure to search broadly.<\/li>\n<\/ul>\n\n\n\n<p>There are no easy answers when it comes to making gaming a career. It\u2019s tough! However, if you\u2019re looking to expand your existing web development skills or offer more to your clients, a game engine is a fine choice for your toolbox!<\/p>\n\n\n\n<div class=\"wp-block-group learn-more\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<p>Next, check out Nick\u2019s\u00a0<a href=\"https:\/\/frontendmasters.com\/courses\/unity\/?utm_source=boost&amp;utm_medium=blog&amp;utm_campaign=boost\">Unity for Web Developers<\/a>\u00a0course, and\u00a0learn the Unity game engine from a web developer who transitioned into full-time game development and is now a lead Unity dev!<\/p>\n\n\n\n<p>~ Frontend Masters Team<\/p>\n<\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>How Game Engines Like Unity Help You Get Into Game Development If you like to play video games or are in the orbit of technical jargon, you\u2019ve probably heard about game engines like Unity and Unreal. These industry leaders power a massive chunk of the modern gaming industry. At their core, game engines are software [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":45,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"sig_custom_text":"","sig_image_type":"featured-image","sig_custom_image":0,"sig_is_disabled":false,"inline_featured_image":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1],"tags":[10,11,12],"class_list":["post-17","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog-post","tag-game-development","tag-unity","tag-webgl"],"acf":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2023\/10\/gamedev-featured.png?fit=1000%2C500&ssl=1","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/frontendmasters.com\/blog\/wp-json\/wp\/v2\/posts\/17","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/frontendmasters.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/frontendmasters.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/frontendmasters.com\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/frontendmasters.com\/blog\/wp-json\/wp\/v2\/comments?post=17"}],"version-history":[{"count":8,"href":"https:\/\/frontendmasters.com\/blog\/wp-json\/wp\/v2\/posts\/17\/revisions"}],"predecessor-version":[{"id":278,"href":"https:\/\/frontendmasters.com\/blog\/wp-json\/wp\/v2\/posts\/17\/revisions\/278"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/frontendmasters.com\/blog\/wp-json\/wp\/v2\/media\/45"}],"wp:attachment":[{"href":"https:\/\/frontendmasters.com\/blog\/wp-json\/wp\/v2\/media?parent=17"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/frontendmasters.com\/blog\/wp-json\/wp\/v2\/categories?post=17"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/frontendmasters.com\/blog\/wp-json\/wp\/v2\/tags?post=17"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}