DarkTails wrote:Ask a mechanic or custom car builder the same thing. You never know what unforseen complications you're going to run into while working in a vehicle, sometimes you have to custom-make a part, sometimes you have to cut things, it's like that in many fields.
Its much more worse than that.
The more often you do something similar the better you are at predicting how much time it will take.
In case of things like "building a car", after 4th or 5th or 10th build you will know how much time will take doing ~80% of stuff (because some thing will just be same each iteration) and only like 20% of it is unpredictable (engine bit different, some new part doesnt exactly fit right etc.) You don't get new kind of engine every 2 years, and you dont redesign electric system every year.
In case of programming, especially games, base things change fairly often (new capabilites of graphic), unless youre making iterative game like another part of series, you have to do a lot of things from scratch (esp. if using new engine) some general knowledge of course can be reused (like skills in GFX design or general programming skills) but most of work is creating new stuff and that's very hard to predict.
If you do something for 5th or 10th time (like application that uses 90% of old code + few customisations tailored to client needs) it can be predicted with reasonable accuracy (tho things like "shit this will/did take x10 of allocated time because of some problems" will still happen), most games are not like that (and thank god for that), and even if "outside" of some games looks similiar it can be completely redesigned under the hood. And then there is stuff like "well this skill system we invented 3 months before it's crap, we need to make it right".
Whining about missig release date and "why it take so long" only makes fails like "Sword of the Stars II" get released way ahead of time (this game after 5 months after release is still buggy as hell and was practically unplayable on release).
Tbh I'd like game companies to say nothing about game right till 2 months before "real" launch ( i mean "testers said game is ready, now only distribution and eventually polishing/adding bonus stuff left")
When I see "hey we will make that awesomely cool game, but release will be at least 6 months from now" I'm just "why you are telling me, now I'll want this game for next 6 months".
I understand reasons (publishers want hype, game companies will get more money if publishers see that gamers are interested in game etc.) but still.