Gravity Ace

How to level up your skills


Hey folks! Welcome back to another Gravity Ace devlog.

Today I wanted to talk about this problem for beginners where they see all these people making amazing things… and they think “How?” or “I’ll never be that good.” So I wanted to show you that I also struggle. I was a beginner too. It’s OK. It’s normal for this to be hard.

Let me start by saying you don’t need to be good at something for it to be worth doing. Not everything you make has to be for other people. You can do it for its own sake. For example, drawing is very meditative for me. Second, we are our own worst critics. It’s important to realize that no one is going to be harder on you than yourself. And just because you don’t like something you did doesn’t mean no one else will like it. Don’t be so hard on yourself.

That said, I get it. It feels good to be good at something.

Ira Glass of This American Life has a great talk about the struggle to make good creative work that everyone should watch.

“…everybody I know who does interesting, creative work… they went through a phase of years where they had really good taste, they could tell what they were making wasn’t as good as they wanted it to be, they knew it fell short. It didn’t have this special thing that we wanted it to have. And the thing I would say to you is everybody goes through that. And for you to go through it, if you’re going through it right now … you gotta know it’s totally normal.” - Ira Glass

This really resonates with me. It’s been true for myself and everyone I’ve ever met. Game development is creative work. Programming is creative work.

Let’s talk about how I learned programming because I get that question a lot. I am a good programmer. But I wasn’t born with some innate programming talent. My process was simple but slow: I’ve been programming almost daily since I was 10 years old. I took some programming courses in college. And I’ve been working professionally as a programmer for my entire career. It took a lot of time and effort to get to where I am. It’s just, when I make videos, you’re only seeing the end of the process. You’re not seeing the years and YEARS I spent making things. My hard drive is filled with hundreds of old projects. Experiments, game jams, contract work, you name it. Some of them were more successful than others but all of them were essential steps to where I am today.

The story with my art is similar. I got into art much later. But one year, back in 2010, I just decided that I wanted to learn to draw. So I started drawing several hours a week. Not a lot by any means. I never took any courses but I watched a lot of videos, read some books, picked up some techniques here and there. But mostly, just drawing lots. This process is very slow. You might do it faster by taking classes taught by masters and surrounding yourself with other learners who are better than you. This is theoretically what a university education gives you. A lot of it is just daily practice but it’s also the right practice guided by a mentor who can show you what you are doing right and what you are doing wrong. I took the slow route but it worked for me and now I have some confidence in my drawing ability.

OK. So you recognize that you aren’t quite where you want to be. You’re conscious of the gap between what you’re making and what you would like to make. Unfortunately there is no silver bullet that I know of. And everyone learns differently so I’m not going to prescribe a specific technique or set of courses. There’s no magic tutorial. But here’s what I know. You’ve got to do work and you’ve got to keep going even when you feel like the work is bad. Practice and don’t give up. It’s tough. It takes a while. But the good news is that anyone can do it. This isn’t something you have to be born with.

A few tips:

Learning the fundamentals is extremely useful. A course in fundamentals can be boring but it’s important because the fundamentals are what everything else is built on. For example, learning about logic, data structures and basic algorithms are important programming fundamentals. Knowing the basics of shape, composition, lighting, and value are important fundamentals of drawing.

Practice. I tend to learn by doing. For example, to learn 3D modeling and Blender, I picked a smallish project and just went for it. I spent weeks on it, from scratch, and just forced myself to learn everthing I needed to know as I went along. It was painful and slow, especially in the beginning. But in the end I learned a lot and gained a lot of confidence.

Do lots of small projects. Part of the reason you hear the advice to “start small” in game dev is because starting small allows you to go through the entire process from beginning to end in a short amount of time. I think people learn faster and become more skilled if they do several small projects than if they just do one big project. I learned game dev programming this way. I picked a small project and made it. Then another and another. Every project you finish will make the next one better.

Do tutorials, but not too many. Tutorials can be a great way to learn something. But it’s important to understand what you are doing. Copying a YouTube tutorial without understanding the concepts being explained is probably not going to be very helpful. You should always try to understand why the author is doing this or that. See if you can explain it to someone else. If you can then you’ve got a good understanding of the subject. Don’t get stuck in tutorial hell. Tutorial hell is where you only do tutorials one after another and don’t feel like you’re learning anything. It’s not going in. Take a break. Ask for help. Or try to apply what you’ve learned by making a small thing on your own.

I wish I had a shortcut for you. But I hope that my message is clear: the road is hard and long but you can make it to the end. You will hit rough patches but you can work through them and learn in the process. It can be painful. Just remember that most everyone who is good at anything has taken the same road and experienced the same pain.

I believe in you. And I’m happy to help. Just drop by my Discord and ask.

Thanks for watching everybody. See you next time!

Published September 23, 2020

More devlogs...

Game jams for beginners

3 methods for screen shake in Godot Engine

Creating a custom Fixed Joint in Godot Engine