Software development on products for sale is much, much different than for some personal home project... even if the intent is to eventually sell it. Testing, code reviews, code design for maintainability, etc, all plays a roll in how long something takes.
Software development is tricky stuff. Somethings that seem incredibly complex to us, might be a very straight forward mathematical problem to a computer. Other things, which seem straight forward and simple to humans, are virtually impossible to do with a computer. It all just depends.
mrodgers, sometimes you are correct, editing and updating legacy code can take longer to do at times. But this is only if that code is part of supporting classes and data structures that are used in other parts of the program that are not being changed. Then you have to work around existing structures to get done what you need to do all the while trying not to break the other code. Sometimes it is easier to just write stuff from scratch. However, most of the time, it is the ground work that takes the time. The final implementation is fairly straight forward.
Something like getting the AI to be intelligent can be more difficult than what we would think it should be. Software does not make rational decisions and it cannot change once compiled. To make something react in a rational manner in software is quite a trick. I will be very interested to see what Scawen comes up with. Even with the restricted "rules" inside the sim, it will still be a big challenge.
Don't think to yourself that any of this is easy. People have been trying to create tire simulators for years and have only gotten them to partially work. The big question becomes "how do you test it?". There is some math that will help, but in the end, it all comes down to feel. Does it feel right? Does it behave correctly in all situations? How do you quantify that feedback and how do you turn it into verifiable computer code? Not easy stuff to do.
When I ask for a time estimate from my Engineers, I get a guess. "It will take what it takes" is the answer I get most of the time. This is because that software development can still be more of an art form than a science at times.