Sunday, January 24, 2010

Some things take much longer to finish than you expect, others not so much...

Predicting how long a task will take is apparently both difficult and something one I am not very good at. The reason this comes up stems from the fact that I'm using the "Student and Startup" version of FogBugz for my bug tracking needs. Besides being epically awesome in general, it also has a feature where you can set estimates on how long tasks will take. After telling it when your working on something and when you finish, it can figure out how accurate your estimates are and give you a good estimate on when you will get done with everything targeted in your current milestone.

Eitherway, FogBugz told me there was almost no chance for me to get everything done that I wanted in a week, assuming that I spend as much time as I currently am programming. I used this to punt on some "nice to have" things, and get to work on what I really wanted to have for next week. One of things was to finally finish all my issues with ranged attacks.

I finally had sorted out all the bugs and issues with lightning bolts yesterday, only to find out that I had uncovered a bunch of flaws with the other forms of ranged attack (via weapons or single target spells). Both would show the animation if you targeted an empty square, but hit nothing (and not use ammo/MP). There were three different code paths for showing ranged animations, and three different ways we were calculating targets and damaging them. Sorting all these out took a good 4 or 5 hours, but now things are more sane.

One I got that submitted, the next task was to have enemies remember where a player was if they duck out of sight. That way, they could head that way and "chase" the player. That took all of 20 minutes to implement, test, and submit. It really is a toss up sometimes, I was expecting that to take longer.

The estimate is 12 hours of work left before I can start testing the tech demo II. Time to get back to work.

1 comment:

fu said...

Indeed, estimates generally vary a good 20-200% in my experience so far. I also find that it's easy to get sidetracked by an hour on something that's trivial compared to work on a core system. I tried using Jira to track my project a bit and work in some goals, but that quickly crushed all will to work. :)