Search Unity

Programmer's Block

Discussion in 'General Discussion' started by Dave-Carlile, Apr 26, 2016.

  1. Dave-Carlile

    Dave-Carlile

    Joined:
    Sep 16, 2012
    Posts:
    967
    I seem to sometimes suffer from what I call programmer's block. Kind of like writer's block I suppose. I want to work on my game, I know what needs to be done, but I sit down and there's just nothing there mentally. I don't feel like it's a lock of motivation - I'm very excited about my current project - my brain just won't produce sometimes. I pretty much watch TV or read or become very unproductive for a week or two until it passes.

    Anyone else suffer from this? What do you do to get past it?
     
    vexe and Fissll like this.
  2. landon912

    landon912

    Joined:
    Nov 8, 2011
    Posts:
    1,579
    Exercising daily helps me mostly defeat this.

    Take walks everyday as a break. Run, bicycle, swim, lift, etc.

    Any physical activity seems to clear the mind.
     
    SIDWULF, Joe-Storm, 3agle and 8 others like this.
  3. drewradley

    drewradley

    Joined:
    Sep 22, 2010
    Posts:
    3,063
    Inebriation helps me with writer's block. Probably not the best way to code though. :)
     
    Deleted User, Martin_H, Ryiah and 2 others like this.
  4. Dave-Carlile

    Dave-Carlile

    Joined:
    Sep 16, 2012
    Posts:
    967
    Good advice and something I definitely don't do enough of. I did do a 10 day 90 mile backpacking trip in Yellowstone last summer, but I'm sure the benefits of that have worn off through the winter.
     
  5. Dave-Carlile

    Dave-Carlile

    Joined:
    Sep 16, 2012
    Posts:
    967
    Hmmm... probably worth some experimentation.
     
  6. frosted

    frosted

    Joined:
    Jan 17, 2014
    Posts:
    4,044
    I'm suffering from this right now.

    Usually it revolves around knowing generally what I need to do, but being unsure about the specifics. Right now I need to set up the character types so you can hire dudes and stuff, but I'm not sure exactly what the classes should be or how the system should work. So I'm not sure exactly what code to write.

    This kind of 'uncertainty' moment is usually what kills my productivity the most. It also happens to be the moments when I usually need to make some kind of compromise I'm not thrilled with.
     
    Gekigengar, Martin_H and Billy4184 like this.
  7. Kiwasi

    Kiwasi

    Joined:
    Dec 5, 2013
    Posts:
    16,860
    Huh, I get the opposite. When things are uncertain is when they are exciting. I get to try new things. Its once the shape of things is mostly determined and I just have to write out the code that I loose interest and motivation.

    I don't actually have a valid strategy to beat it. Since game programming is just a hobby for me I can afford long stretches with no productivity. I just go do one of my other hobbies.
     
    landon912 likes this.
  8. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    13,569
    It is called procrastination, not programmer's block.

    Make a regime and stick with it. Break your grand plan for making your magnum opus into small tasks, and work on small tasks. Just keep working, pretty much, even if your brain start trying to convince you that you should take a break, that you should try tomorrow, etc, because those are lies.

    ---

    However, in the unlikely event when you literally can't think, it may be indication of mental overwork. In which case you'll need a break for a day or two. Since it has been going for weeks, though, I'd wager it is procrastination, not overwork.
     
  9. dogzerx2

    dogzerx2

    Joined:
    Dec 27, 2009
    Posts:
    3,971
    It's indeed procrastination as neginfinity says.

    The question is why do we do it?

    you're just burned out? ... having a plain uncontrollable desire for instant gratification? ...fear of failing?

    We often don't know what goes on exactly in our own subconscious, nevermind other people's subconscious. But I guess the first step is try to understand exactly why do you sabotage yourself.

    In the meantime, try to at least power through your block. Make a regime. Have a long term & short term task list. If you can't resist procrastinating, always work FIRST, even if it's just one thing. Become good at gaining momentum.
     
    theANMATOR2b likes this.
  10. Rasly233

    Rasly233

    Joined:
    Feb 19, 2015
    Posts:
    264
    Let me guess, you work alone? I usually just take a vocation, sometimes it hard to get back to work but it is better then power through, maybe I am just lazy.
     
  11. ChrisSch

    ChrisSch

    Joined:
    Feb 15, 2013
    Posts:
    763
    This is why I'm browsing the forums now instead of finishing the asset. I don't have a mind block, I'm just procrastinating lol. It happens when I get stuck usually. Its usually a bug (or ten) I I'm having trouble fixing. :p

    Just two more threads, and I'll get back to work... for realziez.
     
  12. theANMATOR2b

    theANMATOR2b

    Joined:
    Jul 12, 2014
    Posts:
    7,790
    Not a coder - but I've had this similar 'thing' in the past when creating art content.
    My personal solution - I'm a list writing fool. I write lists upon lists because it helps me - move on to the next thing in line. And not procrastinate as much.
    I update my lists in the evening/early morning hours - after I'm finished for the night, and I write up what is ToDo tomorrow, and how much I think I can get done.
    I usually do not get done with the amount of stuff I write the prior evening - because things come up that need to be sorted out - and sometimes things take longer to get looking correct than I estimate.
    And I'm sure to update the list - if I have to revisit something or if I have to do several other things that I didn't list in order to move on to the next thing. This actually helps with knowing I'm getting stuff done.
    If I look at the list at the end of the day - and there are 1- 2 things checked off when I'd planned to get 6 things done - it's discouraging to know I'm falling behind. But if I update the list when I run into obstacles or unplanned steps - it helps to know I'm getting more stuff done than what was originally on the list. I look at it at the end of the day and there are 6 things marked off instead of 1-2. And the list is updated with tomorrows workload.

    I also tend to sketch a little, 10 minutes or so - before getting started on dev stuff. It helps get the creative circulation flowing as it should be.

    Is there a comparable, simple mindless 'thing' a coder/programmer can do that is similar to sketching for an artist?
     
  13. GarBenjamin

    GarBenjamin

    Joined:
    Dec 26, 2013
    Posts:
    7,441
    @BoredMormon I also find the design / engineering problem solving part to be the most enjoyable. Once things are figured out and it becomes a matter of typing it all in... well that I see as just a necessary evil. Although I do enjoy refactoring, cleaning and otherwise improving code.

    I definitely need to take breaks from game dev. I think a big part of it is due to being on the computer all day for my job. Some times I am just "burnt out" by the end of the day but the biggest factor I think is just feeling like I've had enough of working on the computer for one day. Time to do something different. I also enjoy being outside a lot. Just getting out of the house and doing something. So as can be seen on my game development log it is pretty common for me to take a day completely off from game dev. In the past 20 days I have taken 5 days off. I actually think that is not bad at all. However, it's pretty common for me to only put in one hour or less on the evenings I do work. There are exceptions of course.
     
    ChrisSch, Kiwasi and Dave-Carlile like this.
  14. Dave-Carlile

    Dave-Carlile

    Joined:
    Sep 16, 2012
    Posts:
    967
    Yeah, lists are the only reason I stay on target at all. The list for my work in progress has 695 completed items on it (that's over the course of 1.5 years), and a hundred or so todo items currently.

    As far as mindless, sometimes I'll try to do more mundane parts of the project, like the menu system or whatever. That helps.

    I am currently working solo (on the game, not in my real job) but plan to at least find an artist to help once most of the prototype features are nearer to completion.


    I feel like this might be at least part of it. But like @BoredMormon I sometimes get very energized in this situation and make huge amounts of progress, currently not. I guess brains are weird.

    Thanks everyone for your input so far. It's helpful to see that others deal with this and work through it in various ways.
     
  15. ChrisSch

    ChrisSch

    Joined:
    Feb 15, 2013
    Posts:
    763
    Me too, I enjoy making lists. Well not lists really, I find ToDo lists boring, I use XMind to make mindmaps as ToDo lists. Its so fun using it I just want to add more things to it. lol

    I can't sketch, when I start drawing I get carried away and it ends up being 4AM and that wasn't very helpful...
     
    theANMATOR2b likes this.
  16. Master-Frog

    Master-Frog

    Joined:
    Jun 22, 2015
    Posts:
    2,302
    I recently started just bouncing ideas of off someone and the feedback helps. It's amazing what another person's perspective on something can contribute to your own. You aren't blocked or stuck, you're uninterested on a deeper level. The thinking part of your brain knows you want to do this, but the emotional part of your brain calls b.s. Emotion always wins in the end.
     
  17. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,620
    Definitely!

    If I find that I'm like this I spend a bit of time planning rather than building. For me this mostly happens when I know what to do, but haven't figured out how to do it. So sometimes the planning that I do as a result isn't about things to built but, moreso, experiments to perform.

    Also, items on my current task list shouldn't just be specific, they should also be small enough that they're easily digestible. "Implement an inventory" is a huge task. "Allow the player to have a list of collected objects"... not so much. "Display them in a grid", also pretty easy. "Give each object a sprite". Bam, done! And so on. Basically, I make sure that I don't have to switch levels of abstraction while I'm working.

    This seems like it might be a cause of decision burden. With 100 items do you find that it takes time to select which one to work on now? Do you notice any trends in the items you select?

    If you haven't already, I'd give them all priorities or deadlines, and use those as the basis of selection. Applying a policy like that saves your brain a lot of effort, because deciding between things not only means thinking about the things, but also thinking about how to compare the things. Putting a policy in place nails both of those. It reduces required thinking down to "X has the next highest priority/nearest deadline, so I start on that."

    Maintaining and updating the priorities/deadlines is a task in and of itself, probably best done in "project management" time rather than "dev time". (Keep those separate if you're not already.)

    This, too.
     
    Dave-Carlile and Ryiah like this.
  18. goat

    goat

    Joined:
    Aug 24, 2009
    Posts:
    5,182
    LOL, I'm not even able to start on looking at anybody else's code til I put everything in namespaces and line up beginning of lines how I like and but // control type /function/class at the end of every control block.
     
    Ryiah likes this.
  19. ShilohGames

    ShilohGames

    Joined:
    Mar 24, 2014
    Posts:
    3,023
    I am another avid task list writer. I write extremely detailed task lists for myself to help me keep focused through the extremely boring middle of long projects. My task lists are usually the only fuel I have left after the initial euphoria of the early project stage wears off.

    If I get stuck on a specific task item, I will break it down into even smaller subtask items, and then work on those subtasks.
     
    ChrisSch and Aiursrage2k like this.
  20. Aiursrage2k

    Aiursrage2k

    Joined:
    Nov 1, 2009
    Posts:
    4,835
    Dave-Carlile likes this.
  21. Rasly233

    Rasly233

    Joined:
    Feb 19, 2015
    Posts:
    264
    Then i was right, that burnout effect is caused by working too much. It usualy means that you doing something wrong, like trying to create a project that is impossible to create alone. I would recommend to rethink your project and try to make it simplier, smaller, easier.
     
  22. Master-Frog

    Master-Frog

    Joined:
    Jun 22, 2015
    Posts:
    2,302
    Or work on your big game in small pieces at a time...
     
    GarBenjamin likes this.
  23. Dave-Carlile

    Dave-Carlile

    Joined:
    Sep 16, 2012
    Posts:
    967
    It seems kind of like a perfect storm of much of what you all have said. I'm kind of at a point where the next step in the project is something that's going to take awhile, is a bit more difficult (re-implementing some major functionality so it runs in a separate thread) and I'm not 100% sure the best way to go about it.

    One thing that nobody mentioned is a change of venue. Sometimes I can get past this by going to work in a coffee shop or anywhere but the normal work location at home. It seems to help with focus usually, but hadn't in this case.

    In any case, the change of venue along with the little programmer's psychology session here on the Unity forums seems to have done the trick. Managed to push past whatever block was there and made major progress last night.

    Thanks again to everyone.
     
    angrypenguin, ChrisSch and dogzerx2 like this.
  24. Joe-Storm

    Joe-Storm

    Joined:
    Jul 2, 2012
    Posts:
    16
    I need to try this! Really. But, in my end it seems to be the lazy procrastinating side of things. Trying to fix that, as well.
     
    Dave-Carlile likes this.
  25. dogzerx2

    dogzerx2

    Joined:
    Dec 27, 2009
    Posts:
    3,971
     
  26. Dave-Carlile

    Dave-Carlile

    Joined:
    Sep 16, 2012
    Posts:
    967
    Haha, that's pretty much how I feel sometimes.
     
    dogzerx2 likes this.
  27. ChrisSch

    ChrisSch

    Joined:
    Feb 15, 2013
    Posts:
    763
    This was me one night at college. I seriously translated a whole bunch of people's assignments cause I was feeling too productive. A bit drunk too.
     
    Dave-Carlile and dogzerx2 like this.
  28. Martin_H

    Martin_H

    Joined:
    Jul 11, 2015
    Posts:
    4,436
    https://xkcd.com/323/

    Or google "Balmer Peak". Seems to be a well proven method. ;)
     
    dogzerx2 likes this.
  29. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,620
    Yeah, great point.

    The other day I went to the local game dev gathering at a pub, and got quite a bit done while there. I find that if I stop to do some "work" (usually hobby projects) while travelling it's usually quite productive. And if I pull out my laptop to knock off a task while waiting for something/someone I often find that I get it done, too.

    I think it's a combination of not needing to get anything done and thus not having stress, but still having a little time pressure in that you don't want to waste that time.

    As I mentioned to someone after a particularly productive afternoon of "not working", "sometimes it's amazing how much you can get done when you're not trying to".

    (There could be some confirmation bias here. It might *feel* productive because I pick easy/quick tasks and have nothing important competing for my attention.)
     
  30. ChrisSch

    ChrisSch

    Joined:
    Feb 15, 2013
    Posts:
    763
    What I'm getting from this thread is, alcohol, exercise, and changing things up a bit, like going out for a while. Make sense. Everyone breaks down apparently no matter how physically easy the task is, its still hard to do it on repeat non stop. Alcohol makes things more fun, exercise releases the feel good chems, and going out just freshens you up a bit. :D
     
  31. Deleted User

    Deleted User

    Guest

    Alcohol makes it seem like you're a coding wizard with the best idea's ever made, until you look at it the next day and realise what you actually wrote was a load of crap.

    One of the biggest issues with "procrastination" is dealing with overarching issues like how do I want my game to look in two years (you'll find out once you've made it, so stop it) or what am I having for dinner?

    I find the second question really hard to answer some times. Simple as this, there's always a million things to do when making a game. If you're stuck on one bit, do something else until the penny drops..
     
    Last edited by a moderator: Apr 28, 2016
    angrypenguin, dogzerx2 and ChrisSch like this.
  32. ChrisSch

    ChrisSch

    Joined:
    Feb 15, 2013
    Posts:
    763
    I'm stuck on the last two features in this asset I'm working on, lack of documentation, and no amount of Debug.Log is helping me, so I'm just lying face down on the floor squealing. If it takes any longer I'll cut them out from the initial release. >.>
     
    Deleted User likes this.
  33. Dave-Carlile

    Dave-Carlile

    Joined:
    Sep 16, 2012
    Posts:
    967
    One of my favorite quotes...

    Funny, but probably not words to live by.
     
    Deleted User likes this.
  34. SIDWULF

    SIDWULF

    Joined:
    Apr 5, 2016
    Posts:
    6
    Exactly, dont be a fat and lazy game developer. Taking care of the body takes care of everything else. You will be amazed at your productivity when you are healthy and fit.

    Thats why you dont see many fat scientists...
     
  35. landon912

    landon912

    Joined:
    Nov 8, 2011
    Posts:
    1,579
    I see a lot of fat nurses/doctors.....or even nutritionists.

    Then again, weight doesn't correspond directly with laziness. Nor can we neglect that I live in America. :p
     
    McMayhem88, ChrisSch and Martin_H like this.
  36. Kiwasi

    Kiwasi

    Joined:
    Dec 5, 2013
    Posts:
    16,860
    Hmm, I know a few. The proportion doesn't seem to be any different in science to any other field.

    I will agree with your other premise, taking care of your body helps productivity. But I'm not sure the scientist comment makes any sense.
     
  37. MobilityArts

    MobilityArts

    Joined:
    Feb 13, 2014
    Posts:
    18
    I like your solution, particularly planning things the night before. I used to plan things in the morning, but procrastinate as other unplanned stuff coming up. I reckon planning things the night before help subconscious mind to sorted things out.
     
  38. alexzzzz

    alexzzzz

    Joined:
    Nov 20, 2010
    Posts:
    1,447
    What helps me a lot in this situation is starting with something small. Like, fixing a simple bug. I always know there's a bunch of issues with the project, that are not that serious to distract me while I'm doing something else, but they still exist and have to be fixed sooner or later. After an hour or two of hunting for small issues I just can't stop to go away to watch a movie. I continue working on the project.
     
    aer0ace, Dave-Carlile and Kiwasi like this.
  39. aer0ace

    aer0ace

    Joined:
    May 11, 2012
    Posts:
    1,513
    Just thought I'd contribute an example, as I'm experiencing this right now. I want to build a custom Animation class for my game units, yet I'm not sure how to approach it. Should they be script components? Or just classes that are part of my generic Unit class, which is already a script component? I want to use DOTween for some of the animation, but I'm not sure if all of my unit types will require more specialized animation. Thought after thought after thought, got me into such depths, that it overwhelmed my mind into programmer's block.

    Naturally, my first instinct as a veteran game developer is to revisit the design, and design it if it hasn't been designed already, and really observe each unit, and what sorts of animations it requires, and this just gets me into even deeper thought. Although now actionable, I'm so overwhelmed at this point, that I don't want to do it, but I'll do it anyway, because that's what you do in order to move forward. You find something that needs doing, and step back, see how much other crap that needs to be done to get there, and start.

    And, there's an added challenge, in that, maybe after all the design and planning, you have more than one option or approach to the problem, and you really won't know which is best until you implement at least one or two of them, running the risk that you'll use up some dev time because you'll have to throw away all the unused solutions.

    Repeat a million times until you think you're done with your game....

    And what do I do instead? I jump on the forum and type about it. Maybe that was just Task #1 on my list for this Animation class task. Onward!
     
    GarBenjamin likes this.
  40. Dave-Carlile

    Dave-Carlile

    Joined:
    Sep 16, 2012
    Posts:
    967
    Yeah, this is definitely a challenge I've discovered, and yeah, the only solution seems to be pick one and then try the next one if the first doesn't work out.

    I guess this is where I am in the process. Onward indeed.
     
  41. Steve-Tack

    Steve-Tack

    Joined:
    Mar 12, 2013
    Posts:
    1,240
    I'm another "list" person. I have a master TODO list for my current project. Whatever high level item I'm on, I expand it with as many detail lines as possible. Those details may have details, and so on. Sometimes I get all the way down to pseudocode or even just straight up code, if it's a programming task. Often something that started out as a single line ends up getting temporarily expanded to a full page or more.

    At the lowest level, the tasks are so tiny, it's like "I can do that!" I find it easier to not procrastinate when I know I can just pick one tiny thing to do. More often than not, after that first tiny thing I start to get in the "zone."

    I don't keep any of that detail though. Once the high level task is done, I delete it and everything under it.

    Another thing (that I think is important anyway) is to not get too detailed in your written design. If you keep things fairly open-ended, it helps make the process fun, since you can still be creative as you go. As you make progress, your design will have to solidify of course, which is partly why the last 10% of a project isn't as fun as the first 10%.
     
  42. darkhog

    darkhog

    Joined:
    Dec 4, 2012
    Posts:
    2,218
    I have the best advice for you:
     
    cyberpunk likes this.
  43. landon912

    landon912

    Joined:
    Nov 8, 2011
    Posts:
    1,579
    I'll add another problem I used to often run into.

    Lack of task focus kills productivity and causes issues. Sometimes, I rush in with a general idea; "improve combat". I improve it in one sector, yet while testing my changes we witness another issue. We rush off to fix this, without ever completing the testing of the last. Soon, we have many "fixes", but just as many new issues. Since our code delta is pretty high, who knows what "fix" is related to what issue. Time to backtrack. :(

    Basically, one long paragraph to say: focus on one specific thing, fix it, and fully test it. Ignore all other issues, no matter how "easy" of a fix it would be. Otherwise, you'll find yourself in what I call "jumbly head". ;)
     
  44. RockoDyne

    RockoDyne

    Joined:
    Apr 10, 2014
    Posts:
    2,234
    Funnily enough that's basically how I've spent all of today on the camera. It's mostly in order now, until I go back to properly solve some of the equations and break everything again.

    My big problem these days is not having a solid notion of what I'm working on. Case in point, I've been monkeying around with and trying to figure out workflows, mostly 2D (animation and level) and writing. I have a pretty good place to start with writing, but I don't like any of my prospects with 2D yet. So I keep looking, hoping desperately that I don't have to roll my own solutions.
     
  45. JohnnyA

    JohnnyA

    Joined:
    Apr 9, 2010
    Posts:
    5,041
    I find just starting is the key. I'm sure regardless of mentally stumped you feel you can do something basic, for example write a data structure for some simple object type. Don't worry about if it will be rewritten or thrown away, just start!

    For me this is often the main hurdle.

    Its kind of similar to the 'one push-up a day' fitness regime. You do your one push-up every day, but once you have done that one you might as well do a few more, and maybe some sit-ups and some squats, etc. The act of getting started is often enough.
     
    aer0ace likes this.
  46. aer0ace

    aer0ace

    Joined:
    May 11, 2012
    Posts:
    1,513
    Agreed. As far as my Animation class went, I just dove in and created it as a MonoBehaviour, and just "got it working". That's the most important part. Usually once you have it working in one way, regardless of how crappy the implementation is, it's easier to see how it should be done right, and take the existing code and rework until it's to your liking. It's also a good rule in the industry to just "get it working". It's obviously best to your employer if you can actually show something. Just as long as you let your manager know that it still needs to be refactored for whatever future features, to prevent the technical debt from really building up to the point it's too late.
     
  47. LMan

    LMan

    Joined:
    Jun 1, 2013
    Posts:
    493
    I get hung up on finding the exact right way to do things. I get past it by writing really bad code that is just functional and telling myself that I'll make it nice and pretty later.
     
    Martin_H, aer0ace and Dave-Carlile like this.
  48. Stardog

    Stardog

    Joined:
    Jun 28, 2010
    Posts:
    1,913