Jump to content

  • Log In with Google      Sign In   
  • Create Account

Staying motivated while learning? [Advice needed]


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
19 replies to this topic

#1 Jaxter   Members   -  Reputation: 211

Like
1Likes
Like

Posted 28 May 2014 - 06:32 PM

Hi.

 

I am posting this thread, because for such a long time I have tried to learn programming. I'm now re-attempting, and learning OOP concepts etc.. However, sometimes I feel that reading tutorials are quite tedious for my mind, and it results in me feeling de-motivated and I tend to wonder off into constant procrastination. As a result this is making me feel bad, because when I see others out there who seem to have grasped the knowledge, it makes me feel like I'm stupid, and if I'm not grasping the logic now, how am I supposed to grasp it in the future?

 

I've jumped from language to language.  From C# to Java, and although I'm beginning to feel more comfortable with Java, there is still elements that trigger me to procrastinate, and I just can't seem to understand some things.  While learning programming as a beginner, (I only know HTML & CSS) did anyone else experience a hard time while learning? Is this actually a bad thing, or is it good to have a hard experience while learning? Any advice would be much appreciated.

 

Please don't hate on my thread - I only joined the forums, because I want to obtain honest advice from those with experience. 

 

Thanks.

 

Jax. 


Edited by Jaxter, 28 May 2014 - 06:34 PM.


Sponsor:

#2 DiegoSLTS   Members   -  Reputation: 1373

Like
3Likes
Like

Posted 28 May 2014 - 06:55 PM

I didn't learn programming by myself, I learned as part of the career I studied, so maybe this is not that helpful but here are some things I can think of.

  • Don't be alone, try to make a friend (or more) interested in learning too so you can both (all) discuss things.
  • Don't do only tutorials. Maybe you're not confident to do something for yourself, but once you finished a tutorial you can try to add something more to the finished program.

Edited by DiegoSLTS, 28 May 2014 - 06:57 PM.


#3 Buster2000   Members   -  Reputation: 1664

Like
7Likes
Like

Posted 29 May 2014 - 01:26 AM

Why do you want to learn to program?
Do you find it fun?

 

When you start to get board of tutorials then have a go at writing your own little programs just using what you already know.  As long as you know a branching instruction and can get text input / output then you already know enough to create some simple games.  Eventually your own project will start to get complex enough that you need to read more to progress.

You don't need to follow tutorials in order.  Typing excercises that just work out algebra in the console for the first 10 chapters of a book / tutorial can be very boring.  If you are learning Java skip ahead and try a little Swing or Graphics programming.



#4 Avalander   Members   -  Reputation: 952

Like
2Likes
Like

Posted 29 May 2014 - 02:11 AM

I think you should answer honestly the questions Buster2000 asked, because you will see if you really want to program or not.

 

That being said, in my experience is not uncommon that people has a hard time understanding some concepts of programming at the beginning. Maybe you just need being a bit more guided. I recomend you to try the python course in code academy (they don't offer Java, but python is a very nice language). Also you can search programming introduction courses in coursera, I've never found a course about Java but there are introduction to programming courses in python and also I know about a course of Scala. The advantage here is that you'll have a teacher and buddies that will be able to help you.



#5 Jaxter   Members   -  Reputation: 211

Like
2Likes
Like

Posted 29 May 2014 - 02:28 AM

Why do you want to learn to program?
Do you find it fun?

 

When you start to get board of tutorials then have a go at writing your own little programs just using what you already know.  As long as you know a branching instruction and can get text input / output then you already know enough to create some simple games.  Eventually your own project will start to get complex enough that you need to read more to progress.

You don't need to follow tutorials in order.  Typing excercises that just work out algebra in the console for the first 10 chapters of a book / tutorial can be very boring.  If you are learning Java skip ahead and try a little Swing or Graphics programming.

 

Thanks I will certainly try that.  I have tried the very basic of graphics programming in Java. I think it was making a circle appear in a window. 

 

I think you should answer honestly the questions Buster2000 asked, because you will see if you really want to program or not.

 

That being said, in my experience is not uncommon that people has a hard time understanding some concepts of programming at the beginning. Maybe you just need being a bit more guided. I recomend you to try the python course in code academy (they don't offer Java, but python is a very nice language). Also you can search programming introduction courses in coursera, I've never found a course about Java but there are introduction to programming courses in python and also I know about a course of Scala. The advantage here is that you'll have a teacher and buddies that will be able to help you.

 

Thanks for the suggestion, but I would prefer to stick with Java now I've started it.


Edited by Jaxter, 29 May 2014 - 02:30 AM.


#6 3Ddreamer   Crossbones+   -  Reputation: 3156

Like
3Likes
Like

Posted 29 May 2014 - 02:29 AM

Hello,

 


As a result this is making me feel bad, because when I see others out there who seem to have grasped the knowledge, it makes me feel like I'm stupid, and if I'm not grasping the logic now, how am I supposed to grasp it in the future?  There are very successful game development or software development industry leaders today who struggled in early stages, some worse than you are. Coding is generally a major challenge for anybody to make progress. You are far from alone!

I've jumped from language to language. That is at least half of the cause of your frustrations right there.  You need to stay with one language until you reach at least intermediate level before adding another one.  From C# to Java, and although I'm beginning to feel more comfortable with Java, there is still elements that trigger me to procrastinate, and I just can't seem to understand some things. You need a step by step and stage by stage study course in Java.  Since you like Java, then stay with it until you reach intermediate level in months, a year, or more.  While learning programming as a beginner, (I only know HTML & CSS) did anyone else experience a hard time while learning? Everybody has had a hard time learning at this. Coding is not natural to humans.  We are doing things which we as a species have only begun in recent generations.  Is this actually a bad thing, or is it good to have a hard experience while learning? Climbing that mountain one step at a time results in it being a good thing once you reach the peak (complete projects). Any advice would be much appreciated. Set hourly and daily goals that are reasonable. Reward yourself for reaching daily goals by thinking about the wonderful things that you have accomplished and will achieve soon. 

 

You need focus, hard work, completing goals, and welcome the challenges as the cost of making progress.

 

smile.png 


Personal life and your private thoughts always effect your career. Research is the intellectual backbone of game development and the first order. Version Control is crucial for full management of applications and software.  The better the workflow pipeline, then the greater the potential output for a quality game.  Completing projects is the last but finest order.

 

by Clinton, 3Ddreamer


#7 Jaxter   Members   -  Reputation: 211

Like
1Likes
Like

Posted 29 May 2014 - 03:15 AM

Hello,

 

 

 


As a result this is making me feel bad, because when I see others out there who seem to have grasped the knowledge, it makes me feel like I'm stupid, and if I'm not grasping the logic now, how am I supposed to grasp it in the future?  There are very successful game development or software development industry leaders today who struggled in early stages, some worse than you are. Coding is generally a major challenge for anybody to make progress. You are far from alone!

I've jumped from language to language. That is at least half of the cause of your frustrations right there.  You need to stay with one language until you reach at least intermediate level before adding another one.  From C# to Java, and although I'm beginning to feel more comfortable with Java, there is still elements that trigger me to procrastinate, and I just can't seem to understand some things. You need a step by step and stage by stage study course in Java.  Since you like Java, then stay with it until you reach intermediate level in months, a year, or more.  While learning programming as a beginner, (I only know HTML & CSS) did anyone else experience a hard time while learning? Everybody has had a hard time learning at this. Coding is not natural to humans.  We are doing things which we as a species have only begun in recent generations.  Is this actually a bad thing, or is it good to have a hard experience while learning? Climbing that mountain one step at a time results in it being a good thing once you reach the peak (complete projects). Any advice would be much appreciated. Set hourly and daily goals that are reasonable. Reward yourself for reaching daily goals by thinking about the wonderful things that you have accomplished and will achieve soon. 

 

You need focus, hard work, completing goals, and welcome the challenges as the cost of making progress.

 

smile.png 

 

Fantastic advice, thanks. 



#8 spazzarama   Members   -  Reputation: 730

Like
3Likes
Like

Posted 29 May 2014 - 03:35 AM

It helps if you truly love doing it!!

 

If you don't have that luxury, then 3Ddreamer's advice is doubly important!


Justin Stenning | Blog | Book - Direct3D Rendering Cookbook (using C# and SharpDX)

Projects: Direct3D Hook, EasyHookAfterglow, C#raft

@spazzarama

 

#9 Eck   Members   -  Reputation: 2730

Like
2Likes
Like

Posted 29 May 2014 - 09:16 AM

Welcome to gamedev Jaxter,

 

I wouldn't worry about people hating on your thread here. At most, people might harshly tell you "knock it off" if you demand the secrets on how to code an MMO or if you straight up ask us to do your homework. :)

 

There was a great thread on motivation a few months ago, here is a link to my post on the thread: 

http://www.gamedev.net/topic/653198-how-to-overcome-biggest-hurdle-motivation/#entry5130107

 

Motivation is a very common problem in game dev. It's an extremely complex discipline to learn and the tool that you use to learn is also the same device you use to procrastinate. That's not a great combination. It sounds like you might just be reading articles and tutorials. Be sure that you actually mess around with programming. 

 

There's a pretty big investment of time to get over the inital hump of learning the basics (variables, input, looping, branching). And it feels silly to have to code "Hello World" or "Guess a Number" when you have ultimateGameIdea_01 waiting to steal the lion's share of the market. But those silly steps are the fundamental building blocks of damn near every programming language and concept. So listen to Mr. Miagi, and "Wax on. Wax off."

 

The only "trick" to learning is that you have to want to learn to program more than you want to goof off. When you have a block of free time, you have a decision to make: "I can play myFavoriteGame for a few hours or I can learn more about programming". If you always choose myFavoriteGame, you'll never be good at programming. Simple as that.

 

If you're still in High School, there's probably some kind of programming course you can take. Sign up for it! If you're in college, take the first real programming class. If you're an adult in the real world, buckle down and do it yourself. :)

 

Good luck!

- Eck

 

P.S. When you have some time, read that other thread since there was some great advice there as well. (jokingly arrogant: especially my post) I'm pleased to report that I've continued my dedicated motivation and completed a couple of stupid little games and I'm working on something I may actually release one day. /flex



#10 Glass_Knife   Moderators   -  Reputation: 4426

Like
7Likes
Like

Posted 29 May 2014 - 10:12 AM

Valve, the company that made Half Life and Portal, was a year late with Portal two.  Their reason?

 

"Making games is hard."

 

There are no tricks, secrets, or short cuts.  But then again, nothing worth doing is easy, is it?  I can guarantee that every one here who is a great programmer has gone through exactly what you're going through right now.  Some may have gotten through it faster than others, but so what.

 

And guess what?  When you get really stuck, we're here to help!


I think, therefore I am. I think? - "George Carlin"
Indie Game Programming

#11 orizvi   Members   -  Reputation: 276

Like
0Likes
Like

Posted 29 May 2014 - 02:42 PM

I find learning the fundamentals of a topic can be quite dry and difficult to find motivation for. Formal education is great in these situations since the teacher forces you to learn it. Once you're more confident with your abilities and you have the basics figured out, then you can learn a lot of the rest through experimentation.



#12 Jaxter   Members   -  Reputation: 211

Like
0Likes
Like

Posted 29 May 2014 - 03:25 PM

Welcome to gamedev Jaxter,

 

I wouldn't worry about people hating on your thread here. At most, people might harshly tell you "knock it off" if you demand the secrets on how to code an MMO or if you straight up ask us to do your homework. smile.png

 

There was a great thread on motivation a few months ago, here is a link to my post on the thread: 

http://www.gamedev.net/topic/653198-how-to-overcome-biggest-hurdle-motivation/#entry5130107

 

Motivation is a very common problem in game dev. It's an extremely complex discipline to learn and the tool that you use to learn is also the same device you use to procrastinate. That's not a great combination. It sounds like you might just be reading articles and tutorials. Be sure that you actually mess around with programming. 

 

There's a pretty big investment of time to get over the inital hump of learning the basics (variables, input, looping, branching). And it feels silly to have to code "Hello World" or "Guess a Number" when you have ultimateGameIdea_01 waiting to steal the lion's share of the market. But those silly steps are the fundamental building blocks of damn near every programming language and concept. So listen to Mr. Miagi, and "Wax on. Wax off."

 

The only "trick" to learning is that you have to want to learn to program more than you want to goof off. When you have a block of free time, you have a decision to make: "I can play myFavoriteGame for a few hours or I can learn more about programming". If you always choose myFavoriteGame, you'll never be good at programming. Simple as that.

 

If you're still in High School, there's probably some kind of programming course you can take. Sign up for it! If you're in college, take the first real programming class. If you're an adult in the real world, buckle down and do it yourself. smile.png

 

Good luck!

- Eck

 

P.S. When you have some time, read that other thread since there was some great advice there as well. (jokingly arrogant: especially my post) I'm pleased to report that I've continued my dedicated motivation and completed a couple of stupid little games and I'm working on something I may actually release one day. /flex

 

I really appreciate the advice you have posted. (I'm sure the post in the other thread is great, considering the greatness of this one).  I'm currently in my last month of High School and I've finished my computing course. However, it didn't involve any kind of programming at all, just working with spreadsheets and creating a multimedia product. In all honesty, I believe that creating a schedule and planning my time will be good for me. (p.s. nice karate kid reference).

 

 

Valve, the company that made Half Life and Portal, was a year late with Portal two.  Their reason?

 

"Making games is hard."

 

There are no tricks, secrets, or short cuts.  But then again, nothing worth doing is easy, is it?  I can guarantee that every one here who is a great programmer has gone through exactly what you're going through right now.  Some may have gotten through it faster than others, but so what.

 

And guess what?  When you get really stuck, we're here to help!

 

Some inspiring words - much appreciated.

 

 

I find learning the fundamentals of a topic can be quite dry and difficult to find motivation for. Formal education is great in these situations since the teacher forces you to learn it. Once you're more confident with your abilities and you have the basics figured out, then you can learn a lot of the rest through experimentation.

 

I prefer being independent when learning though. Although, I wouldn't mind teaming up with other novice programmers in the same boat as me in future. 


Edited by Jaxter, 29 May 2014 - 03:29 PM.


#13 madgod_zhar   Members   -  Reputation: 176

Like
1Likes
Like

Posted 29 May 2014 - 03:45 PM

i think having both long term and short term goals is important.

 

starting with long term, for me, id eventually like to start my own buisness that could hopefully produce revolutionary advances in the field of artificial intelegence. of course this is long term, ive barely been programming for a couple months, and it very well could not end up happening, but its like shooting a gun or a bow. you gotta have something you're aiming for.

 

next ill say a bit about short term goals, for me, the only reason im making any progress in my programming skills outside of school is because i have realistic short term goals. one of my first goals after id learned the basics of the language im using was to get to a point where i could do something! with graphics, after that, i told myself id make a tick tack toe game, (your goals by no means need to follow what im doing, because they need to be goals that make you keep getting behind your keyboard) i set that goal two weeks ago, and today i finally finished my first really game involving graphics :) its pretty horrible, ill admit that, but i did it, and thats what counts. 

 

anyways hope my rambling has helped.



#14 Eck   Members   -  Reputation: 2730

Like
1Likes
Like

Posted 29 May 2014 - 03:51 PM


I really appreciate the advice you have posted. (I'm sure the post in the other thread is great, considering the greatness of this one).  I'm currently in my last month of High School and I've finished my computing course. However, it didn't involve any kind of programming at all, just working with spreadsheets and creating a multimedia product. In all honesty, I believe that creating a schedule and planning my time will be good for me. 

 

Happy to help. :) If you do go to college, make sure if you do sign up for a computer course that it is for actual programming. Otherwise you may find yourself learning what a mouse is and how to "double-click"...

 

But don't goof-off until college! Get started now you slacker! (But also be sure to have some fun this summer)

 

- Eck

 

(p.s. nice karate kid reference).

You have renewed my hope for the next generation.



#15 Truerror   Members   -  Reputation: 454

Like
1Likes
Like

Posted 29 May 2014 - 04:54 PM

I found myself being motivated more with each achievements, though what I call 'achievement' would certainly be different than you. For example, I considered it an important achievement when I finally became comfortable enough to write programs in object-oriented style. I considered it achievement when I first made my own map parser, and another achievement when I successfully implemented game states in XNA. These 'achievements' propels my motivation upward, and thus I keep on learning, despite knowing that my codebase is messy.

 

I think you should find what you would consider an achievement, and achieve it. Maybe you would call successfully drawing a sprite onscreen an achievement? Or when you successfully implemented a simple collision system? I don't know. But achieving something is important for motivation. Try it. :)



#16 Misantes   GDNet+   -  Reputation: 880

Like
2Likes
Like

Posted 29 May 2014 - 05:14 PM

I find just always working on a game (regardless of how silly or simple the game is) to be really helpful. As I learn, I try to take what I'm learning and apply it to a game, so they're always evolving. But, that way, there's always a kind of real gratification to what you're learning, it's not just abstract knowledge. I'll occasionally start a new game from scratch, but more often than not I'm just adapting my existing games with what I'm currently learning.

 

I personally sometimes have a problem with learning simply for learning's sake and can get bored or frustrated easily, but there's a real sense of enjoyment and gratification when you can take what you're learning and apply it to something and have it successfully work (plus I tend to retain knowledge better if I'm applying it).

 

I recently started doing these month long game jams. There's no real restrictions or rewards or anything, but they'll give a theme each month and everyone develops something within that time. I find it forces me to focus a bit with a deadline (regardless of how arbitrary it is tongue.png) and keeps me motivated to keep working on it. Plus, it's an easy way to get feedback, advice and criticism, and to see what others are doing.

 

The only times I really find myself losing motivation is when I've been stuck on a particular problem for too long and I'm not making progress. I'm too stubborn to move onto something else, but the frustration with not making progress can be a real killer for my motivation. Though, when I finally can get past the problem I'm usually twice as renewed as before, so tongue.png

 

The game jam I've been using is:

http://www.onegameamonth.com/

Though, there are certainly many others out there, and likely even a local google group or meetups for game developers in your town (there is for mine, and I'm not in a terribly large city). I'm personally too shy and misanthropic to venture out and socialize with others tongue.png but I'm certain for a different personality type that could be really helpful in staying interested/motivated.


Edited by Misantes, 29 May 2014 - 05:17 PM.

Beginner here <- please take any opinions with grain of salt :P


#17 Truerror   Members   -  Reputation: 454

Like
0Likes
Like

Posted 29 May 2014 - 07:06 PM

@Misantes, I didn't know such monthly game jam existed. Thanks a lot for sharing that info. +1 for you :)



#18 Misantes   GDNet+   -  Reputation: 880

Like
0Likes
Like

Posted 29 May 2014 - 10:54 PM

@Truerror

 

It's good fun!

 

Though, for better or worse, the format is reaaaaaally relaxed. I sometimes wonder if it's just a place for everyone to display what they're working on. But, I think if you try to stick to the spirit of it, it's a fun thing to do smile.png

 

Another I've been looking at is:

http://makega.me/category/pageants

It's also a month long but, I haven't done that one yet, so can't really speak for it.

 

I personally like the month long format. With a full time job and a wife it's sometimes difficult to dedicate the time to something like Ludum Dare (that one always intimidates me) or a lot of the other jams where you have to physically go somewhere and do all the coding there. I understand why they do that format, it's just not for me tongue.png

Though, they even now have the more relaxed 72 hour jam where you can use your pre-made art and work with a team. Someday...I'll plan ahead and take the time off for that one smile.png

 

edit*

and eep. I didn't mean to sidetrack the thread. My apologies! Carry on!


Edited by Misantes, 29 May 2014 - 10:55 PM.

Beginner here <- please take any opinions with grain of salt :P


#19 Jaxter   Members   -  Reputation: 211

Like
0Likes
Like

Posted 30 May 2014 - 03:41 PM

I found myself being motivated more with each achievements, though what I call 'achievement' would certainly be different than you. For example, I considered it an important achievement when I finally became comfortable enough to write programs in object-oriented style. I considered it achievement when I first made my own map parser, and another achievement when I successfully implemented game states in XNA. These 'achievements' propels my motivation upward, and thus I keep on learning, despite knowing that my codebase is messy.

 

I think you should find what you would consider an achievement, and achieve it. Maybe you would call successfully drawing a sprite onscreen an achievement? Or when you successfully implemented a simple collision system? I don't know. But achieving something is important for motivation. Try it. smile.png

 

"what I call 'achievement' would certainly be different than you. For example, I considered it an important achievement when I finally became comfortable enough to write programs in object-oriented style"  Being comfortable enough to write programs in object-oriented style would certainly be an achievement to me.  Making a sprite appear on a screen would be a massive achievement too.  But yes, applying what I'm learning to things I'm interested in has increased my motivation, and has certainly decreased the amount of time I procrastinate.  I have already begun taking your suggestion with achievements.  Thanks for the advice, much appreciated. 

 

I find just always working on a game (regardless of how silly or simple the game is) to be really helpful. As I learn, I try to take what I'm learning and apply it to a game, so they're always evolving. But, that way, there's always a kind of real gratification to what you're learning, it's not just abstract knowledge. I'll occasionally start a new game from scratch, but more often than not I'm just adapting my existing games with what I'm currently learning.

 

I personally sometimes have a problem with learning simply for learning's sake and can get bored or frustrated easily, but there's a real sense of enjoyment and gratification when you can take what you're learning and apply it to something and have it successfully work (plus I tend to retain knowledge better if I'm applying it).

 

I recently started doing these month long game jams. There's no real restrictions or rewards or anything, but they'll give a theme each month and everyone develops something within that time. I find it forces me to focus a bit with a deadline (regardless of how arbitrary it is tongue.png) and keeps me motivated to keep working on it. Plus, it's an easy way to get feedback, advice and criticism, and to see what others are doing.

 

The only times I really find myself losing motivation is when I've been stuck on a particular problem for too long and I'm not making progress. I'm too stubborn to move onto something else, but the frustration with not making progress can be a real killer for my motivation. Though, when I finally can get past the problem I'm usually twice as renewed as before, so tongue.png

 

The game jam I've been using is:

http://www.onegameamonth.com/

Though, there are certainly many others out there, and likely even a local google group or meetups for game developers in your town (there is for mine, and I'm not in a terribly large city). I'm personally too shy and misanthropic to venture out and socialize with others tongue.png but I'm certain for a different personality type that could be really helpful in staying interested/motivated.

 

I can't seem to find anyone in my town who shares the same interests (I'm sure there is though).  Thanks for the great advice, and the site you have referred me to is awesome.  

 

 

I would like to thank everyone who has taken the time to post advice in the thread. As a result of your helpfulness, I have started improving. smile.png


Edited by Jaxter, 30 May 2014 - 03:42 PM.


#20 Penkovskiy   Members   -  Reputation: 125

Like
1Likes
Like

Posted 30 May 2014 - 11:29 PM

I've been developing games for over 10 years, and I suffer from extreme procrastination. I have (tried) to develop a method which has worked for me when starting new projects, especially in a new language. 

  • Set a small goal, and only dedicate half an hour to an hour on it.
  • This goal needs to accomplish an objective that will give you what I call 'gratification' (see further down).
  • Work in steps, from the basics to the more advanced theory (ex: variables to polymorphism) for each unit (half hour objective)
  •  
  • Extra step: Take what excites you the most about programming and try to incorporate it into each half hour 'unit'.

By gratification I am talking about a visual 'benchmark'. For me, what is satisfying about programming is seeing how I manipulated the computer into doing what I want.

When working with basics like variables its hard to visually 'see' any progress, which when exposed to for too long, leads me to de-motivation. If I am learning how to read/write variables in a new language, I will create a basic output function that parses a group of objects by a key associated to their assigned variables and output the results so I can interact with the program. That's just me incorporating what interests me into my learning schema.

It's helpful to have short 'tutorials' to follow. When learning jQuery I made a list of what I wanted to learn first (sliding/fading navigation bars/ image scaling & popup windows) and I dedicated an hour a day to one tutorial. It satisfied my 'gratification' because I could see the results of my sliding nav bar.

I've also found doing too much in a short time leads me to eventual failure. Be the tortoise, not the hare.


Edited by Penkovskiy, 30 May 2014 - 11:33 PM.





Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS