How to Stay Motivated
Epoch

I'm discovering more and more lately that the hard part of coding isn't the actual programming, it's staying motivated enough to continue on with the project; and I know that this isn't just my problem :P

Personally, I've had some success with the "don't think until you're already in the IDE" method, but that tends to fail pretty often. So I'm looking for some better alternatives, and I was wondering if anyone would like to share the methods that they use to keep motivated while working on a big project.

Kikaru

Post your code, or a compiled version somewere and update it regularly to get comments. They really boost morale. Or you could just try to set up some kind of reward for completing a part.

PaperStack

Finish at least some "visual" part first so that you have something to go on and motivate you.

nonnus29

I found that starting a thread as kind of dev log and updating it once a week was pretty motivating. I'd want to do something so I'd have something to post about.

Otherwise, you could just get your internet service disconnected.

Matthew Leverton

If you don't like it, don't do it. You'll have plenty of time to do stuff you don't like when you're working for someone else.

Kirill Stytsenko

I totally agree that motivation is something that stops one from completing the project, and not the lack of programming skills. What I found out with my recent projects that also lack of Software Engineering skills had made it harder to complete: i.e. lack of propper planning, UML stuff, design docs and clearly defined milestones.

A trick to help motivated: implement some low-priority pretty feature, and you will get the motivation needed to code that hard parts.

Yes, also keeping a WIP blog (and posting every day :)) should keep you busy and motivated.

23yrold3yrold

My tricks were keeping a list of minor to-do's (feels good getting one or two done a day) and the whole dev journal thing.

kentl
Quote:

My tricks were keeping a list of minor to-do's (feels good getting one or two done a day) and the whole dev journal thing.

Have you got any plans to complete your platformer? It would be fun to try it out.

Richard Phipps

Quote:

Have you got any plans to complete your platformer?

It's like Duke Nukem Forever! ;D ;)

CGamesPlay
Quote:

If you don't like it, don't do it. You'll have plenty of time to do stuff you don't like when you're working for someone else.

While this is very true, there are boring parts to projects that need to be finished in order to make something worthwhile.

Bob Keane

Try working a mundane job for low pay and hard hours. The tedium should keep you motivated. Or drive you nuts.

GullRaDriel

IMHO, to stay motivated, you should have a perfectly organized project. And one of the most important think is having deadlines.

Michael Faerber
Quote:

My tricks were keeping a list of minor to-do's (feels good getting one or two done a day) and the whole dev journal thing.

I only had the list of minor to-do's, but it worked pretty good for me ...

Ultio

I could go into my actual serious thoughts about good techniques to stay motivated and all of that jazz, but I'll give the short and quick version that will make me sound like a jerk and doesn't really solve the problem:

It's easy to find one million different reasons why you can't stay motivated. There's one really easy answer to dealing with problems of not being motivated: suck it up. Actually doing so isn't so easy, of course (technically it depends on the kind of person you are).

If every time you simply thought about your game (or how much you lack motivation to work on it) you actually did work on it instead, chances are it'd be done by now... don't you think?

23yrold3yrold
Quote:

Have you got any plans to complete your platformer?

Plans, yes. Time, not much. I keep poking at it, but production is much slower than it was a year or so ago.

CursedTyrant

Personally, I find that if people are actually interested in my projects, I'm a lot more motivated than when nobody cares.

Epoch
Paperstack said:

Finish at least some "visual" part first so that you have something to go on and motivate you.

I do that, actually, and it does help a lot. Of course, relying on it makes getting to coding things like file handling, error checking, and networking more difficult.

Matthew Leverton said:

If you don't like it, don't do it. You'll have plenty of time to do stuff you don't like when you're working for someone else.

The problem isn't not liking what I'm doing, the problem is just not having the motivation to follow through on the idea and actually make something out of it. I was born in to the Instant Gratification Generation, this is a serious problem for me. :P

I heard about someone using a Perl script to keep track of the amount of time they spent working on projects, and that it helped a lot. It seems like it'd work in the same ways a list of minor to-dos would, by giving you a measure of your work on the game more than visible progress.

I'm thinking of trying it, but I'd have to work up the motivation to learn Perl first.

Matthew Leverton
Quote:

The problem isn't not liking what I'm doing, the problem is just not having the motivation to follow through on the idea and actually make something out of it.

If you actually enjoy doing it, then you wouldn't have the motivation problem. You don't need to be motivated to do something you enjoy.

The end points of projects are fun: designing them and using them. Most of the stuff in the middle is boring. It really is. (You may design some in the middle, which might give the impression that the middle can be enjoyable.)

In the real world, you'll have motivation: bills. If you work for someone as a programmer, the boss will motivate you to program. Because if you don't, you'll get fired ... and therefore won't have any money to buy food and games. So unless you plan on running your own company writing your own software for general use, motivation is nothing to be concerned about.

Let's say you drive yourself to finish some game by working four hours a day for three months. The end result is a crappy game that no one really cares about. No one will care how much work went into it. Why? It will be compared against commercial games. Sure, you'll get 5 minutes of a "I completed something" high, but that feeling will quickly turn into, "I just wasted 3 months."

I'd just focus on doing the things you enjoy.

Ceagon Xylas

Sometimes I'll make a 'movie' in Flash (or Blender if it's a 3d game) of what I want the game to look and feel like. Simulating physics, dialogs, levels, etc... without actually programming it. I'll sometimes upload it somewhere so that I get feedback from other people. Once I get a little bummed about how things are going, I can play this movie again to remind me what goals I had in mind.

It also helps me to make check lists of things I'd like to complete. I've even gone as far as to write web applications for something as simple as an idea board or check list. For instance, I've written a PHP script that lets me add and delete ideas, and once they're on the board I can check their checkbox and save the data. Therefor every time I open it, I can see all the ideas and which ones have been completed.

Anything that you design like this, try and make it look professional. I guess, then, it starts to feel like it's worth your time. ;D

Billybob
Quote:

If you actually enjoy doing it, then you wouldn't have the motivation problem. You don't need to be motivated to do something you enjoy.

Yeah, who ever lost motivation to have sex (men, that is ...)?

How to solve motivation issues, tip #45: Train a cougar to maul you if you don't code.

piccolo
Kikaru said:


Posted on 09-26-2006 8:24 PM View Profile
Post your code, or a compiled version somewere and update it regularly to get comments. They really boost morale. Or you could just try to set up some kind of reward for completing a part.

sir you are so very right. but that only works if people will help by checking it out for you and you will be dam lucky if you get comments .

Thomas Fjellstrom

My major motivation is the challenge, learning and overcoming some obstacle (as long as it isn't one thats near impossible ;)). Once I know I can do it, it becomes un-interesting, unless I have feedback and enough people bugging me to finish ;)

Matthew Leverton
Quote:

Once I know I can do it, it becomes un-interesting, unless I have feedback and enough people bugging me to finish

I don't believe that's anything to be ashamed of. It just means that eventually, if given the opportunity, you'll find yourself in leadership / design roles. And I think anyone would prefer that to the drudgery of hitting keys all day long.

Thomas Fjellstrom

Not having anything to show for my time is a little shameful ;)

But I do enjoy it when I see a creation of mine come alive. It's like nothing else. Especially when its something complex like a VM and HL Assembler to go with it, as well as simple allegro bindings ;)

I also enjoy winking smiles ;)

Bob

Good music to code to. That, and lots of imagination about the final product :)

Kirill Stytsenko

And what music does one code to? I personally can't code when there's music around. Between coding - sure, but not while coding. Maybe I'm listening to the wrong stuff :)

Evert
Quote:

And what music does one code to?

Shostakovich (!)
But I wouldn't recommend that if you're not used to it.

Kitty Cat

Just realize that no one's going to make the game you want, and that it won't write itself. That's a pretty good motivator for me. If only it was that simple to deal with my laziness and ineptitude... :P

Thomas Fjellstrom

I usually listen to stuff that doesn't distract me, as in its not GREAT and its not TERRIBLE. Just some background noise, like something with a good beat, few-no volcals, or in a language I don't understand ;)

Hard Rock
Quote:

I usually listen to stuff that doesn't distract me, as in its not GREAT and its not TERRIBLE. Just some background noise, like something with a good beat, few-no volcals, or in a language I don't understand

Personally I'd reccomend a nice dose of death metal. It may be in English, but you won't understand a word they are saying, and it usually has a nice (albeit very very fast) beat.

(Well it works for me anyway)

Arvidsson

I suggest a search for 'motivation' on this forum. There are several threads that might hold an answer to your problem. Or at least give you some ideas.

Arthur Kalliokoski

I had a motivation problem two weeks ago, so I didn't do anything directly related to the project. Slacked off for 4-5 days. I didn't tell myself I wasn't going to finish! Then (once the irritation wore off) I found I couldn't type fast enough to try out all the fresh ideas. Now I'm getting somewhat irritated again. But now I'm into something I haven't bothered with for a couple months, so I may not have to slack off very soon.

Remember the "Star Trek Classic" episode where some aliens had taken Spock's brain? And McCoy used some hair dryer looking gadget to "teach" himself how to put it back? "It's childs play!". Later he was snapping his fingers trying to remember what came next. It almost makes me believe in biorhythms.

Hard Rock
Quote:

Slacked off for 4-5 days

4 or 5 days?

Wow thats pretty good.

Usually I go a year or two, write a few lines then don't do anything for another year. Which would explain why I haven't finished anything lately......

Ceagon Xylas

I seem to project-hop a whole lot. Every week I have really good ideas for something else. So I'm coding constantly, just never finish anything.

Thomas Fjellstrom
Quote:

Personally I'd reccomend a nice dose of death metal.

I hate the screaming. And the entire three notes they play on their instruments. Basically I want something that doesn't distract me from what I'm doing.

Ceagon Xylas

Regular metal uses the whole scale for lead! =D Though, the rythm seems to be just open C (B or D) most of the time. Oh well! As for screaming, I like it!

HappyMonster @Home

My tutorials might help as I do talk a little about motivation:
http://www.reflectedgames.com/create.html

Tobias Dammers

Personally, the biggest motivation killer for me is hackish code I wrote earlier, just to make things work. Maintainable code means you spend less time producing workarounds, and more time (in the long run) doing creative stuff. It also makes debugging a lot easier. Nothing as frustrating as debugging.

Johan Halmén

Compos motivate me. I missed the Retro Remakes Compo, didn't finish in time and now it's been lying for two weeks. But there's another motivator. I've got a song that I included in the game. The song will be an Easter Egg thing and I'm eager to publish the song via the game. The songtrack is not sung by me, but by another a.cc member.

In a former Retro Compo I did finish a game and it had a similar motivator.

Matt Smith

I have too many projects on the go, many which depend on each other. This means I don't see a clear way to finishing anything anytime soon. This can be very demotivating. The only way to deal with it is to get stuck in and try and crack a small part. Every step gets you closer to the goal, and that is motivating in itself.

Kibiz0r
  • Talking to friends about how awesome it'll be

  • Day-dreaming about it during boring classes

  • Planning stuff out so you don't run into annoying problems

The biggest thing though, I've found, is to set incremental goals that carry some sort of reward. Example: Get something on the screen moving, get that thing shooting/attacking, get things to kill, make those things able to die when attacked, make them attack back etc.

I made a bunch of mistakes when I was starting out. I would create the backbone of the entire thing blindly, and then finally make something interactive and discover that I had to make a ton of changes to what I had spent a ton of time on. It's much like sculpting. You want to shape it little by little, in a way that is pleasing to you.

Neil Roy

If I have an interesting idea for a game, I don't need motivation, heck, I barely get sleep I am so busy working on it.

What almost always stops me and ends up with a project getting cold and forgotten is I'll hit a stumbling block, some programming problem I can't seem to figure out, or something similar.

Try and stick with what you know. Maybe pushing it a little, but if you say, jump from 2D games to 3D with a huge project in mind, I'll bet it will get cold real fast when you get your masterpiece half done and realize you have to totally redesign it. :)

Which brings me to planning and organisation. Keep a journal, even if you don't do ANY programming. If you get an idea for your game, starting writing in a journal about what you want to do, put in as much detail as possible. Then every once in a while re-read your own journal. SO many times I have went back to reread it to find ideas I had forgotten about, that got me thinking and I'll figure out a way to implement it and next thing you know I'm programming. Or updating my ideas. Creating a design document is essential in my opinion. The more detailed the better. Make sketches, detail what you want done. Make notes on each section of the project then come back and fill in those notes with more detail until you almost have the game written on paper, or in my case, windows notepad. :) The better your design document, the less chances you have in running into a stumbling block you can't overcome. If it's designed, or well thought out ahead of time, the programming part will almost become secondary and inconsequential.

Also, forget about fancy graphics... don't do that title screen now, or menu... just create the game, fill in the extras LATER... do the framework and engine now.

Don't be afraid to show people your idea. Family and friends, get their opinion. Sometimes you will overlook something they can point out, even if they're computer illiterate and only play games... they know what they like and what seems too complex etc. Make something they like and you may develop a cheering section motivating you on! heh.

Kibiz0r

Btw, don't forget: Nothing worth doing was ever easy.

23yrold3yrold

Now I'm demotivated. :(

Richard Phipps

If it was easy you'd get bored after a while..

Thomas Fjellstrom

I've got one: Don't get a massive headache.

Johan Halmén

If you can't raise your motivation for coding, try to lower your motivation for anything else that would take your time from coding.

Now, have I ever come up with anything as brilliant as that?

Another idea, a bit similar. Prevent yourself from doing other things. Matthew could implement a system on users' profile page, where the user could isolate himself from all other forums but 'Programming questions' and 'Game design'. Once set, it stays that way for two weeks.

William Labbett

I think perhaps the real meaning of the word (motivation) has been distorted over time. Motivation must come from motive. It seems to have been distorted into meaning having the will to do something.
I'd say if you're losing motivation perhaps your motive for game developing needs some scrutiny. With me, since I was little I've always enjoyed being creative so since I enjoyed playing computer games I naturally ending up wanting to make them.

When one doesn't do anything for a while because one chooses not to shouldn't worry anyone.

I'd say the bottom line is (and really is),
if you're losing motivation, you haven't got a motive - not necessarily lazy.

axilmar

Initially I wanted to make games, but I have been caught up in CS study...algorithms, compilers, programming languages...I no longer wish to make games...maybe some PacMan clone to play with AI...but that's about it.

The reason I was caught up in this is because I searched why programming with C/C++ was so inefficient...I discovered many languages in the way, but none stands above all after all...they all have the same amount of problems, although different ones.

Trezker

Education is a huge production killer.

Set a rule that if you don't work on the project you have to learn something boring and useless.

Richard Phipps

1 hour of code = 1 bar of chocolate.
;)

Trezker

Oh, but you can eat chocolate any time you want.
I think it's more effective with punishment, rewards will come automatically if you work on the project.

Kibiz0r
Quote:

Education is a huge production killer.

Set a rule that if you don't work on the project you have to learn something boring and useless.

I agree that education is a production-killer, but for a different reason.

I start a project going one direction, and as I do more research and programming on it I learn that my foundation was very very wrong. And then I get frustrated, turn into the hulk, and go on a killing spree.

Dustin Dettmer

What I do is go and talk to somebody about some random feature of the project and then I automatically start thinking up ways to fix the feature or make it better. Enough of that type of thinking and I have to motivate myself to get off the computer and go to bed.

The trouble is finding people that I can talk about my project over and over with and wont start running the other direction when they see me coming.

piccolo

very true. thank goodness i have my cozin for that purpose

Ron Ofir

I find having someone interested in your project keeps me rather motivated. I haven't done anything for week though, mainly because my computer went crazy. It's also good to have someone make art for you so that you can make your game look good and so that that you'll have someone to keep nudging you untill you finish it. That, and while imagining your complete game is good, don't exaggerate! It made me want to do lots of complicated stuff, which made me learn, which made me start wring them, which made me realize how hard they are, which made me demotivated.

Quote:

Though, the rythm seems to be just open C (B or D) most of the time

You've never heard good metal, now have you? Oh, and there's no open C in a guitar :P

Andrei Ellman

I find that the best way to motivate yourself is to really get stuck in and get your teeth into the project. You may find that if you've not worked on it for a while, you'll find it hard to get back into, but once you're in it, you'll keep wanting to work on it. The idea is to keep this momentum going, because if it stops, it can be harder to re-start it than to keep it going.

Also, having other people in your team (be it artists, musicians, level-designers or even other programmers) can help motivate you, as every time someone else produces a new asset, you get to see your project move forward, and this inspires you to do some more work, which in turn inspires the other people, crating a positive feedback mechanism. However, if someone on your team keeps trying to bring you down by saying that your project is going to fail, throw them off the team ASAP (although you should ask yourself if they really are right, but if after your rationally-thought-out analasys of their comments you still disagree with them, give them the old heave-ho).

As many others have said, divide your project into a large TODO list and gradually cross out the tasks that have been done. No matter how tedious the tasks or how overwhelming the size of the TODO list is, each time you cross off an item, you feel like you've accomplished something. When you're stuck on something or just not sure what to do next, find the smallest tasks you can find on the TODO list and do as many of them as you can in one coding-session.

Also as others have suggested, create several milestones and ask for feedback. However, if you create toomany public-releases, some people might get fed up with being bombarded by incomplete projects. What I suggest you do is to divide the project into "Major milestones" with a fixed set of tasks completed for each milestone, and post them to all your friends, and the allegro.cc depot-forum. If you get any feedback about bugs or features that can easily be imlemented quickly, then release an update to your project. That way, whoever's testing it will see that you care about the users, but be realistic and only implement the features that can be quickly done or don't take the project into a direction it was not meant to go in. Then, there's "minor milestones" where you've just implemented several new features and you want someone to try them out. With those, just send them to the people on your team and the people who have shown the most interest in the project. And if you're working in a team, you can send the other teammates "sub-minor milestones" when you've implemented a feature that will aid the develoment of their contribution to the project.

Thomas Fjellstrom said:

Quote:

Personally I'd reccomend a nice dose of death metal.

I hate the screaming. And the entire three notes they play on their instruments. Basically I want something that doesn't distract me from what I'm doing.

Personally, I recommend early 80's synth-pop (such as Jean Michel Jarre, Kraftwerk, Hipnosis or to a lesser extent, Koto). Anything with no vocals means less room for distraction. With vocals, your brain is trying to comprehend their meaning (both what is being said and the deeper meaning), and without vocals, the music just sooths you. If you can find it, I would recommend getting hold of an album called Synsation (AKA Inter Synthellite (sp?)) that was released some time in the early-mid 80's. It consists of two medleys of classic synthesizer hits and no lyrics whatsoever (medley #1 starts with a song called Synsation Zero (or Synsation 0) and medley #2 ends with a song called Synsation One (or Synsation 1)).

And finally, I find that I'm the most focused if I keep regular sleep-wake hours. That is, I wake up the same time every day and go to bed the same time every day as well, while giving myself adequate time to sleep. If you get this rythm engraved into your system, the occasional late night out on the town or late night coding-session can easily be absorbed. Save all-nighters for those times when you're really close to a deadline or major-milestone, as usually, you may be a bit disoriented the following day, so it's best to get what you were doing out of the way.

But most importantly, have fun. 'Fun' is a fundamental component of all games, and therefore, you should have fun while develoing the game. Of course, game development does contain those tedious or hard moments where you really wish you were somewhere else, but when you complete them, you'll be glad you did.

AE.

Richard Phipps

Great advice Andrei. :)

Thread #587752. Printed from Allegro.cc