Keeping up morale?
Moderator: InsideQC Admins
20 posts
• Page 1 of 2 • 1, 2
Keeping up morale?
Just a general engine project question.
How do you keep up morale when something explodes in your face? Or explodes in your face 20 times? Or you get a bug that is insidiously hard to identify the cause?
Putting aside the 10 years of work in DarkPlaces, FTEQW comes across to me as the engine most likely to have had countless setbacks. Then again, MH must have his plans foiled 30 times in building an engine almost from scratch with DirectQ, yet in a year and a half plus it is here. I know R00k has had modifications blow up on him when he'd prefer to be doing other things (like Qrack 1.90 and you couldn't walk up steps or something like that). I used the "Rich Whitehouse" bbox fix that R00k posted only for someone to complain that one of the hipnotic map keys fell out of the level.
At the moment, I'm messing with the PSP build of ProQuake and the PSP engine gives me more headaches than any engine ever. It makes playing around with Linux libraries look like child's play. You have code that works in any other operating system and the PSP hates it.
My answer to the engine morale question: there is no question ... you never give up, you stay 'til the fights won.
Still ... some days it is easier to say that than others.
How do you keep up morale when something explodes in your face? Or explodes in your face 20 times? Or you get a bug that is insidiously hard to identify the cause?
Putting aside the 10 years of work in DarkPlaces, FTEQW comes across to me as the engine most likely to have had countless setbacks. Then again, MH must have his plans foiled 30 times in building an engine almost from scratch with DirectQ, yet in a year and a half plus it is here. I know R00k has had modifications blow up on him when he'd prefer to be doing other things (like Qrack 1.90 and you couldn't walk up steps or something like that). I used the "Rich Whitehouse" bbox fix that R00k posted only for someone to complain that one of the hipnotic map keys fell out of the level.
At the moment, I'm messing with the PSP build of ProQuake and the PSP engine gives me more headaches than any engine ever. It makes playing around with Linux libraries look like child's play. You have code that works in any other operating system and the PSP hates it.
My answer to the engine morale question: there is no question ... you never give up, you stay 'til the fights won.
Still ... some days it is easier to say that than others.
The night is young. How else can I annoy the world before sunsrise?
Inquisitive minds want to know ! And if they don't -- well like that ever has stopped me before ..
-

Baker - Posts: 3666
- Joined: Tue Mar 14, 2006 5:15 am
more or less
i usually just walk away but through the magic of restless grey matter combined with a natural stubberness i allways seem to end up at the keyboard later with fresh ideas.
else i just go kick my neighbors dog
nah 
i usually just walk away but through the magic of restless grey matter combined with a natural stubberness i allways seem to end up at the keyboard later with fresh ideas.
else i just go kick my neighbors dog
-

revelator - Posts: 2567
- Joined: Thu Jan 24, 2008 12:04 pm
- Location: inside tha debugger
Never give up, never surrender!
The key thing is to be aware of the possible side-effects a single change can have, and to keep those side-effects confined to the module/unit in which you're breaking.
Keep it clean, fix the actual bug and not the side effects.
If you do find you have an 'unsolvable' bug, just put it aside for a few weeks and come back to it fresh. In doing so, you'll likely end up aproaching the bug from a different angle, and that can be all that is required to fix it. Multiple checkouts of the same repository can help, if you're disciplined enough to make the fixes in the correct one (if I remember, LH has about 5 such checkouts). Personally I'm not quite disciplined enough for that, so I just commit only the files that I believe to be okay - which generally means I forget to commit everything required, but hey.
Treat bugs as a challenge. Something to be understood and solved. Think of the satisfaction you'll get when you finally find out what it was. An individual solved bug can be as (mentally) rewarding when solved as a programming in an entire new model format or whatever.
The key thing is to be aware of the possible side-effects a single change can have, and to keep those side-effects confined to the module/unit in which you're breaking.
Keep it clean, fix the actual bug and not the side effects.
If you do find you have an 'unsolvable' bug, just put it aside for a few weeks and come back to it fresh. In doing so, you'll likely end up aproaching the bug from a different angle, and that can be all that is required to fix it. Multiple checkouts of the same repository can help, if you're disciplined enough to make the fixes in the correct one (if I remember, LH has about 5 such checkouts). Personally I'm not quite disciplined enough for that, so I just commit only the files that I believe to be okay - which generally means I forget to commit everything required, but hey.
Treat bugs as a challenge. Something to be understood and solved. Think of the satisfaction you'll get when you finally find out what it was. An individual solved bug can be as (mentally) rewarding when solved as a programming in an entire new model format or whatever.
- Spike
- Posts: 2892
- Joined: Fri Nov 05, 2004 3:12 am
- Location: UK
It's down to your own attitude. Even a failure is an opportunity to learn something new and you need to take and use that opportunity. Ever forward!
If you're upset or annoyed over something that doesn't work for you I think it's important to let yourself get upset and annoyed; it's mentally healthier that way.
Knowledge of when you're in over your head or going down the wrong route, and when it's time to back up and rethink is vital.
Play to your own strengths but don't be afraid to gently push at your limits; you'll have more fun that way.
If it stops being fun then stop doing it! Take a break, do something different for a while, take some time out to rediscover why you're doing it in the first place.
Keep perspective. Is it the end of the world? Does anybody die? No.
Enjoy Quake modding as part of a balanced diet. Have other interests, socialise, take holidays, all the rest of the good stuff. You'll enjoy it more if it's something that you can walk away from at any moment without your doing so having a major impact on your life.
If you're upset or annoyed over something that doesn't work for you I think it's important to let yourself get upset and annoyed; it's mentally healthier that way.
Knowledge of when you're in over your head or going down the wrong route, and when it's time to back up and rethink is vital.
Play to your own strengths but don't be afraid to gently push at your limits; you'll have more fun that way.
If it stops being fun then stop doing it! Take a break, do something different for a while, take some time out to rediscover why you're doing it in the first place.
Keep perspective. Is it the end of the world? Does anybody die? No.
Enjoy Quake modding as part of a balanced diet. Have other interests, socialise, take holidays, all the rest of the good stuff. You'll enjoy it more if it's something that you can walk away from at any moment without your doing so having a major impact on your life.
We had the power, we had the space, we had a sense of time and place
We knew the words, we knew the score, we knew what we were fighting for
We knew the words, we knew the score, we knew what we were fighting for
-

mh - Posts: 2292
- Joined: Sat Jan 12, 2008 1:38 am
I think the think that has kept me going over the years in challenging times is just remembering why I am working on things to begin with. Sometimes, when things get tough you can either really bear down and focus, or take a little break and reflect. Both have worked at various times for me.
Generally the longer you work on an engine, the more challenging the tasks become. In 2005, adding bloom and shaders were the big tasks for me. In 2010, it was skeletal animation and ragdoll physics.
Generally the longer you work on an engine, the more challenging the tasks become. In 2005, adding bloom and shaders were the big tasks for me. In 2010, it was skeletal animation and ragdoll physics.
http://red.planetarena.org - Alien Arena and the CRX engine
- Irritant
- Posts: 250
- Joined: Mon May 19, 2008 2:54 pm
- Location: Maryland
i generally take a break from what ever im doing... i guess thats why people in the "industry" call me a "jack of all trades" but it helps me keep on task and even accomplish things quicker than some might. if im having issues with something and its frustrating me, i just work on something else releated to my project.
-

ceriux - Posts: 2223
- Joined: Sat Sep 06, 2008 3:30 pm
- Location: Indiana, USA
Well, what worked this time: Work on some less aggravating changes and get some you really want done that are easier ... after a string of those, you get your confidence higher again and a better perspective to have a another go a tough issue.
/Yeah others basically said that above, but I went through this whole ordeal today and I kept wanting to watch a movie instead or go on a beer run -- but instead of wasting those several hours I set my sights lower, knocked off some lower priority stuff and felt up to it again.
/Yeah others basically said that above, but I went through this whole ordeal today and I kept wanting to watch a movie instead or go on a beer run -- but instead of wasting those several hours I set my sights lower, knocked off some lower priority stuff and felt up to it again.
The night is young. How else can I annoy the world before sunsrise?
Inquisitive minds want to know ! And if they don't -- well like that ever has stopped me before ..
-

Baker - Posts: 3666
- Joined: Tue Mar 14, 2006 5:15 am
Baker wrote: I kept wanting to watch a movie instead or go on a beer run
Haha Baker. Distractions are there and waiting. One day, it took me over 3 hours to do a simple homework assignment, because I kept getting distracted by so much.
-

Mexicouger - Posts: 514
- Joined: Sat May 01, 2010 10:12 pm
It took me about two years to figure out how to implement translucent water in Makaqu. From the very start I felt I was never going to figure it out, I kept looking at the code and feeling myself completely dumb. Several times I tried to understand it, several times I tested different approaches, and failed every time until someday it started to become clear to me and then I got it right.
I gave up a lot of times on implementing it, but for some reason I kept coming back to try again.
In my case it's like I have no choice, I simply know when I won't definitely give up on something.
Also, keeping your mental health in shape helps a lot. I keep my personal life completely away from my development blog, and this helped me a lot to keep any negative thoughts out of my head when I'm coding, which in turn also made me feel better.
Spending some time with the family, cleaning the house, and generally doing productive things that aren't computer-related can also help.
I gave up a lot of times on implementing it, but for some reason I kept coming back to try again.
In my case it's like I have no choice, I simply know when I won't definitely give up on something.
Also, keeping your mental health in shape helps a lot. I keep my personal life completely away from my development blog, and this helped me a lot to keep any negative thoughts out of my head when I'm coding, which in turn also made me feel better.
Spending some time with the family, cleaning the house, and generally doing productive things that aren't computer-related can also help.
-

mankrip - Posts: 915
- Joined: Fri Jul 04, 2008 3:02 am
Yea, I was working on a function, and I took multiple approaches to it, and I couldn't get it.
So I went to school and thought about it, and I could come up with solutions to it easier. They came to me when I didn't have as active of a mind. It really does help to go do something else if you are stumbled on something.
So I went to school and thought about it, and I could come up with solutions to it easier. They came to me when I didn't have as active of a mind. It really does help to go do something else if you are stumbled on something.
-

Mexicouger - Posts: 514
- Joined: Sat May 01, 2010 10:12 pm
I've no experience in engine development, but am sure that your question spans across many programming scenarios.
I recently had VB dump three weeks of work.... it was there... then WOOSH! It just zapped several items from the GUI I was working on!
I ALWAYS back things up... with the exception of this last time
Talk about a morale drop. I absolutely wanted to scream!
However, I got up, took a shower, went to bed, then came back to the project two days later with additional ideas to implement as I rebuild what I had lost.
I felt mentally regrouped and looked forward to the new additions!
I recently had VB dump three weeks of work.... it was there... then WOOSH! It just zapped several items from the GUI I was working on!
I ALWAYS back things up... with the exception of this last time
Talk about a morale drop. I absolutely wanted to scream!
However, I got up, took a shower, went to bed, then came back to the project two days later with additional ideas to implement as I rebuild what I had lost.
I felt mentally regrouped and looked forward to the new additions!
Good God! You shot my leg off!
-

Junrall - Posts: 191
- Joined: Mon Sep 21, 2009 12:27 am
- Location: North West Oregon, USA
I know how that feels. If you reload a workspace that wasn't closed properly (let's say, due to a power failure), Visual C++ 6 has a bad habit of DELETING every source file that was opened in that workspace.
That happened to me many years ago when I was coding something about the sky or the skybox renderer, and I had to rewrite the whole file from my memory before I started forgetting what I had just spent several hours coding.
In the end it was really fun, it was exciting to see that I could still remember each line of code.
That happened to me many years ago when I was coding something about the sky or the skybox renderer, and I had to rewrite the whole file from my memory before I started forgetting what I had just spent several hours coding.
-

mankrip - Posts: 915
- Joined: Fri Jul 04, 2008 3:02 am
I know FrikaC made a cgi-bin version of the quakec interpreter once and wrote part of his website in QuakeC
(LordHavoc)
-

frag.machine - Posts: 2090
- Joined: Sat Nov 25, 2006 1:49 pm
Nowadays I'm using Code::Blocks instead and I have this UPS, so I don't have this problem anymore.
And I'm still procrastinating about using Google's Mercurial repository, mainly because it will take a lot of boring work to make it track all changes from the vanilla Quake source to all released versions of Makaqu, and I feel more motivated to do coding work instead. Figuring out how to implement color blending in BSP entities is being far more interesting, and it's something I was going to do anyway.
And I'm still procrastinating about using Google's Mercurial repository, mainly because it will take a lot of boring work to make it track all changes from the vanilla Quake source to all released versions of Makaqu, and I feel more motivated to do coding work instead. Figuring out how to implement color blending in BSP entities is being far more interesting, and it's something I was going to do anyway.
-

mankrip - Posts: 915
- Joined: Fri Jul 04, 2008 3:02 am
also a codeblocks user its rather good
if you look for a mercurial client i got one in my own compiler suite. native mingw python build also. might be an idea to see if the codeblocks plugin coders would find it usefull to include mercurial as a plugin.
if you look for a mercurial client i got one in my own compiler suite. native mingw python build also. might be an idea to see if the codeblocks plugin coders would find it usefull to include mercurial as a plugin.
-

revelator - Posts: 2567
- Joined: Thu Jan 24, 2008 12:04 pm
- Location: inside tha debugger
20 posts
• Page 1 of 2 • 1, 2
Who is online
Users browsing this forum: No registered users and 1 guest