Wow, you did an outstanding job on those credits. Your code, overall, looks pretty clean and efficient. I'm sure you already have an idea on this but I usually store true inputs in its own function (eg kLeft = Input.is_action_pressed("ui_left")) so it's always false when that function isn't called. So, that might solve the pause and inputs stuff. Anyway, looks like a solid base!