Personal Life

On Learning New Things

I am an eternal student. Whether it’s doing research for my books or learning new crafts, I am always learning. One thing my partner and I have been talking about a lot lately is eventually trying to make a video game together. My partner is really talented as an artist, and she knows some coding. I would obviously love to help build and write for the game. In order to not be semi dead weight, I decided to learn coding.

For the first time in a long time, I ended up with learning paralysis. Code for some reason felt very intimidating. Initially, my hesitation was that I couldn’t conceptualize how the art part of the game got combined with the lines of code to create what we all play. That hang up caused me to stall out and procrastinate for about a week. A few Youtube videos later, it finally clicked that games were basically a puppet theater that the code manipulated while the player is the only “human” who moves independently. I felt slightly silly for not realizing that sooner, but brains get hung up on weird things. I have a tendency to get stuck on abstract concepts that I can’t link to things I can see. It’s the same reason why I did well in math until I hit calculus where everything felt so abstract that I couldn’t ground concepts in reality enough to do well.

With this exciting discovery fueling me, I immediately starting doing tutorials on GDscript (the code that the game engine Godot uses) and hit the wall again.

While I do Duolingo daily to encourage my mom to keep learning Spanish (and to exercise my own brain), I do not enjoy the learning style that tosses you into learning concepts without context. One of my favorite parts of learning languages in school was the charts that explained verb tenses, pronouns, grammatical rules, etc. I don’t tend to organically pick that kind of stuff up. I just get frustrated when I don’t understand the rationale behind things. I feel like if I can’t put all the pieces together based on what you taught me, you’re doing a bad job. Assuming a student is going to organically pick up anything is a foolhardy endeavor because most won’t, and if you tell people they’re wrong and they get repeatedly frustrated, they quit. I got very frustrated that I was being expected to intuit things that made no sense without added context. At one point, I actually got my partner to look at an answer and explain to me what I wasn’t understanding or missing. Even she wasn’t sure at first, but when we talked it out, we figured out that what I was thinking were coordinates on a grid were actually the slope of the movement.

If you are teaching a concept and don’t explain the various pieces to your student, you are setting them up for confusion and failure. This is a hill I will die on. More information always trumps less.

I do a lot of crafting and have a high frustration tolerance, but even I walked away from this for a day or two because I was so annoyed. After doing some Googling, I found out that GDscript is very similar to another coding language called Python, so I looked into that instead as I figured it was older and would have a lot more information on it. I hit pay dirt. Something I’ve found as an eternal student is that there is a teacher for every student. You just have to find them. Several Youtube videos later, I found someone whose style jived with my brain. His approach is straightforward, detailed, and he spends time breaking down what the various pieces do in terms of syntax and grammar.

After an hour of following along with his video, I was able to create a basic little chatbot, and while it was something small and silly, I left feeling accomplished. That is what learning should feel like. Could I build an app? No. Do I feel like I walked away with comprehensive basic knowledge that will act as a foundation for other things I learn? Yes, and that’s the important part.

What I’ve found helps me a lot when I’m trying to learn new things is planning out that learning. The same guy has a rather cheap beginner course (under $50 with a coupon) with like 30+ hours of information. I plan to watch a few more of his beginner videos on Youtube and take notes until I can take the course. I only have 90 days to complete the course, so I want to make sure I clear my to-do list of a few things first as I’m currently reading/giving feedback on a past student’s novel and have to finish reading a book I need to blurb. By the end of the course, I should have a rudimentary understanding of Python and be able to make some basic things. If I like it and think it’s useful, I can branch out to the more advanced course and go from there.

I know someone out there is reading this and going, “Why not just use AI and vibe code?” Because I don’t want to be dependent upon something else, especially something I despise. And more importantly, I want to learn how to do this myself, so I can expand my skills, make new stuff, and move closer to my goal of building a game with my partner. I can’t do that if I don’t learn the basics and grow from there.

Learning is something I enjoy. I like expanding my frustration tolerance and working through problems rather than relying on someone else or giving up the second I hit a roadblock. Something I stress to my students, especially my college freshmen, is that frustration and doubting your skills is a part of learning. I remember sitting in my first few weeks of grad school classes worrying I was the stupidest one in the class because I was psyching myself out. Once I grew accustomed to new terminology and the ebb and flow of the classes, I realized I was fine. If I wasn’t willing to sit with that discomfort, I could have missed out on something that has been really important to my growth. It’s the same with learning skills on your own. If you’re unwilling to deal with frustration and discomfort, you’ll never grow. I wish that more people would understand that and embrace that instead of turning to AI or simply giving up.

Leave a comment