Oracle’s Eye Development: Taking an Hour

Thanks to a comment from a previous post, I decided to follow the advice on GameProducer.net specified in the article 1 hour solution to any problem.

… decide that you won’t check email before you have done that one daily hour. Don’t watch tv, don’t visit those nice discussion forums you usually do, don’t allow yourself to do any nice thing you usually do – until you have took action for at least one hour.

So I did it. I set an alarm for an hour and started planning my next steps with Oracle’s Eye. Before I get to the results of that hour, let me just say that I couldn’t believe how easily distracted I could get. I’d want to check my email to see if someone responded to a message I sent the day before. I wanted to see if a question I asked on the Indie Gamer forums was answered. I even wanted to start a blog post! There were a number of smaller things that I refused to do during that hour as well. Still, I didn’t think that hour would be so difficult. Perhaps with practice it will get easier.

So how did I productively spend that hour? I started by trying to picture what I wanted Oracle’s Eye to be like when it was completed. I then worked backwards by trying to list each “accomplishment” I would need to complete the entire project. Among the subprojects: defining a level structure, creating a level editor, selecting a level, loading a level, playing background music, and playing sound effects. I also wanted to add animation to a number of objects, fix the collision detection, improve the frame-rate independent movement, and create a menu system. I want to be able to build the project for Gnu/Linux and Win32 from a single codebase.

Having all of these specific subprojects is a bit less unwieldy than simply wanting to “complete the game project”.

I then needed to manage what actions will be involved in actually trying to finish a subproject. I picked frame-rate independent movement first. Here is a portion of my next actions list:

Frame-Rate Independent Movement:
    - To get game time to run at regular intervals
        - find/read FRIM references
        - define # of milliseconds in interval
        - verify that the code already in place will run updates at interval
        - change/update code so that it does, if needed

That doesn’t seem so hard, right? Perhaps I’m leaving out some details, but the very next action is good enough to get me going when I do sit down to work on this part of the code. It might be all I need to keep myself going, filling in the gaps as I go. Otherwise, I’ll just run this exercise again to get a better next actions list.

I’m still surprised at how easily distracted I was. I’ll need to work on that issue. I have a sign on top of my monitor that says, “What is the best use of my time right now?” that I apparently ignore now. I do so many things from one moment to the next without consciously thinking about whether it is the best thing I could be doing at that moment. In the future, I think during the hour it should be ok for me to at least write down those things I think to do. I can remember to do them later when it is more appropriate. It won’t really serve as a distraction in that case since I can get it down on paper and get it out of my head. We’ll see.

In any case, forcing myself to work within the hour actually made me more efficient with the time I utilized. When I needed to look up something for my list, I noticed that I was much quicker about searching than I would have been if the hour deadline wasn’t approaching. It would take me less than a minute to get the information I would need. Normally I might take five minutes or more because I would check if there are any comments on my blog or check for interesting new posts on the forums. I had a feeling that each second counted, and for the most part I treated them that way.

The next time you have a project that is sticking around on your list for too long, try to take at least some of it out in one hour. Even if you get somewhat distracted as I did, you might find that the time you do focus on the project will be incredibly productive. For another example, I dedicated an hour to catching up on magazines and got through a few of them before stopping to make dinner. I might catch up on the last few Escapist issues if I dedicate another hour tonight. B-)

5 comments to Oracle’s Eye Development: Taking an Hour

  • Yeah I know how you feel sometimes. I’m a bit different. I’ll get working on something, and be totally dedicated to it. Then i’ll think of something else that I should be doing, and like totally fork off hours before getting to constructive use of my time. I’m not necesserily distracted so easily, I just have procrastinators syndrome 😉

    I do however need to start making lists. I did read David Allen’s Getting Things Done, so I understand about next actions lists and stuff. I just haven’t sat down to do that. Maybe i’ll use up one hour of each day writing and managing goals and lists. I did hear Steve Pavlina claiming he had like reams of paper with his goals that are always changing. It’s probably a good idea.

    Keith

  • I’m in the middle of reading it GTD right now. I read it last year, but I wanted to read it again because I might pick up more usefulness now that I’ve been trying to follow parts of it. I thought I understood it well, but looking at it again I can see some great ways to improve. I tried to implement the tips he had for using email folders, but this second reading showed that I misunderstood. Things are much cleaner and I definitely feel more relaxed at work. It only takes me a quick glance to see if I have to deal with any email, whereas before it would take me a few moments to verify that I didn’t have any work to do. B-)

    I plan to prepare something similar in Thunderbird on my home machine, too. My desk is already cleaned, and I plan on getting some file cabinets. I’m also starting to get a better understanding about how to physically have Projects and Next Actions lists.

  • I need to get a copy of it. I read it from the library. Sort of want my Dad to read it. Unfortunately a little low on funds right now. In fact I have to go get some battieries because my rechargables aren’t doing well now. Rechargables still cost money, so i might end up getting regular alkalines.

    Another thing is I don’t have any bookstores nearby really, and the places that do sell books don’t usually have this kind of thing. If I saw it on a store shelf, i’d sort of “urge” my dad to grab a copy. Even though I can get it online.

    My house and my desk is way messy heh. I guess i’ll be doing things pretty much the old fashioned way until I get the book and commit to that weekend cleanup thing, or at least i’ll do the lists, which may help me get there faster than not doing it at all.

    Keith

  • I know that when I first read it I didn’t care about implementing everything. At the time, just doing better was better than not, so I started keeping better lists. I would occasionally get my inbox to empty. I just didn’t do it consistently nor did I do all that I could do.

    I’d say that just implementing any one thing would be beneficial.

    As for your dad, I think we all want to be able to share good things with the people we feel need it the most. I’ve found that those same people will tend to feel like you’ve been conned (even though they can see how it has benefitted you) and don’t want you to “con” them, too. “Don’t you dare give me that new age crap!” is one I’ve gotten a few times from my girlfriend, for instance. B-\

    I think it might be best to be subtle. Not necessarily sneaky, but it can’t hurt to leave an article or a book lying around. B-)

  • My Dad’s cool about it, since I live with him, both he and I are messy. He’ll usually get to reading something if I get on him. Most of the time he’s tired from work. And usually doesn’t feel like reading, or doesn’t actually get the time to read. He’s going to work and letting me stay home so I can become indie. I do take alot for granted, but this year i’m trying to really make an effort to show something for myself.

    Keith