Sign in to follow this  
Austin Whitelaw

How to actually learn game development?

Recommended Posts

When I was younger I wanted to make games. I am currently 21 years old and I have become a generally very lazy person. I spend hours upon hours on the computer each day, and I've always been interested in programming, but I just play lots of games and watch videos, etc. Every once in a while I will get into a programming language and I will work with it for a few days or like a couple weeks or such. I just can't ever get the hang of it.

 

I always just find myself stuck not really knowing what to do. And sure there are many tutorials for everything online, but even if I follow tutorials, I just feel like I am copying text(not literally copying, but retyping what someone else provided) and I am not actually gaining much knowledge. All my life people keep asking what I want to do, who I want to be. I was never really sure, I never knew what I wanted. I am in community college and eventually a university, but I chose computer science as my degree simply because I know computers. I am on it all the time. I literally had no clue what I wanted to do so that is what I chose.

 

I've toyed with the idea of game development for years, but as I mentioned, I never got deep into it. It wasn't until just the other day I was playing a game and people were talking about how they are adding this and that, and such. And it just really got me thinking about how I wish I could be the one doing that. I wish I could have a creation.

So let me tell you about what I have tried:

 

C++ (tried Allegro, SDL, SFML, OpenGL)

Python

Java

Unity3D

Objective-C(iPhone development)

 

Basically I started my programming with C++ which was probably bad but I went through a lot of tutorials and learned a good amount of stuff, but I didn't know how to make it into anything. Of course I knew that for games you needed a graphics lib so I eventually found SDL, tried that, went onto Allegro, SFML, and even looked at OpenGL although I think that is way too advanced for beginning.

 

Then I tried diving into Python. My brother recommended it to me since it was an easy language. I was able to learn the basic way the language works. I went through most of the tutorials in the Learn Python the Hard Way series. Again, I had all this information but I didn't know how to make it into anything. I could divide some numbers or make a program that did some complex equations or whatever. That is boring.

 

I did some Java in High School but I pretty much forgot it all at this point.

 

Oh and for iPhone development I paid like $20 a month at teamtreehouse and they have good quality content, all videos that guide you through. But even after making a couple apps(again, I was just copying what I was told) I was left wondering how to create anything. Eventually I guess I just stopped doing it like everything else(this was more like within the past 6 months or so).

 

From time to time I will go back to C++ and try again, like I did today, but I am still lost. And since I have a little bit of memory of how the language works, I don't even know where to go because most tutorials are for people with 0 experience and it gets pretty annoying seeing all these operands and crap that are so basic.

 

I don't know, maybe I just am not putting in the effort. But that is with anything, I never really put in effort, and then I just go play games or whatever. That's why within the past few years all I have done is failed a couple classes and lose my job and just sit here depressed. All I am left with is very small knowledge of different languages and a couple C++ libraries. And then I go on youtube and see a 15 year old who makes a game that looks amazing. Why couldn't I be doing that at 15? 6 years further in life but still 10 steps behind.

 

Sorry for the long post but I just really don't know what to do.

Share this post


Link to post
Share on other sites

What I've taken from this is that I have a serious issue and I need to get help.

 

No, but seriously, all I said was I had became depressed. I didn't expect that to be the focus. Actually I was very depressed back in high school, and I sort of came out of it, but I guess you could say I still experience it at times.

 

Problem is I hate talking about it because there isn't much to talk about.

 

But you are right JTippetts, nobody is gonna do it for me and no tutorial is gonna be the golden key. I think I just need to devote more time to it. Also, the eating/exercising thing would probably help. Actually I eat generally healthy now because I had been working at Whole Foods but I don't really exercise much and I don't get a lot of sleep either.

 

I don't know, I just don't get anything done anymore.

Share this post


Link to post
Share on other sites
Saint Retro    349

I cannot help you with the programming, I am a good example of someone who can never stick at it long enough to do well, but regarding your general outlook etc I HIGHLY suggest you get this book or get from a library, seriously it helped me loads smile.png http://www.amazon.com/Chimp-Paradox-Management-Confidence-Happiness/dp/039916359X/ref=sr_1_1?ie=UTF8&qid=1421274241&sr=8-1&keywords=monkey+paradox

I never believed in this "hippy, tree hugging positive stuff" but I read this and it changed my way of thinking.  I try to re-read it about once every 4 months.

Edited by Saint Retro

Share this post


Link to post
Share on other sites
Glass_Knife    8636

I'd do this for a week, and then stop and pause and look at what I'm doing with my life and conclude that it's being wasted. I'm wasting time. And then I'd get disappointed in myself and want to do something better with my life. That's a fleeting feeling though, and soon I'd dive right back into the games and videos. It's all I did. Anybody would eventually get depressed if they just did that and only that (money is irrelevant here).

 

Off of the OP's topic for one second.  How do you make money to survive by playing games and watching youtube?  That doesn't sound bad to me.  Sounds like heaven.

Edited by Glass_Knife

Share this post


Link to post
Share on other sites
kseh    3840

I've generally found that when I'm faced with some task that I don't know how to begin to approach I am more likely to be distracted by things.

 

The best suggestion I have is to try to think small for awhile. Don't even think about making a game. Don't think of releasing anything to the public. Instead maybe think about making a number of projects (I call them labs) to implement various elements of a game. Stuff like trying to get a small 2D image on the screen. Then make it move with the keyboard. Animate it. Create multiple instances of that image (as many as you can).

 

If doing stuff like this is too difficult to wrap your head around at the moment then there's some fundamentals you need to work on first. If you don't know what those fundamentals are then you should ask someone here what sort of prerequisites you should be looking at. If that still ends up being too much, find out what the prerequisites for that might be and so on.

 

Think of it all as building on a plan to achieve your goal. Let the plan change if it has to. If you feel like taking a bold leap towards something that's a little ahead of you, by all means go for it. But don't beat yourself up if it doesn't turn out. But instead, if you can, try to make sure that everything that you do builds onto whatever you might be looking at in the future. In time you will be able to see how these various things piece together to make a game.

Share this post


Link to post
Share on other sites
InferiorOlive    1065

It sounds like you need to increase your motivation to program! I know what that's like, I've been there, and I'm sure a lot of the others around here have too. Programming is hard, and, especially when you're starting or working on lower-level code, it can seem like you're making absolutely no progress toward your goals. That's why I subscribe to Extra Credits, Wolfire Games, and Handmade Hero. That way, when I'm just wasting time on the internet, I'm usually looking at something that's going to give me ideas or inspiration or just a bit of abstract motivation to go back to coding. Hanging around this forum helps, too, because eventually you get to see other people struggling with what you used to struggle with and that's when you realize, even if you missed it before, that you've learned and grown as a programmer.

 

All of this is, of course, assuming that this is what you really want to do. 

 

I'll also say that I, too, learned to program in bits and pieces when I was younger (C, C++, and Pascal) and I gave each of them up because working through books didn't feel like it was leading me toward making games (or any other really cool programs) so it was hard to keep with it. I knew there was an end-goal, it just seemed like I wasn't moving toward it. To this end, if you get a bit of basic programming experience under your belt, I'd recommend this book. It's not current anymore, and it's in C# (there's a recent/current forum topic discussing its merits and caveats here), but it goes through a lot of the basics of game-programming like handling input, displaying graphics (2D with an out-dated version of OpenGL), and most importantly, the game loop. I think this book put a lot of game programming and its mechanics in perspective for me.

Share this post


Link to post
Share on other sites
BHXSpecter    3119

To learn game development you have to do this:

1) pick a language and learn it

2) pick a library or toolkit and learn it

3) Got to a game dev site and ask tons of questions

 

It is a long, slow process, but that is about as simple as you can make the process, assuming you are going to go to others for art, sound, etc. Otherwise you will have to tweak it and add in any discipline you plan on using; like learning Gimp and pixel art or blender and modeling or learn LMMS or other sound program and create music for the game, etc.

 

I won't get into my story, but I've been programming for twenty years (started with BASIC when I was 13) and made only two games in that time (pong and vertical shooter). I have battled depression because, thanks to family, doubt myself and abilities to program so I don't join teams or show code much. Don't fall into my loop.

Share this post


Link to post
Share on other sites

Wow I appreciate all the responses. The book that Saint Retro mentioned seems interesting, I might try it out(The Chimp Paradox). And yeah I just need to sit down and decide if if this is really what I want. If it is, I just gotta stick to one language and figure it out.

 

I guess I'm just very impatient and I know that I need to learn basics, but I'm still trying to rush myself into the game development even though I shouldn't be.

Share this post


Link to post
Share on other sites
Irlan    4067

Linear Algebra it's essential for any type of game you want to make. Find a book and do not read everything until you've have a solid knowledge that you need.

 

After that you can try to develop some basic games like Tetris, etc. using your math knowledge; if you find that you can't make any progress, read that book again, and try again—that applies to any other type of field.

 

For more you can think that doing basic games are fun, doing a complex game it's not fun; it requires time, and that it's something that gets more difficult to have as you get old.

 

While learning programming, try to develop your small games in a organized way; try to use the divide and conquest method to get your precise results, and you probably won't get a headache through that.

 

Also, C++ it's a industry standard for making complex and basic games. It gives you a low-level approach of how things works, and that approach it's applicable for every other type of programming language. So, between the languages you said, I'd recommend with C++ because most of the materials available online uses that as the implementation (practical application) of a certain subject.

 

Here, you can find specific solutions for a specific problems; most of the problems that are unsolvable here are those that ask for a general solution instead a specific one, and even this way you can find a good solution. If you ask someone to give you a game, that person won't give how to  do a game, instead he/she will ask you what it's the specific problem and try to answer that.

 

"Learn by doing" it's a good phrase, but not be confused with "learn by doing without knowing nothing".

Edited by Irlan

Share this post


Link to post
Share on other sites
BaneTrapper    1531

To learn game development you have to do this:

1) pick a language and learn it

2) pick a library or toolkit and learn it

3) Got to a game dev site and ask tons of questions

4:Eventually join a team, having teachers or teammates is so beneficial! having somebody to work with.

Share this post


Link to post
Share on other sites
slayemin    6099

 


I'd do this for a week, and then stop and pause and look at what I'm doing with my life and conclude that it's being wasted. I'm wasting time. And then I'd get disappointed in myself and want to do something better with my life. That's a fleeting feeling though, and soon I'd dive right back into the games and videos. It's all I did. Anybody would eventually get depressed if they just did that and only that (money is irrelevant here).

 

Off of the OP's topic for one second.  How do you make money to survive by playing games and watching youtube?  That doesn't sound bad to me.  Sounds like heaven.

 

You don't. You save as much money as you can while you're "officially" employed and when your job ends, you have to live off of those savings until you make more money. You can stretch the savings account by investing the money, but that's always a huge risk, where you may lose the money as well. It never feels good to lose money you can't afford to lose, but it's a relief when you get money to buy you more time. It sounds nice, but it gets old.

Share this post


Link to post
Share on other sites
BHXSpecter    3119

 

To learn game development you have to do this:

1) pick a language and learn it

2) pick a library or toolkit and learn it

3) Got to a game dev site and ask tons of questions

4:Eventually join a team, having teachers or teammates is so beneficial! having somebody to work with.

 

I'm extremely hesitant to agree with that. I have severe confidence issues because the teachers, teammates, and other programmers I worked with treated me like my knowledge and mental capacity was one step above that of a rock. I would stress extreme caution when seeking to join them.

Share this post


Link to post
Share on other sites
Tutorial Doctor    2573
I'll have to disagree that programming is hard. A program can be complex, but not necessarily hard.

I'd say start with a game engine that doesn't require as much work on the textual side at first, so that you can get a good idea of what goes into making games in general (sound, graphics etc). Something like Scratch or GameMaker.

You will see results, and you will also see if it's really the programming that is holding you back (and not laziness, or the lack of focus.)

Without focus, no matter how simple the tool makes it, you still have to understand your own idea well enoug to create it using the "tool" that is programming.

Share this post


Link to post
Share on other sites
slayemin    6099

I'll have to disagree that programming is hard. A program can be complex, but not necessarily hard.

I'd say start with a game engine that doesn't require as much work on the textual side at first, so that you can get a good idea of what goes into making games in general (sound, graphics etc). Something like Scratch or GameMaker.

You will see results, and you will also see if it's really the programming that is holding you back (and not laziness, or the lack of focus.)

Without focus, no matter how simple the tool makes it, you still have to understand your own idea well enoug to create it using the "tool" that is programming.

It's not the programming that's hard. It's finishing the big project you're working on.

To put it another way: Running itself isn't really that hard. But running a marathon is.

 

Your advice is good -- start by trying to run a mile and get good at that, and slowly increase how far you can run. Eventually, you can run marathons if you stick with it and push yourself.

Share this post


Link to post
Share on other sites
jbadams    25712


Linear Algebra it's essential for any type of game you want to make.

What if I want to make a Match 3 game using Game Maker or Construct 2?  What if I want to make a text adventure?  Or interactive fiction using Inform?  How about an old-school Rogue-like?

 

Linear algebra is certainly very useful and a good thing to learn, but saying it is essential for any type of game is overstating it.  There are also a great many people who find learning that sort of material from a book to be overly difficult and off-putting but may have significantly less issues staying motivate if they instead learn as they go by picking up topics once they actually have a use for them in a real project.   ...and yes, really making games often involves doing a lot of boring and difficult things, but there's no real reason someone should be forced to learn a difficult topic up front before getting started with anything else.

Share this post


Link to post
Share on other sites
Glass_Knife    8636

I'll have to disagree that programming is hard. A program can be complex, but not necessarily hard.

I'd say start with a game engine that doesn't require as much work on the textual side at first, so that you can get a good idea of what goes into making games in general (sound, graphics etc). Something like Scratch or GameMaker.

You will see results, and you will also see if it's really the programming that is holding you back (and not laziness, or the lack of focus.)

Without focus, no matter how simple the tool makes it, you still have to understand your own idea well enoug to create it using the "tool" that is programming.

 

I have one word.  Valve.  

 

"VALVE ANNOUNCES MAKING GAMES IS HARD."

http://www.shacknews.com/article/64185/valve-delays-portal-2-confirms

Share this post


Link to post
Share on other sites
BaneTrapper    1531

 

 

To learn game development you have to do this:

1) pick a language and learn it

2) pick a library or toolkit and learn it

3) Got to a game dev site and ask tons of questions

4:Eventually join a team, having teachers or teammates is so beneficial! having somebody to work with.

 

I'm extremely hesitant to agree with that. I have severe confidence issues because the teachers, teammates, and other programmers I worked with treated me like my knowledge and mental capacity was one step above that of a rock. I would stress extreme caution when seeking to join them.

 

I have experienced the same thing, but be intelligent about it.
I was also told i am dumb as rock, i could not remember a dam thing when they told me, they tell me something i forget it 5 seconds later. They where not wrong, they where just assholes when they told me.
I figured out that i had an issue, i fixed it, i trained, and i still train.
I now remember allot better then when i was young, and i can focus very well, but they are still assholes. So i got 1 point from those people, i was hurt, and i still am, but i respect what they did even if they are not aware of it, because i am. They helped me, and for that i am grateful.

Edited by BaneTrapper

Share this post


Link to post
Share on other sites
shadowisadog    3217

When I first started to learn to program I was absolutely terrible at it. I remember starting with QBasic and all I would make it annoying programs that made the computer beep. I then used Klik & Play and made very random "games". K&P was a toy compared to their later products like Multimedia Fusion 2, but it is how I got my start.

 

My first experience with "real" programming was trying to learn a language called Quick C. I got a book, opened it, and then put it on a shelf forever. I failed immediately before I had even begun. Of course back then was harder because there were less resources (Didn't even have the internet!)

 

My first serious attempt at learning programming was a language called Jamagic. I tried it and was terrible at it so I put it aside for six months. Eventually I came back to it and it finally clicked. I worked in Jamagic for a good while and made things to share with people on the Jamagic forums.

 

I went to college and studied computer science, physics, and math. I programmed a few commercial casual games in C++ and now I work as a software engineer. I have learned more in the last four years working as a software engineer then I had learned in the previous decade because I am gaining hands on experience and programming every day.

 

When I started programming I was terrible at it. Over the last 17 years or so I have improved. Only in the last four years have I really started to feel like I am competent. I learn new things every day.

 

Do not get discouraged if you do not learn everything in a week. The field is huge and the amount of things to learn is immense. The key is to do what you enjoy, and if you enjoy making games then make it happen! Personally I will never be finished learning (and that's a good thing!).

Share this post


Link to post
Share on other sites
Irlan    4067


What if I want to make a Match 3 game using Game Maker or Construct 2?  What if I want to make a text adventure?  Or interactive fiction using Inform?  How about an old-school Rogue-like?
Linear algebra it's is certainly very useful and a good thing to learn, but saying it is essential for any type of game is overstating it.  There are also a great many people who find learning that sort of material from a book to be overly difficult and off-putting but may have significantly less issues staying motivate if they instead learn as they go by picking up topics once they actually have a use for them in a real project.   ...and yes, really making games often involves doing a lot of boring and difficult things, but there's no real reason someone should be forced to learn a difficult topic up front before getting started with anything else.

 

The OP mentioned programming, and I believe that his intention was to learn from scratch. 

 

Linear algebra it's a type of mathematics that you need at some point. I agree with you that linear algebra it's not in everything, but even if you're not making a FPS or RPG-style game, you'll use the basics of linear algebra knowledge at some point in order to draw a bitmap in certain position, move something from one position to another, move invert the velocity of the ball in a pong-style game, you'll need some basic linear algebra in order to position the player in the map, render a specific character at a specific position, etc; you'll use your intermediate knowledge to make a 2D game, and model a very simple physics world; you'll use the advanced knowledge to start with 3D and stays with that, etc.

 

I would like to re-iterate by changing the first statement:

 

X-level of linear algebra it's required and proportional to the requisites of a certain type of game.

 

When stating that linear algebra it's applicable to any type of game, it's basically offering him paths that he can take to efficiently be able to understand how a certain game it's working internally, plus the ability to understand how it's working correctly, plus the ability to not get a headache during the learning process by having the clear vision of things are working.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this