dpasqualin / agar.io-clone

Agar.io clone written with Socket.IO and HTML5 canvas
MIT License
1 stars 0 forks source link

Velocidade máxima das células deve ser parâmetro em config.json #2

Closed dpasqualin closed 8 years ago

dpasqualin commented 8 years ago

Atualmente eu nem sei qual é a velocidade máxima. Preciso saber disso para explicar no manual de como fazer robôs. Melhor do que saber seria colocar isso como um parâmetro no config.json.

Preciso também saber ao certo o fator de "desaceleração". Quanto mais massa uma célula tem, mais lenta ela anda. Mas quão mais lenta? Isso pode ser relevante na hora de escrever um robô.

CristianWeiland commented 8 years ago

A velocidade máxima virou um parâmetro de configuração em config.json (splitSpeed, cujo default é 25, quando o usuário se divide ou defaultSpeed, cujo default é 6.25, quando ele está andando normalmente).

O cálculo da velocidade, feito na função movePlayer, considerando que o mouse esteja fora do raio da célula, é dado por:

(Valores default: c.slowBase = 4.5, c.defaultPlayerMass = 10). initMassLog = util.log(c.defaultPlayerMass, c.slowBase); slowDown = util.log(player.cells[i].mass, c.slowBase) - initMassLog + 1;

deg = Math.atan2(target.y, target.x);

deltaY = player.cells[i].speed * Math.sin(deg) / slowDown; deltaX = player.cells[i].speed * Math.cos(deg) / slowDown;