Archived

This topic is now archived and is closed to further replies.

Keeping Focused

This topic is 5647 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Well this is starting to come to my attention.. I''m doing less and less work every day. I have been programming for aprox. 4-5 years, and every so often I start to simply lose interest. There are some days where I can get entire concepts planned out, and half completed, but there are others (more often than the good days) where I do barely anything at all! Lately I have also noticed that many programmers suffer from the same problems. So I have now come to this board to ask a question: Is there anyone out there that has found a way to surpass this problem, and if there is, how did you pull it off?

Share this post


Link to post
Share on other sites
I noticed that when I became "bored" or un-excited about programming, it was because I wanted to do something that I really didn''t have a clue how to approach. I think it''s like playing tennis or golf, the game is only fun if your at least at a certain skill level.

So with c++ ( a few years ago) I kept getting bored, i didn''t understand something, and I''d get frustrated and stop. Now, that I can actually figure out how to research correctly (because I know c++ well enough to know what to look for) I become more excited and work harder.

I''m also hitting that wall now with c#. But actually today i figured out how to wrap directx and c# so they can actaully work somewhat.

I say, just keeping learning new stuff and work your way through it.
-Pac

Share this post


Link to post
Share on other sites
I call it ''out of zone''... Yeah, I also get these worryingly long coupla days where I don''t do any code. Then, all of a sudden, on a bus or at work (I don''t work with computers) I get this drive to do some coding. But ofcourse that''s gone when I get home. :t

The thing that gets in my way, I think, is init-coding (setting up stuff). I simply can''t stand it, and it makes it tough to get going. Though, once started, it''s easy enough to complete.

Try breaking up tasks into smaller tasks. One step at a time, and try to create immediately visible results. It works. Sometimes.

Visit the 2D game programmers'' hideout!

Share this post


Link to post
Share on other sites
Hmm, interesting ideas.

lloyd - I''m already imploying your method, I figured that out about a year ago. Very helpful.

Pactuul - Well I don''t have a wink of problems with c++ (kinda grew out of that after I started to learn asm about a year ago) But I guess your idea could be applied to DirectX. I have been pretty frustrated with my light not working properly, my shadows not appearing, and the sheer confusion of working on a 3 year game. But I also figured this out I guess about 2 years ago, when I was starting to learn MFC (my first API)

I know the concepts, but I was more wondering about how to deal with them. Right now I''m doing 2 things:

1) Breaking my "technologies" down into segments - something that planning has really helped with.

2) Concentrating on several things at once. So that if one stumps me, I would just let it be, and work on something else (and asking my partener, or one of my collegues) But this was seriously impairing my work. The only half-cure I have found to this was plannign it out. Sometimes I am not sure this method helps more than it hurts, but I find myself using it anyways.

Does anyone else have any ideas/comments?

Share this post


Link to post
Share on other sites
Hmm I''m not sure. Doesn''t planning everything out in rigid details spoil some of the spontanity (aka fun) of coding ?

For the puzzler, the design was written by someone else. I read it through, created a mental image of it, and started coding. Which was (and still IS) fun. I now use his design doc merely to tweak details and making sure my code follows the rules he has outlined.

I also work on more projects, but I''ve limited the amount, plus they''re vastly different (one puzzle game, one website, and I occasionally fire up Illustrator or Photoshop to do some "design work" for either the site or the game). This might help.



Visit the 2D game programmers'' hideout!

Share this post


Link to post
Share on other sites
Your 1) choice is what I do. Try to write some code each day even if you have to force yourself. This will preserve the habbit which doesn''t go out of whack. Work on your code little each day, there is no way I can accomplish big goal in a single day. I found out the hardest thing is to hit that vc++ desktop icon and once I do it, it gets easier from then on Also, try to envision your mini-goals, this tends to motivate me to see the end result. It also helps me to attach emotionally to the code which motivates me to continually work on it(babysit it). Basically, I don''t view it as work rather as a playground in which to try new things without feeling afraid that mocking with the code could screw it more. If you do this you''ll find out that you have the confidence in your coding ability to go in change stuff around make it better and come out ok. If you''re tired then take some time off. You''ll code better when your body is refreshed, you become more enthusiastic but if you''re tired and continue coding you get sick of the work and get demotivated. Don''t vary your sleeping schedule, I go to bed before midnight and wake up early next day. This is the best sleeping schedule for me and I''ve tried all kinds of other ones too. Just some ideas, I''ve too been coding for 4 years and finally I''m getting to the point where I actually have the knowledge or coding skills to do what I want. It''s a long road for some of us but very rewarding in the end. Good luck

Share this post


Link to post
Share on other sites
Planning a "puzzle", and planning a mainstream game are 2 different things. If I don't plan, the different sections will take twice as long (or sometimes not even get finished), and will not fit together.

Also, to answer your question, I find that I have become much more productive due to planning. It does not take away the fun at all (even though it shouldn't simply be all fun and games) To tell you the truth, I was a sceptic at first, then my current partener got me to try it, and I have stuck to it ever since. Without plotting out how the technology is going to be structured, I found myself getting lost amidst my 600 line classes, and having to trash the whole lot.

Add on:

JD - LOL, that kind of brings me back. I am not scared of destroying my code, but the whole idea of creating a sleeping schedule sounds interesting. I usually go to sleep at 1:00am+, and wake up about 10 hours later. Considering the fact that I'm coming upon that point in roughly 10 mins, and that it's an exceptionally hot day today, I can't try that today.
Something that I noticed a while ago was that doing a few exercises at mid-day really helped me stay focused. I guess it's possible that waking up earlier should produce similar effects. Maybe I should also consider drinking a cup of coffee every morning.

[edited by - hello2k1 on June 26, 2002 1:05:21 AM]

Share this post


Link to post
Share on other sites
I''m in one of those ''out-of-zone'' periods right now. I have what I need to do all worked out in design and all I need to do is to impliment it... but I haven''t yet. I''ve just lost a whole lot of interest in the project and want to code something different.

But! I refuse to code anything else until this project is done. Hopefully after I add a few more things and the project becomes more functional I''ll gain some more motivation but I have a feeling it''ll be a little uphill until then.

I just have to stay focused...



I will not make a list of links... I will not make a list of links... I will not make a list of links...
Invader''s Realm

Share this post


Link to post
Share on other sites
I usually slow down after i have managed to plan out a component, make a partial implementation that solves all the programming/design problems/issues, and all i have to do is finish it off, ie implement a few very easy methods etc.
The thing is, its kind of boring after you solved all the problems inherited in task.
I usually have a huge todo-list of these boring things i have to do, and when i work on them, things are REALLY slow.

What i do when i hit something like this, is usually to switch between different tasks in my program, for example, i almost finished all my event handling/input stuff, but was too bored to finalize the code that distributes the events(but i have already decided the how of it), so i started making a storage module for to help serializing classes to files or chunks(my silly name for a file containing multiple "files" so i can keep the number of open files to a low level), now thats almost done, and now im considering going back to finishing my input code, or perhaps start programming a particle system on the side for use in special effects.
I know it seems dangerous, but it seems that ever so slowly my program comes together, its currently over 3000 lines of code, buts its probably gonna end up with 15-20000 lines not counting script code.

Share this post


Link to post
Share on other sites
That''s another thing that I do that I forgot to mention: excerise. It makes a huge difference. I run about 3+ miles almost everyday and i lift weights. After that, I get a "high" for about 4-5 hours, where I can concentrate a lot better. Of course not everybody can start off like that, cause I sure didn''t, but I seriously suggest doing that, the hour you spend excerising, you could honestly save 3-4 of non-productive, frustrating work. (plus the ladies like it too )

Share this post


Link to post
Share on other sites
I had ideas of what I wanted to program but had nothing to program it with for a long time. When I finally got a computer and OpenGL, I was banging away on it like there was no tomorrow.

Then I figured out how to template classes and set myself up with a reusable game engine, which is still in development. The ideas are new and beckoning instead of old and frustrated, and it''s a different sense of progress now.

Before, I just wanted to see my old ideas come to be. I did that, and it felt great.

Now, though, I have to worry about re-usability, clean coding where possible, coding for OpenGL AND Direct3D (although I''m mainly only focussing on OpenGL right now), wondering if I should re-use some old stuff or rewrite it from scratch, all while wanting to implement new ideas about rendering, game play dynamics, etc. It''s a convoluted mess. I get lots of little ideas and as I''m working on one, another idea gains strength and I lose focus on the one I''m working on.

It is a challenge. But the important thing is to keep at it if it''s what you''re interested in. I spent way too long just thinking about what I wanted to do without actually doing it. Before, I had an excuse - I didn''t have a computer. Now that I do, there''s no reason really to dwell on what I want to do without trying to make it happen. Either that, or put it away.

I''m glad I became a member here at GameDev. It jazzed me up enough to give myself that extra push to continue.

Share this post


Link to post
Share on other sites
Ziphnor:
There is a limit to how much one should plan out, and it seems to me you''ve crossed that. The way I plan my stuff out, it only takes about 2-3 hours, where I plan out the structure of my code (not the intricut details) Like right now I''m putting the finishing touches on my terrain code, so what I did was plan out all the variables I''ll need in my class, all the functions, little reminders, ideas I have, etc. After I''m done, all the plannign really does is keep me on track, and remind me of things I may have otherwise forgotten.

Pactuul:
Yes, it really does help (both my figure and my work)

Waverider:
I''ve noticed it too, having so many things on my mind really pushes me away from work. I used to suffer from that.. Then I learned to plan things out (yes, I''m saying it again) Just having the entire outline right in front of me turns the raging tiger into a kitten.


Well it seems that planning really helps, but isn''t there anything else that you guys use to stay focused?

Share this post


Link to post
Share on other sites
quote:

There is a limit to how much one should plan out, and it seems to me you've crossed that.



You are probably right, its probably due to the fact im better at planning/problem solving that im at coding

quote:

but isn't there anything else that you guys use to stay focused



Well, changing to making something that gives immediate results, graphical stuff for example, can really help put you back on track. The danger, of course, is that you end having programmed all the fun stuff(and have neat graphic demo, but no game) and now have to do all the boring stuff

C/C++ Runtime library reference|Boost utility libraries|SGI STL Reference

[edited by - ziphnor on June 26, 2002 3:56:56 PM]

Share this post


Link to post
Share on other sites
Oh, yes, I HATE having to do all that user-friendly stuff, like getting rid of all those test buttons, and the hidden keyboard shortcuts, and making pretty and functional menus and what not. Ew!

Share this post


Link to post
Share on other sites
My main problem is that I want everything to be perfect. So I spend much more time on planning than on actual coding. When I got something working, I almost always dislike its overall structure or the way it was implemented and I start to redesign the whole thing. Very bad habit.

I think this is the idea behind Xtreme Programming but this paradigm is based on large teams and not focused on a single person.

Share this post


Link to post
Share on other sites
short, but completely honest answer: COFFEE

when i'm 'out-of-zone' coffee has a massive focusing/motivating effect on my thinking. i've noticed since high school that drinking coffee makes math/logical thinking 200% easier. i also have explosions of ideas for the first hour of a coffee high and the rest of the high provides me with the focus to get stuff done.

sounds dumb, is true, for me anyway

[Edit] also, as mentioned before, exercise. when i'm not going climbing/running regurlary (3-4 times/week) i get lazy, tired, unmotivated & entirely unproductive

-me

[edited by - Palidine on June 26, 2002 4:04:07 PM]

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
I have been coding for something like 15 years and I have fallen into periods where I don''t code for a couple of weeks and all of a sudden it is like a damn breaks and I have ideas and motivation. I think the main thing that I do that keeps me from losing interest now is to keep a file in with my code that lists not only what needs to be done but what I have accomplished as well. Trust me when I say that after you get a couple dozen tasks pushed over to the accomplished side you have plenty of motivation.

Share this post


Link to post
Share on other sites
Origin: I have exactly the same problem.. on my third re-write of a different approach with the same functionality.. at this rate I''ll never get anything done. Any ideas on combatting this?

As for test buttons, super powerful non-release console commands which can wreck the game, reams and reams of debug information.. I usually have too many and time permitting(50~ years), I can''t delete them all

What I''ve started doing is making a small todo list with 3 items in to be completed per day from a project outline plan, and ticking the boxes when i''ve finished actually feels very satisfying, almost addictive Writing notes next to each part in the todo list allows me to look back incase of problems.

Best of luck to all people working on their projects and hitting rough spots, and NEVER.. EVER give up!

Share this post


Link to post
Share on other sites
quote:
Original post by Pactuul
I noticed that when I became "bored" or un-excited about programming, it was because I wanted to do something that I really didn''t have a clue how to approach. I think it''s like playing tennis or golf, the game is only fun if your at least at a certain skill level.



Omg, this is what I''m going through constantly nowadays. I''m trying create a game but finds myself doing nothing because I''m fighting some invisible wall. It''s been like this for too long now, and I can''t help it.

Share this post


Link to post
Share on other sites
parklife - Kind of related to what you''re saying, I was shocked when I started to look for artists, and they kept saying that a lot of programmers do not pull their end.

The idea of checking off what you have done was presented to me by my partener, and I never tried it. Maybe for my next "technology" I''ll try doing that.

Share this post


Link to post
Share on other sites
quote:
Original post by hello2k1
Planning a "puzzle", and planning a mainstream game are 2 different things. If I don''t plan, the different sections will take twice as long (or sometimes not even get finished), and will not fit together.


Well then you''re doing something wrong , and hey ... don''t say ''puzzle'' like you think it''s some fricken minesweeper thing. If you only knew...


Visit the 2D game programmers'' hideout!

Share this post


Link to post
Share on other sites
Haha. Make me class which handles dynamic terrain for a game (that looks good), and runs at 1000fps on a gf4.. Then you''ll be able to assess exactly how hard your "puzzle" thing is/was to make.

I remember a while ago, I was given an assignment which said I needed to build a checkers game. I pulled it off in 8 hours.. but planning would have made that 4. Anything and everything should be mapped out, just give it a whirl and you''ll see how much it really helps.

Share this post


Link to post
Share on other sites
Planning does help, but when you''re working on a project that''s monumentaly huge and takes a year to complete, you''re gonna get "out of zone". Getting in that state also happens when not in big projects, usually in-between projects.

I think the main problem is that when you finish one task, you feel a sense of accomplishment. Then you gotta start a new hurdle. After so many hurdles, you start to get annoyed. Will this ever end? My longest out of zone period was 3 months. Didn''t touch a computer at all the whole time. Went camping, beaches, partied a bit too much until I ended up on welfare. That got me back in the zone.

Now I take a 2 week vacation at least twice a year no matter what. Everything is fine now.

Share this post


Link to post
Share on other sites