I think I touched on this briefly earlier in the thread, but it's more intuitive to start everything from 1. You don't write your shopping list starting with item 0 (unless you've been a programmer way too long
I think the reason computers traditionally index from 0 is because the address of the n
th element in an array starting at address a
is a + (n * size)
, which just so happens to mean the first element is the one with n = 0. If you did it 1-based, it'd be a + ((n - 1) * size)
, which introduces another subtraction operation, which in the 70s or 80s (when all this stuff was being designed), meant your computer could run significantly slower.
That's not really relevant today, especially in Construct which has such large overheads for the event engine, it makes no difference performance wise whether we choose 0-based or 1-based. 1-based is more intuitive, as mentioned above, so we go for that.