Lack Of Interest In Programing!!!

Started by
21 comments, last by ZMaster 17 years, 10 months ago
Making a little break from time to time is a good idea also, it allows you to reorder your ideas and maybe get some new ones, etc...
Anyway I think ItsDoh underlined the real 3 main reasons.
But that's what fun, it's not that easy to keep up the work to FINISH an engine/game, and that's what matter, who care if you started a really super project ?
-----Entropia 3D Engine Project, a next-gen and flexible C# 3D Engine under GPL.
Advertisement
work i dont like( but has to be done) gets me down really fast (like 3d,sound,converters) and stuff ... it takes me some days to recover motivation ...

what also screws me up is, if finally find a way to do everything better ... at this point i dont want to continue the old stuff ... but beginning new does include a big load of standard work which bores a lot :/ ... well i didnt finish a decend project either ... only small stuff (last readymade thing is like 2years old ...) ... i do a lot of little experiments at the moment ... nothing real :X
I find that my development process goes alot like this:

1. Write half of a new feature
2. Fix some code somewhere else
3. Write the rest of the new feature
4. Fix bug in new feature
5. Fix bug caused by the "fix" I did elsewhere
6. Program is working
7. Mess about with working code, "fine-tuning"
8. Goto 1

So basically, for me it is important to remember to do a backup at step 7 so I always have something pretty to play around with during the long, hard trudge of steps 1-5.
It can also happen if you run into areas where you have limited knowledge, but you are getting hard to find errors. You finally solve one error that you spend days on just to get another one that takes a few days. 3 or 4 of these types of errors in a row can really take the wind out of your sails and make a project more frustrating than fun.

The only thing I can say to this is just try to stick with it, even if it means taking a break for a few days. When you take a little break, don't start a brand new project, just start a small side project, such as, build a space invaders clone in 72 hours. By finishing even a small project you will get an injection of energy that you can bring into your stalled project.

Also try to look at those tough errors as a learning experience. Those are the errors that you will always remember the solution too. It gets even more satisfying when you can use that solution to help answer a question in the forums.
"None of us learn in a vacuum; we all stand on the shoulders of giants such as Wirth and Knuth and thousands of others. Lend your shoulders to building the future!" - Michael Abrash[JavaGaming.org][The Java Tutorial][Slick][LWJGL][LWJGL Tutorials for NeHe][LWJGL Wiki][jMonkey Engine]
I am writing a lot of mathematical implementations for my current project. Its boring as hell sometimes I just sit there and think about the most efficient way to implement it.

At former times I had an idea, began to implement it bang somewhen I lost interest and skipped it.
Now to keep me motivated I perform extensive unit testing on the individual modules which is actually some sort of feedback and the conciousness that it actually works.

Poor design is often a matter for lack of motivation since project complexity increases more and more.

I suggest you to divide your implementation ideas into tiny well design components and perform unit testing this has the advantage, you get reuseable and reliable code that shortens production times on the long run.

And don t start with side projects all the time, work on what you need to proceed with you current project. Just start working on it and you will most likely get motivated again.
http://www.8ung.at/basiror/theironcross.html
p.s.: As jester mentioned already, investigate a little and make sure you understand what you are doing, this makes you feel a whole lot better
http://www.8ung.at/basiror/theironcross.html
Quote:Original post by Mad_Koder...and whalah...


The word is voilà, a french word equivalent of "ta da!", "presto change-o", or any sudden "look there"-type phrase (which is, incidentally, to what 'voilà' translates: voi=look, là=there). "Whalah" is a (likely American) mispronunciation of an actual word.

ItsDoh really hit the nail on the head. Writing 10k lines of code without some sort of "press the bar, get a cookie" obvious or visual reward is difficult if you haven't been programming for long. You can do things to ease your way into larger projects, such as utilizing libraries which do a lot of stuff for you and save you time. The other side of this might be that you aren't working from a design plan, even something simple like:

1. write a reusable sprite library
2. write a resource manager
3. write a config-file reader
4. write a level-map handler
5. ???
6. profit!

A project seems insurmountable when you have something like "step 1... write a game!", but if you actually break the project down into manageable parts like "step 1... write a cpp/h file for reading and playing sounds in stereo", then the job gets that much easier.



I either work a smaller project, or go and play a really graphics intensive game.

1. For the former, I recently decided that I have many, many, many wallpapers, but I don't like having a single one all the time, and I don't like wasting time selecting and changing the wallpaper, so I wrote a program to do it for me.

It started out just finding all the files with a particular extension in a particular directory, selecting one at random and setting the desktop wallpaper to it. Then I developed a small file format so it would keep track of the wallpapers that has been displayed for a single directory (each directory has their own file) and after all the wallpapers in the directory has been displayed, it would reset the file and start all over again.

Then I included support for more than 1 directory (the directories are also chosen from randomaly at runtime), and finally, most recently, I've included tinyXML so I can load the directories and other info from a config file.

That's what I do when I feel unmotivated with my graphics engine. It usually takes only a day or two to include a new feature to my wallpaper program from conception to compiling the release code so I can use the program.

2. For the latter, I recently bought Sin Episodes, and sometimes I just play that and get all excited by the graphics. I keep saying to myself "I want my engine to look like that!" and I then get enough excitement to go and do some more coding.

With me, once I add a feature and work out all the bugs, it's huge, clunky, awkward code. I make a backup, and then I refine the code to make it smaller, if possible, and easier to use. I find that I also have more motivation if, to use something that I finished writing a couple of days ago, I only have to write a line or two, instead of (sometimes) 10 or more.
[size="2"][size=2]Mort, Duke of Sto Helit: NON TIMETIS MESSOR -- Don't Fear The Reaper
I usually don't finish the projects I start, too, probably for the same reasons as you. The two exceptions where I can find the motivation to keep the work up are my 4 Elements project and my OS project (the OS project marginally so, I don't work on it that much but I haven't abandoned it, I go and add a new feature every now and then).

Here's what the main loop of my 4E project would look like:

try{    while (1)    {        beginWorkOnFeature();        if (getDistracted)            if ((rand()%2) == 1)               stareAimlesslyOutWindow();            else               workOnArt();        halfFinishFeature();        if (getDistracted)          if ((rand()%2) == 1)             playOrbiter();          else             goReadaBook();        if (testNewFeature() == FEATURE_WORKS)           throw ("WTF?! It worked and it's not even half finished!");        else        {           finishFeature();           debugFeature();        }        goReadaBook();        stareAimlesslyOutWindow();        workOnHomework();        for (int loops = 0; loops < 3; loops++)            playOrbiter();        study();        if (fixOldFeature() != FEATURE_WORKS)           throw ("Wahhhh. It doesn't work!");        workOnMusic();        workOnArt();        boredomTrance(2);    }}catch (...){    std::cout << "Something odd has happened." << std::endl;    boredomTrance(5);    while (!bugsFixed)    {          if (fixOldBugs() == NEW_BUGS)         {            if (fixNewBugs() == FEATURE_WORKS)               bugsFixed = 1;            else               sleep(28800000);         }     }}


It seems to work sometimes. [smile]
Hahaha, I seem to be a user of lib-boredom (with aimless staring of boredom trance), in fact, while writing this sentance I (ab)used stareAimlessAtWindow() :(
Ollie"It is better to ask some of the questions than to know all the answers." ~ James Thurber[ mdxinfo | An iridescent tentacle | Game design patterns ]

This topic is closed to new replies.

Advertisement