How to overcome biggest hurdle - Motivation?

Started by
13 comments, last by WhiskyJoe 10 years, 2 months ago

Motivation is a very personal thing and when you do something for the fist time its always the harderst!

Also I think that disciple is important when programming even if a bit overlooked when programming is a hobby....

This article should be quite relevant: http://www.gamedev.net/page/resources/_/business/production-and-management/overcoming-procrastination-r3261

By trying to understand yourself and what makes you tick, its possible to improve yourself.

For example, scratching done tasks gives you motivation.

So writing what you need to do and trying to get more things off the list would make you feel like there is some progress being done.

Hopefully this confidence boost will feed it self so that you work more.

By knowing what makes you tick, such as watching something or listening to some music, (hopefully) you can pick yourself up when you feel low and get something done.

Also like others before have said, having a list of pre-defined tasks helps a lot. I guess its because the problem(s) that need to be solved are already set. So rather than spending 10/20 minutes thinking what to do, I can straight away get working. More gets done = more happiness = more motivation to continue.

Here is a nice video which kinda picks some important parts:

http://vimeo.com/24715531

edit:

Failure, even if its demotivating is very important. Generally humans learn by trying things out and experiencing them. So even if you tried your best on a project and it didn't work out: The architecture was awful.... it took you ages to add new parts to the project.... The main part is that you worked on it and (hopefully) tried your best.

Its not easy to realise how much you will have learned from the experience. So that next time when you try to do this, you will have an idea how to make it work better. Maybe even you will try to apply the newly learned lessons to the project and re-factor it and cantinue until the next problem.


Hence why, starting small and progressively working on larger projects is preferred.

Advertisement

Here are some things that work for me:

I think the first one might be the most original advice and might sound silly, but I STRONGLY recommend you giving it a try.

Watch Collateral. Any time, I need an initial fire lit under my ass to do something, I take some time to watch the movie Collateral. The underlying message in this movie is follow your dream or it won't happen.

Put it in your schedule. Many people are creatures of habit. If you dedicate particular time slots to learning, your brain is more likely to be on board when it's time to learn. I recommend against Friday night. You've already worked a long week and want to relax some. Here's my schedule:

Monday Night: Just a little

Wednesday Night: Just a little

Saturday: Sometimes alot, sometimes a little

Sunday: Just a little

"Learning" could mean programming practice, reading some game dev articles, or reading programming books. If you can get away with it at work, I recommend using a little bit of work time to read some game dev stuff. It's better than updating your facebook status at least. And if you're using some "work" time, it's like it's "free". :)

I do recommend actual programming at least once a week.

But keep a little fun in your schedule. All work and no play makes Creamy a dull boy. If all you're doing is working, learning, and programming, you'll burn yourself out. Make sure you have some time in your week to enjoy some of your free time.

Leave yourself a little task to come back to. If you can leave a simple task for yourself to start the next day with, it's easier to start the next day. If all you have is a MASSIVE TASK like a complete refactor of all your game logic, it's easy to skip a day to avoid that big task. But if you have a baby task to start with, you can start your day by knocking that out and hopefully keep going.

Keep a Notes.txt file in your project. I usually have a file in my project to keep up with general notes. A checklist of todo items, reminders of some design decisions, some features. And instead of deleting items you've accomplished, put an X in front of them to check them off. If you just delete them, you won't get the same sense of accomplishment if you see a completed list laying around. Every once in a while though, clean up your checklist or start a new section. You don't want yourself getting lazy by keeping that sense of satisfaction for a list you completed weeks ago.

After you get the basics down, focus on something fun. Once you know some basics of how to use variables, branching, loops, methods, and classes, start hitting game tutorials. Find a framework that works for you. I find VisualStudio Express, C#, and XNA pretty easy to mess with. Instead of printing your name on the screen ten times in a random position with a console app, put ten asteroids up on the screen. Getting something you can move around on the screen is much more motivating, because its easier for us to see the value of that.

Also, don't get bogged down in the details. Sure you might need a control library for buttons or text boxes, or some logging system. For all but the simplest framework items, I recommend using a free library. This way you can concentrate on the fun stuff.

Tell some people about it. If you can have a small supportive audience you'll feel obligated to keep at it so you don't disappoint them. Kids or significant others are great for this. They might even have small feature ideas you can do. (Or huge features you can't do).

Get a programming buddy. Having a "work-out" partner is good. When one of you has a moment of weakness, the other will usually step up to encourage the partner.

Keep your goals small and reasonable. Get my ship moving on the screen (reasonable goal). Code a networking framework to support an MMO server architecture (unreasonable goal). Split up those big tasks into smaller bite-sized chunks.

Anyway, this is how I keep motivated for learning/game developing. I only REALLY started being serious about it for the past three months. So far, I'm making some steady progress and chipping away at my game slow and steady.

Hopefully, some of these tips will work for you.

Good luck! :)

- Eck

P.S. Since I recommended Collateral, I also have to recommend the TV Series Firefly. Not because it motivates you but because I'm a huge Firefly fan. :D

EckTech Games - Games and Unity Assets I'm working on
Still Flying - My GameDev journal
The Shilwulf Dynasty - Campaign notes for my Rogue Trader RPG

Thankyou everyone, very helpful information. I can definately say I know the feeling of being lazy more often than I should.

My biggest problem is probably time and time keeping, I have a lot on my plate and I always end up wondering where the time went and trying to recall what I am up too.

Don't have a lot of time today and I need to hit the hay. One thing that was mentioned was finding someone to work on a project with or at least help each other, how many of you have done that and has it been successful?

Cheers!

Wow, some of the comments here are really helpful smile.png .


finding someone to work on a project with or at least help each other, how many of you have done that and has it been successful?

I REALLY believe that's ten times easier to get motivated or take things seriously if you get someone to work with. But I've had mixed experiences with this.

It's important that the person you're working with it's at the same level (or close) as you are. I'm talking about knowledge and also motivation or attitude towards the project. I'm in college studying computer science so it's not difficult for me to get a "group of people who want to make games" (i think we all want to tongue.png ), but some people just want to show how much they know and how they can do things better than everyone, or on the other side people who don't really want to learn or put effort. That kind of things are even worse in my opinion than trying to code alone, it's hyper demotivating.

I'm actually working with only one friend, that i know it's in the same page as me in this things and that's much better than a bigger group that has guys with big egos.


I can definately say I know the feeling of being lazy more often than I should.

I don't think 'being lazy' is always bad thing, sometimes when i don't feel like coding i just watch a movie or play a game (let's say 2 hours) and after that i can focus and get to work. Sometimes if i try to code when feeling lazy i just keep staring at the code and do nothing for 3 hours, so 2 hours of lazyness and one focused is better than that biggrin.png .

And one last thing, this could seem a little ridiculous but having small rituals can help. For example making a coffee, or move the computer to other place of the house, put some specific kind of music...Sometimes one associates some part of the house with work or with relaxation, for example i can't study in my bedroom so i go to the kitchen.

Good luck!

Skimming through the replies, I see plenty of good advice/motivations/etc.

For me personally, it was/is always a bit the same like going to the gym. I don't feel like going, at all, even though I know it's good for me. But once you're there, it's alright!

Gaining the motivation to start something (and keeping it) probably differs per person and it's something you will need to figure out for yourself. There are of course a lot of common ways to keep/get motivation, so trying out what others do might work fine, or not, or lead you to a way that works for you.

One of the things that worked very well for me, is a bit scary, but it greatly helped me in my motivation and even in doing things a bit more right and with more thought in it, was to write about it on a blog.

I personally wrote some stuff in a tutorial kind of way so it could also serve some good to others and kept me sharp in what I did, because it was/is also important to know what you're actually doing. It doesn't even have to be a tutorial, posting progress on your project will not only give you comparison in how much your project is advancing, but you can also get some (valuable) feedback on it. Just put a link in your signature on related forums or post it in related places. It might not attract hordes of people (or maybe it does, who knows?), but it might just give you that little push in the back when you're looking back at some posts.

Also depending on what your aim is, don't let time or other people/your surroundings influence you too much in your demotivation. You will always run into obstacles or obligations that require you to take time off from development. Do it at your own pace. You can probably also structure your time. Allocate some time a week that you dedicate to developing, even if it just an hour. Make sure that you will not get distracted by social networks or watching cats on the internet, create a work environment for yourself.

Also take note that an interest isn't always the way you should go. Sometimes an interest is best kept theoretical. Like I love biology and astronomy and I watch/read plenty of stuff about it, but that's as far as I will go on those subjects. Applying biology and astronomy is probably a tad different than game dev related stuff, but it should get the point across.

In any way, Give yourself some time to think about what you really want and how you want to do it, there is a lot less pressure if you're doing stuff just as a hobby. And if you find out this is perhaps not your thing, there is not shame in that!

Good luck! :)

This topic is closed to new replies.

Advertisement