Learning C, Why? [A Moron's Journey: Part 1]
Introduction
Writing blogs is hard do you know that? Granted this is my first time doing it but it took me like five minutes to come up with that title, and another two trying to find a good way to start this whole article blog thingy before I gave up and decided this was the best way.
Alright so hopefully the title let you know what to expect. If it didn't then I'll let you know I'm trying to learn C programming to eventually write small arcade style games in SDL. That's the goal anyway.
Why not a Game Engine?
Why didn't I pick a game engine? That's a good question. There are easier ways to go about game development then essentially coding a game engine from scratch. The simple answer is because I didn't want to, but that answer feels unsatisfying and this is my blog post so I get to be a little long winded. The longer answer is I've tried game engines, but that's not what I wanted to learn. In college we used Unity to create our video game projects, and afterwards I tried out Unreal. I even started a YouTube channel and gave myself a challenge to see how far I could push myself learning Godot for 30 days. So when the urge to create videos games caught me in its grips once more, like it always does, why didn't I go back to something familiar?
Because it felt like starting over. I didn't like the feeling that I was walking where I had been before, and every time I used a game engine in the past I never felt like I knew what I was doing. I always felt like I was banging blocks together to see what would fit to get the end results I was looking for. If I wanted to I could eventually and very quickly get back to where I had been in my knowledge of Godot, but as I mentioned I don't want to.
Why C?
Why did I pick C instead of another programming language? I figured this was the next logical question anyone would ask. After all if you asked the internet about what language you should learn for game development you'd probably get C++, Python, Java, and C# most likely. For me C has some other uses that appeal to me. For one it seems to be the mother language. It seems that most programming languages can trace their origins back to C. Plus C can be used to program microcontrollers which means ROBOTS! I mean, who wouldn't want how to learn how to do that?
These are all good logical reasons to choose C, at least to me, but that's not what sold me on it. What sold me was reading Masters of Doom: How Two Guys Created an Empire and Transformed Pop Culture by David Kushner. This book is awesome in my opinion. It follows John Carmack and John Romero's contribution to video games. The book is very good and I would encourage you to read it if you're interested. This book showed me that DOOM was coded in C and you can even look at the source code posted on github here. This blew my mind when I first learned that one of the games I remember playing at my uncle's house was made in C. I had no clue how you would even go about doing that, but I wanted to learn.
Closing Remarks
So that's it. That's the thought process and reasons behind me attempting to take on this new challenge of both learning C and eventually learning SDL. I plan on creating more blog posts of going through the resources I use and sharing my successes and failures along the way. Oh boy will there be failures I'm sure, but failing is part of the learning process. I'm hoping this article,blog or whatever you're supposed to call it was at the very least entertaining to read.
Discussion