Thread: Personal project

  1. #1
    Woof, woof! zacs7's Avatar
    Join Date
    Mar 2007
    Location
    Australia
    Posts
    3,459

    Personal project

    G'day,

    I find it very hard to stay focused on a project for any length of time. And such I've found I've never fully completed a software project over the last few years, usually due to lost interest, other commitments or "better" ideas.

    So I was wondering if anyone has any tips? Or project ideas for me? Seriously it's very hard to come up with something. I've joined other projects, but usually development stalls, they disagree with me, and/or I have a hard time finding something that interests me.

    Being a third year Software Engineering student this is not a good place to be in! So if you have any projects I'd be more than happy to join . Don't mind if it's C, C++, Python or Java.

    Ta
    Zac

    PS: This doesn't seem well suited to the projects and job recruitment board, it's more of a discussion.

  2. #2
    Registered User
    Join Date
    Dec 2006
    Location
    Scranton, Pa
    Posts
    252
    Choose an older, yet popular computer game and create an editor for it. That ought to keep you busy until graduation. It'd really put your abilities to the test. ..

  3. #3
    spurious conceit MK27's Avatar
    Join Date
    Jul 2008
    Location
    segmentation fault
    Posts
    8,300
    Yeah, but you must be completing some fairly serious assignments at this point that amount to "software projects"; I assume -- and out of curiosity, what is the biggest thing you've done for school?

    But here's two ideas:

    1) I don't play games -- I don't have any installed on my system. But I started work on this 3D breakout idea last week and I gotta say, one neat thing about it is that the testing is fun. Reminds me of ping pong. Games involve concepts than have wider general applicability, like simulating/analyzing geometry and AI. Just don't set your mind on emulating something that obviously involves a large team working full time for several years.

    2) Another thing I've done is written programs for other people who work on computers and don't program. This way you are kind of guaranteed feedback. And they make cheap gifts
    C programming resources:
    GNU C Function and Macro Index -- glibc reference manual
    The C Book -- nice online learner guide
    Current ISO draft standard
    CCAN -- new CPAN like open source library repository
    3 (different) GNU debugger tutorials: #1 -- #2 -- #3
    cpwiki -- our wiki on sourceforge

  4. #4
    Registered User C_ntua's Avatar
    Join Date
    Jun 2008
    Posts
    1,853
    Quote Originally Posted by zacs7 View Post
    G'day,

    I find it very hard to stay focused on a project for any length of time. And such I've found I've never fully completed a software project over the last few years, usually due to lost interest, other commitments or "better" ideas.

    So I was wondering if anyone has any tips? Or project ideas for me? Seriously it's very hard to come up with something. I've joined other projects, but usually development stalls, they disagree with me, and/or I have a hard time finding something that interests me.

    Being a third year Software Engineering student this is not a good place to be in! So if you have any projects I'd be more than happy to join . Don't mind if it's C, C++, Python or Java.

    Ta
    Zac

    PS: This doesn't seem well suited to the projects and job recruitment board, it's more of a discussion.
    Where were you a few months ago to help me with my game Gave up cause it was too much to do alone, leaving a good work behind...

  5. #5
    Jack of many languages Dino's Avatar
    Join Date
    Nov 2007
    Location
    Chappell Hill, Texas
    Posts
    2,332
    This is hilarious!!

    "I have a long track record of not being able to finish a project... how about I join yours?"
    Mainframe assembler programmer by trade. C coder when I can.

  6. #6
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    I've championed unfinished projects for far too long. The only projects I could take to good harbor was those involving money. So I knew it was in me the ability to finish something. Lack of motivation was thus the real problem as you identified.

    Over the past years I've been slowly trying to find solutions to this. Honestly I think it's a problem with any programmer (there should be exceptions of course). However what works for me, may not work for you. But here it goes:

    Personal Projects related, naturally.

    ----------------------------------

    - I keep myself focused on not one but two projects. May sound counterintuitive, but works wonders for me. By periodically switching between projects I've been avoiding getting burned out with one project and eventually dropping it.

    - Being pet projects we are talking about here, I don't feel I have to prove anything to anyone. I also make a point of not looking at a project as something that I need to prove myself either. That type of motivation may work at your workplace. But when it comes to personal projects it tends to stress me out. So I try to relax all possible psychological barriers.

    - I take my time. I'm not in a hurry. I can stop working on a projects for as much as 6 months. I find this is only possible because I do tend to take code documentation seriously. If you do, and employ such tools as Doxygen, your reentry time on some project you stopped working for some time will be made much easier. In any case the point being, if I feel I'm getting bored or tired, I stop. I don't press on because of the idea that "pressing on" is the way to finish something. When it comes to hobbyist programming, "pressing on" is on my case -- and I suspect many others -- the best way to ruin your chances at finishing a project.

    -------------------------

    These are my tenets. But from my readings and observations on other people who cannot seem to finish something or seem to be able to finish everything all the time, I've come to realize what I think are other factors that come into play:

    - It's a personality thing. Some people simply can do it, others have more trouble. Not because they are in any way worse programmers, simply because their brains demand new experiences all the time. They have more reckless brains and need to train them.

    - Age is a factor, in my opinion. I've notice I have today more patience and get less bored than I did some 10 years ago.

    -------------------------------------

    A word about fun:

    Games are not fun to program. They can be as boring as anything else. And they will be. In fact, programming in general is only fun up to an extent. Like any other personal task or hobby we set out, Fun is something that eventually dies out to be replaced by other feelings like a sense of mission, responsibility or whatever. Or better yet, Fun is a wave. It goes up and down with time and we need to move it back in our priorities exactly because of that. Otherwise, if Fun commands our actions, when the wave starts its declining cycle (and it ALWAYS does), the project gets abandoned.

    This is what drives us at work (assuming of course we are minimally responsible). We have unconsciously moved Fun to the backstage and only occasionally we keep an eye for it. Because of that we can move on with our lives.

    Fun is dangerous. It's your enemy. Fun can be a drug (and is in fact a drug, since the feeling is fired up by a series of chemicals your brain orders to be produced). As you can quickly surmise, Fun has the power to command your actions. So the idea is to always refuse to submit to it even when you are at its peek. You need to trick yourself into moving fun to the backstage of your priorities and adopt other more important feelings like the aforementioned sense of a mission.

    Many programmers (me included) program or have programmed in the past their own pet project games exactly because they think this is fun. They will soon realize it's not. And they will soon realize that fun feeling died out. Once they reach here, they have no reason to believe it will be fun anymore. They are wrong. It will be fun again, but only if they move on during that period. But because their sole motivation (even if unconsciously) was Fun, they lost the only weapon they had and the Unfinished Project wins.
    Originally Posted by brewbuck:
    Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.

  7. #7
    C++ Witch laserlight's Avatar
    Join Date
    Oct 2003
    Location
    Singapore
    Posts
    28,413
    Once again, I never finish anyth
    Quote Originally Posted by Bjarne Stroustrup (2000-10-14)
    I get maybe two dozen requests for help with some sort of programming or design problem every day. Most have more sense than to send me hundreds of lines of code. If they do, I ask them to find the smallest example that exhibits the problem and send me that. Mostly, they then find the error themselves. "Finding the smallest program that demonstrates the error" is a powerful debugging tool.
    Look up a C++ Reference and learn How To Ask Questions The Smart Way

  8. #8
    spurious conceit MK27's Avatar
    Join Date
    Jul 2008
    Location
    segmentation fault
    Posts
    8,300
    I don't have a hard time finishing a project, but most of them are small. If it's something that gets used for a purpose, then it's a project and it's finished, and altho it may well continue to undergo further development, I try to keep it looking and feeling like a finished product. You should think of ideas that can be finished in this sense in a basic way within a few months, but that have the potential to be a lot more than what they are. This helps the design from day one, because you are always thinking about generalizing routines, etc. In this sense, I probably have half a dozen projects that I return to intermittently. Sometimes it takes me a while to remember how everything works, but that is good too: skills improve with repetition.

    Quote Originally Posted by Mario F. View Post
    - I keep myself focused on not one but two projects. May sound counterintuitive, but works wonders for me. By periodically switching between projects I've been avoiding getting burned out with one project and eventually dropping it.
    Totally. I don't think it's counter-intuitive at all. The only reason I would commit all my time to one thing would be if someone paid me to. I also try to divide my time between languages.

    Games are not fun to program.
    Many programmers (me included) program or have programmed in the past their own pet project games exactly because they think this is fun.
    Well, I just started with it but if you include 3D graphical programming in general, then I have spent quite a bit of time doing that. I stopped last time because I started to think it was tedious, and really I had no serious goal. I would say it is no more or less fun than programming anything else. Like, I consider programming a lot more fun and interesting than actually playing games, maybe that is weird.

    I think some of y'all have this problem because you are serious about gaming, so you want to write Far Cry 17 or something. That is just not realistic. Everyone has their limitations. So you get together, thinking you can overcome obstacles this way, and then realize you are a control freak and want to do everything yourself but cannot. This is not a criticism or a put-down, it's a guess. I would feel the same way. You lose interest because your vision is compromised AND you are trying to do something which is too difficult for you. Challenging yourself is fun. Serving yourself platefuls of disappointment, one after another, is not.

    There are plenty of little things you could do that would not be that hard, and that when finished, other people might find entertaining for an hour or so. You will get more out of doing a small project really well than you will get out of doing a really big one sloppily, IMO.
    Last edited by MK27; 11-26-2009 at 08:26 AM.
    C programming resources:
    GNU C Function and Macro Index -- glibc reference manual
    The C Book -- nice online learner guide
    Current ISO draft standard
    CCAN -- new CPAN like open source library repository
    3 (different) GNU debugger tutorials: #1 -- #2 -- #3
    cpwiki -- our wiki on sourceforge

  9. #9
    spurious conceit MK27's Avatar
    Join Date
    Jul 2008
    Location
    segmentation fault
    Posts
    8,300
    As an addendum to the "2 projects is better than 1" hypothesis, part of the reason I answer questions at cboard so much is to give my mind a break from whatever I am working on, without taking it totally away from the keyboard and thinking about code.

    That is not the only reason, but it is definitely the one that keeps me coming back. Sometimes I feel I am avoiding something that is giving me trouble, but on the other hand, I generally do finish what I start, so maybe it helps: rather than staring at something in frustration endlessly, or getting bored working toward a goal in the distance, I turn my mind to something that provides a quick satisfaction, and my frustration or boredom dissipates.

    I have ADHD by the way
    Last edited by MK27; 11-26-2009 at 09:13 AM.
    C programming resources:
    GNU C Function and Macro Index -- glibc reference manual
    The C Book -- nice online learner guide
    Current ISO draft standard
    CCAN -- new CPAN like open source library repository
    3 (different) GNU debugger tutorials: #1 -- #2 -- #3
    cpwiki -- our wiki on sourceforge

  10. #10
    Registered User VirtualAce's Avatar
    Join Date
    Aug 2001
    Posts
    9,607
    I have not finished a great deal of projects at home but already have completed several at work and in less time. For me personal projects are all about fun and researching new things. It doesn't mean I must complete them or even possibly could complete them but it does mean I have something to code away on at home should I choose to do so. The moment it becomes more like work than fun I step back for a bit and do something else. My breaks away from coding have been video games and watching DVDs with the family. Nothing beats sitting down with the family to watch a great movie.

    The fact is you are not getting paid for the project you are doing at home. There are no project managers to answer to, no leads, no type of structure at all that sits above you to ensure you get the job done. And that is a good thing b/c if there were...it wouldn't be home it would be work.

    I have 3 projects I'm working on at home and only 1 of them is fairly complete. But it does not bother me anymore b/c even if they were complete I have no idea what I would do with them. I'm not even sure I would want to release them freely b/c then you would probably get people wanting you to fix this bug or that bug and again that's more like work than being at home.

    One thing I've found does work for me at home is to code up certain algorithms that you haven't tried as of yet. It is something you can actually complete, genericize it so you can add it to your toolbox of goodies, and it's fun along the way. It might just be me but getting a very cool algorithm working is almost more enjoyable than getting an entire game working.

    But having unfinished projects on one's hard drive does not say anything about you as a programmer. It doesn't mean you won't complete projects in a professional setting and trying to equate what you do at home to what you would do at work is just insane. Every one of my co-workers has 1 or more projects they are working on and/or have not completed. We joke about not completing this or that from time to time and it's all in good fun.

    So I guess my point is while you are in the safety and comfort that is your home do what you enjoy.
    Last edited by VirtualAce; 11-26-2009 at 12:20 PM.

  11. #11
    Malum in se abachler's Avatar
    Join Date
    Apr 2007
    Posts
    3,195
    I find you get more done if you break the project down into sub-projects that have some application to other projects in the future. For example, When I started to write my Target Identification, Assessment and Ranging System I started by writing a general purpose camera class, which I can now use on all my other video related projects. When you have a library of things like that, after awhile your projects just kind of fall together a whole lot easier.

    Plus, if you lose interest halfway through a project at least you have some useful code written.

  12. #12
    Woof, woof! zacs7's Avatar
    Join Date
    Mar 2007
    Location
    Australia
    Posts
    3,459
    Ah all very good points, makes me feel much better

    Quote Originally Posted by MK27
    Yeah, but you must be completing some fairly serious assignments at this point that amount to "software projects"; I assume -- and out of curiosity, what is the biggest thing you've done for school
    Indeed, but motivation is easy for me in that area. The biggest project was in a unit "Software Engineering practice" and that was a good 10,000 lines over the semester -- along with zillions of planning, design, etc documents.

    Seems like the "more than one" project at a time is a good route to travel. And I have indeed experienced the difficulty of getting back into a project after 6 months.

    As for games, the only aspect of programming games that interests me is you really get to see your work in action, and it's difficult. Don't worry, I don't have plans to write the next World of Warcraft, or Half-Life 3.

    Thanks for the advice everyone, I'll be sure to steer clear of fun

  13. #13
    Malum in se abachler's Avatar
    Join Date
    Apr 2007
    Posts
    3,195
    Well, there really isn't any money in being a game programmer, there's too many people wanting to do it, so competition drives the wages down and programmers dont have anything similar to e.g. the electricians union.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Problem Displaying a Struct
    By rockstarpirate in forum C++ Programming
    Replies: 16
    Last Post: 05-05-2008, 09:05 AM
  2. added start menu crashes game
    By avgprogamerjoe in forum Game Programming
    Replies: 6
    Last Post: 08-29-2007, 01:30 PM
  3. Dynamic Binding
    By gpr1me in forum C++ Programming
    Replies: 1
    Last Post: 03-24-2006, 09:01 AM
  4. Game Independent Anti-cheat Project Needs Programmers
    By GIA Project Lea in forum Projects and Job Recruitment
    Replies: 3
    Last Post: 09-15-2005, 07:41 PM