Indie Game Dev Tip #7 – Learn By Doing
Today I wanted to talk to you about a really cool method that I learned on how to actually learn things. When I started out in game development, I would Google a lot of stuff. I would read a lot of articles, I bought a lot of books. I wanted to consume all the information that was out there, how to actually build a game, etc. After talking to a bunch of people and going through this process, I realized that I wasn’t learning the things I really needed, that it wasn’t happening, and I wasn’t progressing the way that I wanted to progress.
A lot of the information that I was consuming was “just in case information“. It wasn’t information immediately pertinent to what I wanted to build. Then I realized that a better way for me to learn was to learn by doing. The second type of information is “just-in-time information”—the information that I learn in the middle of working on a project.
This has helped me a lot in programming. When I first started in web development, in PHP and JavaScript and stuff like that, I had done HTML for a long time. I built some basic web sites and that’s how my marketing company started. While working in the sites, I found out that I could build these applications online using back-end programming languages for the web. I was like, “Oh, that’s awesome! That’s totally what I want to do.” But reading books on the topic and being busy with other things didn’t do much to help me really learn how to do what I wanted to do.
I wanted to build a user login member site thing. I had the concept in my head, I knew what I wanted to build so I decided to just dive in and build it. I did this without knowing any programming languages, without even knowing how it all worked. I just decided to google every piece of the code that I needed to make this thing work.
Luckily, at that point, I had already had a bit of programming experience for Windows and C-sharp and Dark Basic Pro as well as a couple other stuff. I knew how programming worked, but I had no idea for the syntax or how PHP worked. I had to learn the difference between server-side and client-side stuff. I literally googled everything line by line to build out that project.
Doing it that way was like taking a crash course in PHP. Nothing has ever taught me as much as that process when applied to learning. Learn by doing. That concept helps so much, I cannot say enough about it. As I moved on to the other things, I wanted to learn a couple of game software. When I returned to game development after a short hiatus while working on my company, I realized that I had to do the same thing.
I dove into a bunch of different things I found online. I’ve downloaded Game Maker, GameSalad, Concert 2, Unity, Unreal. I downloaded a bunch of stuff and I was like, “I’m going to go through a couple hours of tutorials each, and build a game in each one.” I used the same process—I googled how to build the thing that I wanted to build. It was crash course to learning what I wanted to learn.
I would read information, I would read about stuff, but I didn’t really need all the information I was taking in. But it felt like a step in the right direction. I felt accomplished. Because my brain, theoretically, had learned something.
It was conceptual. I didn’t actually learn the thing that I wanted to learn. I found that for practical purposes for actually building stuff, getting shit done, and improving as a person and accelerating in your skill set, you need to learn by doing. That’s how you really remember and absorb stuff.
With PHP, I did that for years and I still do to this day. I think every programmer does that at some point, when they get an error code because they missed a semicolon, or they don’t know how to do certain things, they just google it and then get a Stack Overflow link.
I found that it expands well beyond programming into actual design and development. Information is so readily available. The type of information you find is specific, not the general. It’s all out there, even find tutorials on specific topics.
No matter where you’re at in game development, whether there are new things you want to learn or you haven’t started making a game yet but you’ve been reading a bunch of information, I highly recommend that you learn by doing. Knowledge tends to stick with you a lot longer, it’s easier to pile information on top of each other, and you can learn more, faster.
Those are my thoughts for today. I hope you guys enjoyed it. If you have a comment on it or you have your own story you want to share, leave me a comment below because I’d love to hear from you.