• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.
Sign in to follow this  
Followers 0
Jaxter

Staying motivated while learning? [Advice needed]

19 posts in this topic

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
1

Share this post


Link to post
Share on other sites

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.

2

Share this post


Link to post
Share on other sites

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
2

Share this post


Link to post
Share on other sites

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. 

1

Share this post


Link to post
Share on other sites

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

2

Share this post


Link to post
Share on other sites

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.

0

Share this post


Link to post
Share on other sites

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
0

Share this post


Link to post
Share on other sites

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.

1

Share this post


Link to post
Share on other sites


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.

1

Share this post


Link to post
Share on other sites

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. :)

1

Share this post


Link to post
Share on other sites

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
2

Share this post


Link to post
Share on other sites

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

0

Share this post


Link to post
Share on other sites

@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
0

Share this post


Link to post
Share on other sites

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
0

Share this post


Link to post
Share on other sites

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
1

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  
Followers 0