Can Bad Programmers Make Great Games?

Today, we’re going to talk about a question that one of our members asked and is really concerned about: Can bad programmers make good games? The way I want to approach this is really simple. I just want to tell you straight up, “YES.” Now, I don’t consider myself a good programmer; I would be embarrassed to show you guys some of my codes. Let me just put it this way: I’ve been a programmer for 10 years. I’m self-taught. I did go to school for a little bit but I don’t think that made a huge impact in what I learned.
For a long time I struggled with the feeling that I was not a real developer. That was a big deal for me. How do you call yourself a developer when you’re self-taught? You don’t have a degree and you don’t know where the entry point is.
Where is that point at when you can say that you’re officially a developer? How do you know where to find it? Who tells you that you’re a developer? And so I struggled with that for a long time. What I found out was, the only person that can tell me whether or not I’m a good developer is me. You have to qualify yourself. You have to talk to yourself and determine whether you are capable.
Now here’s what I want to say: A lot of people, when they see projects, they don’t see the inner workings and this is especially true to non-developers. You have to remember that your target audience are not game developers, so you should not be thinking in terms of your output, code that you write, or the things that you produce.
You should be thinking in terms of the end product, the thing that you created, and how it looks when you are completely done with it. When someone sees the product, they don’t see everything that goes into it. If you see a computer monitor, you don’t see the work that went into that software to record on the camera, or all the people that assembled it in third-world countries, all the different pieces of the hardware. You don’t see all those little pieces. All you see is the finished product and you judge based on what you see.
A lot of developers are self-conscious about what their code looks like and they don’t feel like real developers because they’re self-taught. But believe me, people don’t see that.
So even if you were good or a bad programmer, you can still make a good game because it’s the finished product that matters. For a long time my games were a compilation of Stack Overflow really it was like a bunch of code that I found on the internet. I started with templates too. I found templates online and decided to download them and reskin games, I’d figure that shit out. When I learned PHP, here’s what I actually did:
I was running a marketing company that was transitioning into full-scale development and I had hired a couple of guys from India. They were working on this project with me that I was hired to do. It was a massive project. And I didn’t know PHP at the time. I had worked in JavaScript, in HTML. I hadn’t worked in PHP or MySQL before and so I didn’t know how to them.
I hired these guys and they were sending me code that I could kind of read through because once you understand programming you can kind of read through a code and understand what it is as long as it’s not too complicated. So I understood what it was and I was like: “Hey, wait a second! I could do this, I could totally do this.” And the dudes ended up taking me for a spin. They ripped me off for a lot of money. They didn’t finish the things that they were supposed to and they left me holding the bag.
So, for the next project that we got, I actually had a client pay me to build a thing and I was like: “You know what? I’m going to learn how to build this thing as I go.” And I just googled how to do this line by line in PHP and how to program in command. And line by line I wrote the entire web application, from Stack Overflow. I googled everything that I needed to know—every line that I needed, every command that I needed—one by one and I put this web application together full of Google code.
That was a horrible way to do things. That was really bad code. But you know what? I did it. You know what else? The client was super happy. The client didn’t see any of that; he didn’t know what was going on behind the scenes. All the clients saw was the end product and the end product did what they wanted it to do. So they were super happy with it.
So, I got to save money because I didn’t have to outsource the work. I got to learn the programming league and I made a client happy all the same—by just trusting in my ability to deliver stuff. And back then, I considered myself a shitty programmer. In fact, depending on the day, I still consider myself a shitty programmer.
It’s the end product that matters. I would be terrified for some of you PHP developers to look through some of Game Dev Underground code because that entire website is hand coded by me—I know a couple you have reported bugs. If you post right now in the About section, half of your about post is gone and I can’t figure out that bug I swear to god. I have to figure out how to fix it and that’s something that I’m working on.
I’m still a shitty programmer in my mind. For certain things, I don’t know how all the different pieces and how things work together, but it’s the end result that matters. It’s getting shit done that matters. If you think you’re shitty programmer, just remember that you can still make great games.
It shouldn’t hold you back. People would never guess that someone that didn’t know what they were doing built Game Dev Underground. A lot of people would never guess the way that I made some of my games. Matter of fact, you’d be surprised if you knew some of the hacks and crazy programming approaches I had to do to get some of the mechanics to work.
We all do that. All game developers do that. No one is a hundred percent secure about their code. A lot of people think they’re shitty programmers even when they’re not. So you have to understand that projects are judged aesthetically and mechanically, especially when it comes to games.
It’s not some magical thing and they’re not going to say: “Hey, we finally made the perfect piece of code! And now all of your players all over the planet celebrate the beautiful amazing code that we wrote.”
That’s not going happen. It’s also not going to happen the opposite way. Someone’s not going to scream at you and say, “Oh my god! This is the worst piece of code I’ve ever seen! How dare you try and make a game out of this!” It’s just get the shit done, okay?
If you think you’re a bad programmer and you want to make great games, start by making shitty games. Just get your games out there and you’ll get better. It just takes practice, time, and consistency.
So I hope I have answered your question. It’s probably not the answer you’re expecting but that’s my answer, and I hope you found it useful. If you have anything to add and if there’s anything I missed, please let me know in the comments below, I love to hear from you guys as always.