Let’s say that there’s something that you need to get done. Something challenging which will take up some time, like learning a new programming language, writing a game demo, starting a company, invading Poland, etc.
First, what is it that you’re wanting to do? Try and be as specific as you can. Write it down as if you were writing an email to ask someone else to do it. Break the high level goal down into some of the main stages.
- Learn CG.
- Make a game, sell it and retire laughing.
- Sort out my savings.
- Download Ogre, run the samples, and find one to hack.
- Read up on Ogre materials, and read some CG samples.
- Make a cell shader effect and demo it by modifying the sample.
- Write a cloth simulation and put the cell shader on it.
- Test it out on a couple of friends’ machines.
- Record a video of the output and put it on my resume site for employers to see.
Make a Pac man clone
- Use my existing knowledge of Ogre and C++ to write a clone.
- Use Blender to make the models/animations.
- Get free sounds off the web, and play them with OpenAL.
- Pay for some music off the web.
- Polish and debug the game, including beta testing with friends.
- Make a website, including forum and purchase page.
- Get a friend to do the art for the website.
- Release the game.
- Make patches to fix issues.
- Do lots of marketing work.
- Retire rich.
- Start laughing.
Sort out my savings
- Talk to my family about how they save and what types of accounts they have.
- Ask at work about how the pension scheme works, and decide whether I want to join.
- Read the book on investing that I was given for my birthday.
- Start an automated monthly deposit to my savings account.
Having a better idea of what’s involved with the task will help you work out whether the scope of work is appropriate, and let you see what you’re getting yourself into. If you’re starting to learn C and your overall goal is to ship a World of Warcraft killer, then you might want to think of some smaller goals to get you started.