It kind of sneaks up on you when you least expect it, which can be really inconvenient most of the time because you're like "Hey! I can get this part of my programming done in a week! It's an awesome part of the game/program that will help make it more interesting for the general end user! Yay!" and then suddenly you're like "Ah jeez. There's a stupid bug somewhere in the program. Never mind." and then you go off to drink a boatload of coffee and spend countless hours on the internet either watching YouTube videos or reading web comics. It doesn't help that because you drank so much coffee, you're suddenly unable to fall asleep at a decent hour and then the next day you're horribly sluggish and your brain kinda feels like it's in a state of constant confusion and sometimes even the simplest of tasks feels like it takes enormous brain power to calculate the easiest way of opening a jar of jelly. If you can't do that, you surely won't be able to solve the aforementioned bug in your program. The solution? MOAR COFFEE!
On a more serious note, lack of motivation seems to hit us in random patterns. At least that's what it does to me.
I'll be sitting there, coding away happily while listening to some music (it helps me concentrate), and suddenly I'll realize that an idea I have might not work unless I go back and change part of my code, or I'll encounter a stupid bug that takes me hours to solve, only to realize that I was telling a For-Next loop to loop through variable "z" when I needed "a". It's usually at that point I either become enormously frustrated at my own apparent stupidity, or I'll lose all motivation for at least a week. It's sometimes a mixture of both.
So what can we do to increase our motivation for working on projects?
Something that definitely helps is breaking down your project into small steps. For example:
My awesome program's design document!
- Determine what your program needs - this includes all features you'll NEED for it to work, not just the features you want to implement.
- Code the basics based on what your project needs - functions, subroutines and all other basic features should be written and tested NOW in a mock-up project of some sort.
- Once you get everything working and all features tested out (this can take a while, so be patient), begin working on polishing the project up (this part may even require a complete re-write). If it's a game, replace the placeholder models with nicer ones. If it's a general program make the interface nice and easy for the end user to use. This is also the stage where you should optimize your program to run its best. Get rid of unnecessary loops and see if you can do anything to speed it up in other ways.
- Sell it, baby!
The last one is only applicable if you made a fantastic game (or program), so don't think you'll be the next Bungie developer or something like that. Regardless, a list similar in nature to the one above should help you to stay motivated, as it breaks up the project into small steps and you won't feel overwhelmed because you'll know already what you want to do with the project.
So a pledge I'm making to myself today is to STAY MOTIVATED. Actually, it's to GET motivated and then STAY motivated, because right now I want to work on a project. I'm just not feelin' the urge to start coding right away, so I'm gonna use that to my advantage and write up a design document. Hopefully, that will help.
But first I have to clean out a cooler from the weekend. Yay.
No comments:
Post a Comment