why in gamedev do some things that seem like they should be easy take hours and days, whereas some things that seem like they're going to take forever ?