Olá Daniel, tudo bem com você?
Parabéns pela dedicação, e pela iniciativa de ir além!
Para gerar um número pseudo-aleatório, o javascript possui uma função da biblioteca Math, a Math.random(). Essa função gera um número entre 0 (incluindo o próprio 0) e 1 (excluindo o 1), e é bem útil na hora de gerar números pseudo-aleatórios - esses números não são aleatórios por padrão, pois precisam ser alimentados por uma semente (um algoritmo que é usado de base para randomizar), que no caso do JavaScript, a própria linguagem gera uma semente para você. No entanto, caso a mesma semente seja gerada, terá o mesmo resultado no número aleatório.
Como a função Math.random() gera apenas um número no intervalo [0,1), pode ser necessário fazer o tratamento desse número para atender à implementação do seu código, caso você queira por exemplo uma velocidade maior ou igual a 1, normalmente fazemos esse tratamento utilizando funções de arredondamento como Math.ceil() e Math.floor, e com o uso do operador módulo (resto da divisão inteira) %.
Para se aprofundar ainda mais, e conhecer mais sobre o Math.random(), recomendo a leitura do artigo A função Math.random() no JavaScript na criação de números pseudoaleatórios aqui da Alura e da documentação da função Math.random(), da mozilla!
Me coloco à disposição e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!