A lot of you have probably thought about developing games at some point in your life, particularly if you’re an avid gamer yourself. But then you read about all the boring requirements and degrees needed to become a game developer, which immediately kills this daydream of yours. And you move on, without giving it a try.
Truth is, you don’t need a bachelor’s degree in computer science to become a game developer. A lot of the best indie game devs started out with free educational material that can be readily found online. And no, you also don’t have to take art classes to draw up some concept designs for your character. With all the free tools and assets out there, you can whip up a pretty decent looking game within months just by putting in a couple of hours of work each day.
In fact, you don’t even need to be an experienced coder thanks to visual programming languages and engines such as GameMaker or Construct 3. So, how do you begin making games without a degree? Let’s find out.
Start Learning How To Code
If you want to make a game, you’ll have to write code. Game logic, AI, Physics, rendering- all this stuff relies on code and you can’t just download code online for your specific game like you’d download assets. Or can you? Well, visual programming languages will only take you so far before you run into a ceiling with larger projects.
Coding is more than just a way to implement functionality into your game, it teaches you how to think logically and come up with efficient solutions to complex problems. So, where do you start? Ask yourself why you want to learn to program, and how far you’re willing to go with it.
Do you intend to make a career out of programming? Secure a job in a game studio? Or do you just want to make a fun little hobby project? Once you’ve decided what you want from it, allocate some time for learning. One hour a day, 5 days a week is plenty for starters. Then, you need to choose a language.
Python is what I would recommend since its syntax is much easier to comprehend when you compare it to languages like C. I will get you started really quickly, but If you intend on using one of the most popular game engines in the industry, which is Unity, I suggest that you move to C# once you get the hang of Python. Then, check out online resources.
Youtube is a massive resource for newbie coders looking to get free educational content. You’ll find crash courses, short videos, highly detailed college-style courses from experienced professors, advanced level knowledge, etc. Channels such as LearnCode.academy, thenewboston, Derek Banas, freeCodeCamp.org, and Programming with Mosh will provide you with everything you need in order to lay a solid foundation.
From there onwards, you can actually take online courses that reward you with certificates for passing tests. Maybe even take part in competitive programming events to test your skills against others.
Use Freely Available Game Engines
Unity, Unreal, Godot, GameMaker, Construct, and many other engines exist which provide a complete set of tools necessary in order to create a game from concept to playable game. You can use Photoshop or Lightroom to come up with artwork or use freely available online game art for inspiration.
If you’re new to game development, I highly recommend you use a freely available game engine instead of trying to write your own. Well, let’s just say you can’t write your engine because it’s that difficult. Even people with multiple college degrees and decades of experience struggle to create an engine in a reasonable amount of time.
A game engine provides you with the framework necessary to create your game. It includes a 2D or 3D rendering engine to help create the graphics, an editor so you can write the code, a physics engine to handle collisions, explosions, etc., an audio engine, and much more. You can find plenty of tutorials online for Unity and Unreal, both of those engines are widely used within the gaming industry so we highly recommend you start with either one of those two.
Learn Additional Skills (Sketching, Concept Art, Writing, etc.)
Knowing how to code isn’t enough if you’re the only one working on a game. You also need to create a world in which the character can move around and do things. To create 2D sprites or 3D models, you’ll need a creative vision upon which to base the finished product.
Without any concept art, you’ll end up going around in circles since you don’t have a clear vision for the game. Now, we aren’t asking you to become a skilled artist overnight. But it sure helps if you can draw at a level higher than that of a 4th grader.
The story isn’t going to make or break your game, particularly if it’s a simple indie game within the platformer genre. Just look at Mario, one of the most famous games of all time with a relatively simple premise- you’re an Italian plumber trying to save the princess from a bad guy who’s holding her captive in some castle.
The gameplay is more important. But if you’re planning to create a strategy or RPG style game, you’ll need to write some dialogue and tell a story. It might help to take a few art classes and learn how to design sprites or pixel graphics. There are plenty of free online courses for these.
Play And Observe Games From Different Genres
If you wish to create a good game, you need to have the right vision. It all starts with a concept, how the game should look and play. What genre should it be, and which mechanics to include. If you don’t play games yourself, it will be pretty hard to come up with a good idea. You need to look at well-designed games from different time periods, across a variety of platforms and genres.
Understand what their creators were thinking when they put in a certain mechanic, why they decided to go with that particular Menu or HUD choice. Playing different games will teach you what works, and what doesn’t work. Games are an art form, and you can’t create good art without learning to appreciate that which has come before you. You can’t become a good writer unless you read books.
You can’t become a good director if you never watch movies. The same concept applies to game design.
Take Online Game Development Courses
Visit Udemy or Udacity, and take a look at their various courses on game design and programming. They have C# tutorials, courses on 2D & 3D game development in Unity, resources on how to design board games, animation courses, and much more. You can even learn how to create a proper resume, build up a portfolio, set up a LinkedIn profile, etc. if you want to get serious with game development as a career.
Yeah, Youtube courses and blogs are free. But, there is one thing you can’t get from Youtube alone, and that is customized information tailored specifically for you. Plus, you get to compete with others who are learning the same course by taking tests. And you can even have 1 to 1 coaching sessions with experienced tutors.
Some of these sites will reward you with certificates but know that a degree from an actual engineering college will be much more valuable than some random online certificate.
Look Up Free Courses Online
We talked about Udemy and Udacity, now let’s talk about what you can get for free on the internet (and by free, we mean legally free). You can find a whole bunch of Youtube channels that are dedicated to teaching novices the basics of programming and art design.
Plus, there are some really interesting game development forums and blogs where you can talk with knowledgeable people on various topics such as game mechanics, level design, etc.
The thing with free content, as opposed to paid courses, is that you must fish through a sea of stuff before you finally get to what you actually want. A lot of the topics will require you to comb through Youtube, finding the answer one bit at a time.
Much of the content won’t be well-organized. But if you have the desire to learn and the patience to sift through videos, you will eventually find a very helpful video or blog that will teach you exactly what you need in order to advance forward on your journey.
Visit Community Forums And Read Gamedev Blogs
Check out GitHub, r/gamedev, UnityForums, Stack Overflow, the Android Development Community, and similar online forums where you can meet up with game developers/ enthusiasts to discuss all sorts of topics from programming to tools and game design. You might also want to follow blogs like HobbyGameDev.com, Gamasutra, Gamedev.net, etc.
Network With People IRL In Developer Conventions
Game expos and developer meetups are the perfect place to find exciting new info and network with industry professionals who can provide you with invaluable guidance on how to succeed in game development.
Building up contacts is important, as it might help you gain access to documentation and resources that you otherwise wouldn’t be able to obtain. Plus, you will learn about the inner workings of game studios. And you might even be offered a job opportunity if you manage to build up an impressive portfolio to demonstrate that you’re experienced enough.
Follow Experienced People
Before you begin your journey in game development, it is important to understand that the quickest way of learning something is to review the work of experts.
Some of these greats are people like Jonathan Weinberger (author of Learn Unity Programming with C#), Alexander Zotov (famous indie game dev), and Vladimir Limarchenko (master of 2D game development in Unity). There are also Youtube channels like Brackeys, Sykoo, etc.
Build A Solid Portfolio
Building games as a hobby is fun. But it doesn’t put food on the table, and you never really get to fully satisfy your creative dreams with the limited budget and manpower of an indie dev team. So, your next step is to get a job at some established game studio.
But these days, you need a degree to do that. A bachelor’s in art design or programming is a must-have. Or is it? Well you see, companies these days put a lot of value on people with prior experience. Just having the qualifications isn’t a good enough indication that you can do the job. If you have experience working with a team on a large project, your chances of getting hired at a big studio will go up exponentially.
How to demonstrate that you have the necessary skills? Create small hobby projects, build games to show that you have worked with the specific game engines and programming languages. This will be your portfolio. If you’re eying a specific field like AI or rendering, focus your development efforts on that area so it shows on your portfolio.
Choose A Programming Language + Engine And Become Really Good With It
Commercially available engines like Unity or Unreal have a native programming language that the engine supports for scripting. Like C# for Unity and C++ for Unreal. You can learn JavaScript, Python, Lua, and many more languages but the key is to not overburden yourself with too much.
Stick with one language at first, become really good at it. Choose an engine that has all the features you need, along with tons of tutorials and documentation.
Set Realistic Goals And Work Hard
You decided to make an RPG game, in Unity with C#. Great, but for some reason, you may be thinking that you’ll learn the language in 2 weeks and the engine in another 2 weeks.
That’s not happening, and you should take a good look at online forums and talk it out with experienced developers before you end up exhausting yourself with lofty goals.
Laying a proper foundation is important, understand the concepts before you rush out and copy the instructions in some video to create a game that even you can’t understand. There is no shortcut to making a good game, so take your time and learn before you act. Work regularly, and keep improving with each day.
Know Who Your Target Audience Is
Before you even start making the game, you need to conceptualize it. How it will look and play, what the genre will be, etc. But do you know who this game is for? Is it targeted at 5 to 12-year-olds? Or is it aimed at Millenials who grew up playing Mario on the NES? Maybe it’s just a fun project that you picked up to learn the principles of game development, and you don’t have any intentions of monetizing it.
Even then, you should create a game that people actually enjoy playing. That way, you’ll be able to gather feedback and see if your design choices worked out or not.
Start Simple And Scale Upwards
Yes, making games is a lot of fun at first. And no, you aren’t going to make the next Assassin’s Creed from your bedroom. If you set goals that are too lofty, it will result in disappointment. Make something simple, like a retro platformer or mobile game. If it turns out fine, you can expand upon the original concept and make it even bigger.
Your failures with smaller projects will prevent you from repeating the same mistakes with larger projects. And trust us- you don’t want to make silly mistakes with larger games because recovering from that will be impossible.
Don’t Give Up
This one should be pretty obvious, but a lot of people tend to give up on their game development aspirations mid-way because it takes too much time and effort. Game development is like that New Year’s resolution you make to lose 50lbs of weight during the year, but you end up forgetting about it after the first week. It takes constant effort, and a desire to keep learning.
Especially if you’re a newbie with no prior experience in coding or art design. You might only be making your first game as a hobby project, but the skills you’ll learn during these few months will last forever. You can choose to advance these skills even further or transfer them over to another field of work. Maybe game development will ignite with you a passion for coding that you never knew existed. Making a game will also teach you time management and discipline, two skills that are applicable to everyday life.
Conclusion
Unless you’re looking to secure a job in some AAA game studio, you can create quite a few enjoyable games in your free time without any formal degrees. Just use the resources freely available to you on the internet, plus there’s a community of self-made enthusiast game devs willing to help you out in online forums and such
An insightful and rich overview of the process of moving from a non-developer to an amateur developer. Well worth the read.