When the Right thing can be the Wrong thing

posted in I am a duck
Published April 27, 2011
Advertisement
[font=arial, verdana, tahoma, sans-serif][size=2]For 98% of us working on side projects the biggest obstacle to reaching the finish line isn't a lack of technical expertise or a dearth of design ideas. The #1 cause of project death is motivation, or more accurately a lack of motivation. We all have real life getting in the way of things on a daily basis and it can be hard to really buckle down and write some code or make a model. I like to think that I'm pretty good at keeping motivation high with some techniques that I've learned over the years along with finding a right level of being hard on myself without being too harsh but that doesn't mean I always succeed. In the past couple of weeks the amount of progress I've been making has been under par. I could blame it on work being busy or not getting enough sleep but an honest assessment showed that the reason was the top item on my todo list.

Having fun is more important than being good[/font]

Due to some problems I ran into while getting spot lights to work in my shaders I came to the conclusion that I would like to have the ability to switch back and forth from the fixed function and the programmable pipelines. I also figured it would be a good feature to be able to target older systems that didn't support GLSL. With this in mind I added the item to the top of my todo list and felt good about doing the "right" thing next. It was at this point that forward progress slowed to a crawl on my project.

The biggest problem with this work item is that I don't really gain anything out of it in the short term. I've already got things rendering fine with my current system so adding fixed pipeline wasn't going to visibly change anything. As for targeting older machines I am barely ready to start prototyping so I'm only going to be running things on my laptop which supports my current pipeline just fine. Despite these issues staring me in the face I still was trying to plod on with this work item but I found myself reading forums and watching hockey more than coding.

Finally after a week of making very little progress and feeling bad about it I decided to figure out if I really needed to be doing this work. A quick look at the Steam hardware survey and a similar one from Unity showed that the number of users with cards that only supported fixed function was noticeable but not necessarily an issue if I couldn't target them. When you add in the fact that I don't have a known end target in mind for my current project one can assume that the number will go down by then. I also thought of some of the things I have in mind to implement and I wasn't entirely sure how I was going to do them in fixed function. The long and short of it was that I finally just decided to say F' it for now. I can always go back and do this work later if I decide that I really need to but there's no reason it has to be high on my priority list right now. With that decision out of the way I felt refreshed and excited to code again. I finished up integrating OIS for joystick support earlier this week and am finally getting ready to start prototyping.

Sometimes deciding to not do something is the best way to make forward progress.
Previous Entry More Low Lights
2 likes 1 comments

Comments

zarfius
Nice post.

One of they key issues here is trying to implement something that's hard to test. If you had a machine that your game doesn't run on, it would be much easier to do the work required to get it to run.

I also happen to agree that you shouldn't worry about too much about optimising your game to run on old computers unless that's your target market. I've fallen into this trap before. It would be interesting to know what kind of games those people play that have computers without GLSL support.
May 06, 2011 12:36 AM
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Advertisement
Advertisement