Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Опечатка в документации? Или Баг в физическом движке! #90

Closed
tonykozlovsky opened this issue Dec 26, 2018 · 7 comments

Comments

@tonykozlovsky
Copy link

Неправильный рассчёт столкновения роботов при расширении.

Опытным путём в локал раннере проверить возможную ошибку не удалось, из-за сложности воспроизведения.
let delta_velocity = dot(b.velocity - a.velocity, normal) + b.radius_change_speed - a.radius_change_speed
Надо заменить на
let delta_velocity = dot(b.velocity - a.velocity, normal) - b.radius_change_speed - a.radius_change_speed
Потому что в случае, когда 2 робота одновременно "расширяются", вместо того, чтобы оттолкнуться с большей силой, они компенсируют расширение друг друга и вовсе не отталкиваются

@ivan-kudziev
Copy link

может так и задумано... если один толкает то второй отлетает, если толкают оба то гасят свои силы

@mixei4
Copy link

mixei4 commented Dec 26, 2018

Кажется, ошибка воспроизводится с клавиатуры. Если подойти вплотную к стоящему игроку и прыгнуть, то иногда робот отпрыгивает в сторону (робот a), а иногда вертикально вверх (робот b).

@tonykozlovsky
Copy link
Author

tonykozlovsky commented Dec 26, 2018

Суть в том, что оба, находясь очень близко, должны прыгнуть одновременно, и чтобы b.radius_change_speed было равно a.radius_change_speed, по этому я пока не понял, как ты предлагаешь воспроизвести

@mixei4
Copy link

mixei4 commented Dec 26, 2018

Я более простой случай рассматриваю. Если расширяется только один робот. Так вот в случае если этот робот по воле случая окажется роботом a, то слолкновение произойдёт, а если b, то нет.

@tonykozlovsky
Copy link
Author

Всё, понял, согласен, действительно результат этой формулы зависит от рандомного порядка роботов. Там ещё про модуль мысль хорошая. Действительно, если бы так было задумано, то нужен как минимум модуль.

@tonykozlovsky
Copy link
Author

А если это воспроизводится в локал раннере, то это не опечатка

@kuviman
Copy link
Collaborator

kuviman commented Dec 27, 2018

Вы правы, это был баг (не только в документации). Обновлены правила/ЛР

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants