Toda velocidade é dada em função de um tempo. Você não fala “meu carro anda a 100km”. Você fala “meu carro anda a 100km por hora”. Quando você diz que quer que seu personagem mova “100 pixels” seria 100 pixels “por segundo”, ou mesmo “por décimo de segundo”.
É para isso que o tempo é usado. Se quiser entender melhor o conceito, leia: Ponto V! - Animação baseada em tempo.
Tenho um artigo que explica, em Java, como fazer um algoritmo de loop de animação bastante constante. Você até poderia desprezar o tempo nas fórmulas se utilizá-lo pois, efetivamente, você teria uma taxa fixa de quadros por segundo e, portanto, um tempo fixo (em 60FPS seria de 1/60 segundos, ou 16ms). Assim, toda velocidade que você colocar será pela unidade de 1/60 segundos.
O artigo já está linkado ali em cima, é o “O loop de animação”.
O game loop e o controle de tempo são uma das partes mais importantes de um jogo. É ele que vai fazer o jogo rodar de maneira fluída, ou não. E é ele que garantirá que o jogo roda de maneira homogênea em todas as máquinas. Sem o controle por tempo, você pode ter o jogo bem regulado na sua máquina, mas totalmente desregulado na do seu professor. Uma situação que com certeza você não irá querer passar.