Where Do I Get Started: Programming

by 2/01/2016
Hey all! It's time for a fresh, new blog post! This week, I wanted to cover something that is often asked by our fans. How do you get started making games if you don't know how to program? This question gets asked on Twitter and over e-mail, mostly, but we've had a few people ask in person and I've even hosted a panel at Pandoracon a couple years ago that was supposed to be about breaking into the industry as a whole, but ended up running over schedule because there were just so many questions of this nature. It seems that now, more than ever (especially with the success of smaller indie hits like Five Nights At Freddy's and Undertale being such big hits with kids and games like Mario Maker sparking game design creativity so easily) we need some good resources on this matter. That being said, sites like Pixel Prospector, Gamasutra, and TIGSourse (as well as many, many more) are way better at exploring this topic than any of us ever will be, but I'm going to give it a try anyway!

 Alright then, let's get to it! Que the title card!

Usually when people ask us "how do you get started making games if you don't know how to program" or some variation on that, instead of asking about how to get started programming, it's usually about what tools one can use instead of programming. I don't find this version of the question very interesting nor do I find it's answer very helpful (or honest, for that matter). I'll go ahead and answer it, though, because it does help broach the broader subject.

For general "programming-free" game engines, Construct 2 (our personal pick for best on this list), Stencyl, GameMaker, GameSalad and Fusion 2.5 (formerly Multimedia Fusion) spring to mind. There are many others, but these are some of the best. For something more specific, GameGuru (a spiritual successor to 16-year-old-me's personal favorite, FPS Creator) and RPG Maker. For making text-based adventures and visual novels, Twine is hard to beat. This is where the great lie is found, though! All of these claim to be "programming-free" and in a few, you can get some results without going under the hood, but to make the types of games that most people want to make and play, you have to get your hands dirty. These tools all have fairly powerful scripting languages inside of them, and while a lot of the time it may not look like programming (especially with the "general" engines I listed, which all look suspiciously similar to one another) you're essentially doing just that.

That's not to burst anyone's bubble, though. I'm just saying that to highlight how important to game development programming really is. Even in the "programming-free" options, they have to "trick" you (for lack of a better word) into programming. As such, these tools are actually great starting points into getting into "real" (again, for lack of a better word) programming and thus the ability to use more complex tools like Unity3D. Just know going into them what they really are and that nothing comes easy. You can't just make a AAA quality game without putting lots of sweat and time into it (and even then, you'll probably make something much smaller and less polished, but that's not a bad thing and can often be better, in my opinion).

So, what should you do if you want to get started with just programming? Well, might I suggest Code.ORG? It's a great place to get started with programming if you have no prier experience. It really helps get you into the programming mind set before moving onto bigger things. It uses a "language" called Blockly (which resembles the interfaces of those "general" engines, I mentioned earlier). Scratch (which is very similar) is also a great starting point.

CodeCombat is another great choice! It's a game that helps you make games! It's actually pretty fun as well! Code Hunt and CodeFights are other great games that teach you to program! 

If you want a more traditional "class" format, right on your computer Coursera, Lynda, and Udemy are pretty great. Just be careful, though. Most of these classes aren't free like most of the other resources listed above and can actually get pretty pricey in some cases, but they often go on sale, so just keep your eye's peeled. 

Other than that, even just watching YouTube tutorials on how to mod games you already love to play is a great way to get into programming. Bethesda games like Skyrim and Fallout 4 or Valve games like Portal of HalfLife 2 are some of the best because they tools to mode them are readily available and the developers actively encourage modding.

So, if you're wanting to get into game making, but don't know how to program... just learn to program! While it can be hard at times, it's more than doable for most people and can even be fun if you go at it the right way! The world needs more programmers! 

We really hope this helps! If there's enough positive response on this article, we may do more. Perhaps a follow-up to this one? Or maybe one about sprite art, 3D modeling, sound, game design, marketing or any number of other things. Let us know how you liked it on TwitterFacebook or G+