Forum

Keeping up morale?

Discuss programming topics for the various GPL'd game engine sources.

Moderator: InsideQC Admins

Keeping up morale?

Postby Baker » Thu Oct 07, 2010 6:07 am

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.
The night is young. How else can I annoy the world before sunsrise? 8) Inquisitive minds want to know ! And if they don't -- well like that ever has stopped me before ..
User avatar
Baker
 
Posts: 3666
Joined: Tue Mar 14, 2006 5:15 am

Postby revelator » Thu Oct 07, 2010 10:05 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 :twisted: nah :lol:
User avatar
revelator
 
Posts: 2567
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

Postby Spike » Thu Oct 07, 2010 12:08 pm

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.
Spike
 
Posts: 2892
Joined: Fri Nov 05, 2004 3:12 am
Location: UK

Postby mh » Thu Oct 07, 2010 1:11 pm

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. :D
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
User avatar
mh
 
Posts: 2292
Joined: Sat Jan 12, 2008 1:38 am

Postby Irritant » Thu Oct 07, 2010 3:47 pm

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.
http://red.planetarena.org - Alien Arena and the CRX engine
Irritant
 
Posts: 250
Joined: Mon May 19, 2008 2:54 pm
Location: Maryland

Postby ceriux » Thu Oct 07, 2010 7:17 pm

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.
User avatar
ceriux
 
Posts: 2223
Joined: Sat Sep 06, 2008 3:30 pm
Location: Indiana, USA

Postby Baker » Thu Oct 07, 2010 8:58 pm

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.
The night is young. How else can I annoy the world before sunsrise? 8) Inquisitive minds want to know ! And if they don't -- well like that ever has stopped me before ..
User avatar
Baker
 
Posts: 3666
Joined: Tue Mar 14, 2006 5:15 am

Postby Mexicouger » Thu Oct 07, 2010 10:19 pm

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.
User avatar
Mexicouger
 
Posts: 514
Joined: Sat May 01, 2010 10:12 pm

Postby mankrip » Fri Oct 08, 2010 3:33 am

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.
Ph'nglui mglw'nafh mankrip Hell's end wgah'nagl fhtagn.
==-=-=-=-=-=-=-=-=-=-==
Dev blog / Twitter / YouTube
User avatar
mankrip
 
Posts: 915
Joined: Fri Jul 04, 2008 3:02 am

Postby Mexicouger » Fri Oct 08, 2010 4:17 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.
User avatar
Mexicouger
 
Posts: 514
Joined: Sat May 01, 2010 10:12 pm

Postby Junrall » Fri Oct 08, 2010 7:29 am

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 :roll:

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!
User avatar
Junrall
 
Posts: 191
Joined: Mon Sep 21, 2009 12:27 am
Location: North West Oregon, USA

Postby mankrip » Fri Oct 08, 2010 3:53 pm

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.

:lol: In the end it was really fun, it was exciting to see that I could still remember each line of code.
Ph'nglui mglw'nafh mankrip Hell's end wgah'nagl fhtagn.
==-=-=-=-=-=-=-=-=-=-==
Dev blog / Twitter / YouTube
User avatar
mankrip
 
Posts: 915
Joined: Fri Jul 04, 2008 3:02 am

Postby frag.machine » Fri Oct 08, 2010 4:17 pm

May be a good solution for this case:

http://lifehacker.com/188582/hack-attac ... ion-server
I know FrikaC made a cgi-bin version of the quakec interpreter once and wrote part of his website in QuakeC :) (LordHavoc)
User avatar
frag.machine
 
Posts: 2090
Joined: Sat Nov 25, 2006 1:49 pm

Postby mankrip » Fri Oct 08, 2010 5:10 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.
Ph'nglui mglw'nafh mankrip Hell's end wgah'nagl fhtagn.
==-=-=-=-=-=-=-=-=-=-==
Dev blog / Twitter / YouTube
User avatar
mankrip
 
Posts: 915
Joined: Fri Jul 04, 2008 3:02 am

Postby revelator » Fri Oct 08, 2010 9:39 pm

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.
User avatar
revelator
 
Posts: 2567
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

Next

Return to Engine Programming

Who is online

Users browsing this forum: No registered users and 1 guest