I want to start coding and be a video game developer, but where do i start?
I've always loved playing video games and right now I'm super into Hearthstone (if anyone sees and plays that game add me) and i really want to go into coding and or to create the story for one. However, I do not know here to start at all and i really want to learn, so where do i start? Is there any programs, internships around? I honestly don't know where to look (Also i'm broke just to note) #video-games #video-game-design #video-game-development #video-game-production #code #coding
Matthew L. Tuck, J.D., M.B.A.
Matthew L.’s Answer
Hi Shamir. That's a great question. Video games are a blast and make a ton of money for the companies that build popular ones. As a result, the demand for good video game makers (coders, graphic artists, designers, testers, environment designers, marketers) is pretty hot right now and probably will be for years to come. Virtual and augmented reality (think Pokemon Go) are going to change the gaming world in ways that no one understands yet.
And just so you know, I am not a professional game designer, but I do work with technology companies and make games in my basement for myself.
So you mentioned you have no money for taking classes and buying expensive computers and software. Well, you're in luck because these days you don't need any money to learn to program or to start building your own really cool games that look just like a professional built it. Here is how I do it with no money. The only thing you need is a computer (not even a super powerful one) and an internet connection.
b. Free Code Camp
c. GA Dash
g. Khan Academy (my favorite)
h. MIT OpenCourseWare
Try different sites and see which one feels best for you and the way you learn. They all have different approaches. You don't need to learn these languages to start building your own games (see below) but if you want to someday build really sophisticated ones you will need to learn to code, depending on what specific job in the game industry you want. And even if you don't go into gaming for your career, being able to code will give you a big leg up in just about any career you choose.
If you want to build games for the App Store you may need to learn C#, Objective C, Swift, HTML5 and some other languages. I would focus on games for the PC and web for now.
I would also buy a couple books on coding or check them out at the library. Computer languages change really fast so it's easy to find really cheap books on how to code in a particular language that are only a year or two old but they've been replaced by a newer version. So you can get a $60 book for like $3 on how to code Python in the discount pile or on Amazon. Above all, practice coding as much as you can. That's how you get good at it.
- Download a Free Game Engine - The really good news is you don't need to learn to code before you start building your first games. You can download a free game engine and just start making. A game engine is a piece of software that will let you actually build your game. It's the foundation or platform of your game. You can write your own game engine using just about any popular coding language, but why bother? It will take a ton of time and won't be nearly as good as the ones that are already built for you. Using a pre-built game engine is like landing on a new planet where you are going to build a city. All the basic background stuff is already built for you. Gravity, sky, physics, colors, lighting, camera angles, is all put together for you so you can focus on making your game. It's like there is a even a pile of boards, bricks and nails just sitting there waiting for you to build your new city (well, sort of). Here are 12 if the best gaming engines that you can get for free. Most were built by game makers to run their first games on and then they refined them and released them to the public for everyone to use within certain limits. Some are super simple to use with no coding required, others are more complicated:
a. Unreal Engine 4/Unreal Engine 3 UDK (really good but complex and harder to learn)
b. CryEngine V
c. Unity 3D (my favorite)
e. Source Engine/Source SDK
f. Source 2
j. Tomstone Engine (C4Engine)
l. Panda 3D
These are professional grade game engines and are the platforms that many professionals use to build their games on. Some are very intuitive and pretty easy to learn and some aren't. Check out a few and see which one you like best and which one fits your style of game best. You can also see video clips on Youtube of games that have been built with them and tutorials on how to use the software.
The only thing to remember about most of these is that you can only build games for your personal use. If you want to sell or distribute your games you usually have to buy a license from the software maker that will let you do that. I would just focus on building games for you and your friends to play for now.
- Learn some Graphic Designing and Storytelling - Most (though not all) of the best games have good graphics and great story lines. If you want to build truly immersive games and learn game design skills that will be in demand in the future (for virtual and augmented reality), you will need to understand graphic design and storytelling. Get some practice with tools that design characters, clothes, weapons, game levels, concept design, environments, buildings, terrain and objects like trees and plants.
In big game design studios you might have specialists. Some people will just work on one component of the game design, like level design, concept, story, characters, environments or terrains. Maybe they have a guy who just makes trees. But in smaller studios, you might have to do it all. If you're building your own games, you will definitely have to do it all. Some tools game designers use are:
a. Blender (free tool for 3D design)
b. Photoshop (textures and painting)
c. Sketchup (3D models and design)
d. Gimp (free, like Photoshop for doing textures and colors)
Some are not free but you can sometimes get them really cheap (like Adobe products) if you're a student. Check with your school to see if they have arrangements with software makers to get the stuff free or cheap.
- Start Making Your Game - It's probably best to have a simple game in mind before you start designing it. When I have a specific goal in mind, a project becomes easier because I understand why I need to learn this tool or that tool because I need to do this specific task. Just makes it easier and keeps me motivated. Start with a basic 2-D game and work up from there.
You live in California so chances are you may have a game design company near you. See about getting an internship there or just visiting for a day or two when you can shadow an actual game designer to see what they really do.
If you have friends that want to develop games, build a group and work on games together. You can bounce problems off each other and get the work done faster.
Here is a link to the best 57 computer game design colleges (I know 57 is a weird number but that's how many there are): https://successfulstudent.org/best-video-game-colleges.
If you think you might want to start your own video game company someday, don't neglect the other courses you will need to succeed. You may want to study business as well as game design. Also, coding is a great skill to have because if you're good you can always get a job. Freelance coding pays very well and you can do from anywhere (a beach, your dorm room, an airplane, wherever).
Good luck. It's an exciting career and if you're passionate about it, you will succeed. Just never give up.
Matthew L. recommends the following next steps:
So, there are two parts to your question:
1) I want to start coding.
2) I want to be a video game developer.
The good news is #1 is easy to do -- in fact, you can start right away, for free, right now.
You will probably like the "canvas" tutorials the best, because they allow you to draw in your web browser: https://www.w3schools.com/html/html5_canvas.asp (but you may need to do earlier tutorials first, to learn some basics).
Python is another popular choice, and you can download a free ebook here: <span style="color: rgb(51, 51, 51);">http://inventwithpython.com/pygame that teaches beginners how to write games. You will have to download and set up Python, but the book walks you through that (I think!).</span>
<span style="color: rgb(51, 51, 51);">There are other languages: C#, Java, C++, and others, but they are harder to set up if you are a beginner.</span>
<span style="color: rgb(51, 51, 51);">Once you start learning general programming, you can start to work on the second part of your question.</span>
<span style="color: rgb(51, 51, 51);">Games can get big, so there are many tools to help you make them.</span>
<span style="color: rgb(51, 51, 51);">Game Engines are libraries of pre-written code that handle tasks common to many games, like playing sounds, moving shapes on the screen, and reading the mouse and keyboard inputs from the player.</span>
<span style="color: rgb(51, 51, 51);">Art programs help you make the 2D and 3D objects you find in games.</span>
<span style="color: rgb(51, 51, 51);">Sound effects generators help you make sounds.</span>
Game Editors are programs that let you assemble the code, graphics, and sounds (relatively) quickly to make a complete game.
More good news: many of these tools are available for free.
Once you get comfortable coding, you can also check out Unity. It's a beast with a big learning curve, but it's powerful and available for free. https://unity3d.com/get-unity/download
When it's time to make art, you can download GIMP (https://www.gimp.org/downloads/) to make pixel art, or Inkscape (https://inkscape.org/en/release/0.92.2/) to make vector art. There are plenty of tutorials online for both of these. They are easy to get into, but difficult to master -- which is exactly what you want in a good tool.
For sound effects, check out bfxr. It's an on-line program that will generate LOTS of 8-bit style sounds: https://www.bfxr.net
Finally, if you want to make 3D objects, check out Blender: https://www.blender.org/download/
But all of that can get overwhelming, especially at first.
For now, just focus on learning some code. Take it bit by bit, and you will be shocked at how fast you start moving!
Mark recommends the following next steps:
I was able to create a side scroller game on Unity 3D with no coding knowledge beforehand but I had web design and Illustrator and Photoshop experience. So, I thought to myself, if I can pick up these programs pretty quickly, why not?
Unity 3D makes you learn how to write C#, to me, it's one of the easiest to write when writing code. Compare to Python and Java. The logic of C# was something that I understood quick. It depends which language are you comforting and suits to your preferences.
Unity 3D offers the perfect beginner playground for someone who wants get a foot in and a taste of video game designer. If you just want to learn how to code, Codeacademy or GitHub. The interfaces for both of these attracted me and I wanted to learn more on the sites.