Вікі
Фізика гри Chrome Dino
Як було розроблено відчуття стрибка T-Rex

Поточна фізика Chrome Dino знаходиться в модулях TypeScript Chromium. Стрибок починається з початкової висхідної швидкості, скоригованої поточною швидкістю, і гравітація змінює цю швидкість при кожному оновленні. Відпускання клавіші стрибка після налаштованої мінімальної висоти дозволяє endJump обмежити висхідну швидкість до швидкості падіння, створюючи коротшу дугу. Стрілка вниз під час польоту встановлює стан швидкого падіння та множить вертикальне зміщення на налаштований коефіцієнт. Виявлення зіткнень використовує кілька вирівняних по осях коробок для біжучого T-Rex та кожної перешкоди, що точніше апроксимує форми спрайтів, ніж один великий прямокутник. Це звичайна геометрія зіткнень з кількома коробками, а не час койотів. The Jumping Dino використовує власну мобільну фізику, і не слід припускати, що вона поділяє константи Chromium.
Фізика стрибків детально
Звичайна конфігурація стрибка використовує гравітацію 0.6, мінімальні та максимальні значення висоти стрибка 30, початкову швидкість стрибка -10 та швидкість падіння -5. startJump віднімає speed / 10 від початкової швидкості. Відпускання клавіші стрибка викликає endJump; після досягнення мінімальної висоти цей метод обмежує швидкість, що все ще зростає, до -5, щоб спуск починався раніше. Швидке падіння замість цього встановлює швидкість стрибка на 1 і множить вертикальне зміщення на коефіцієнт швидкого падіння 3. Джерело не стверджує фіксованого відсоткового зменшення часу перебування в повітрі.
Виявлення зіткнень та дизайн хітбоксів
Біжучий T-Rex використовує шість коробок зіткнень; присідання використовує одну ширшу коробку. Визначення маленького кактуса, великого кактуса та птеродактиля надають власні коробки. Код зіткнень зміщує ці коробки за поточними позиціями спрайтів та перевіряє перекриття. Самі коробки не множаться на значення швидкості гри. Рух використовує час, що минув кадру, а модуль констант визначає еталон 60 FPS для анімації та розрахунків руху.
Прогресія швидкості та її вплив на відчуття
Нормальний режим починається зі швидкості 6, додає 0.001 за активне оновлення та обмежується 13. Очки округлюються від відстані, помноженої на 0.025. При номінальному таймінгу 60 FPS ці константи досягають межі близько 1660 очок, а не 700. Швидший рух перешкод зменшує доступний час на екрані, тоді як startJump також робить початкову швидкість запуску трохи більш негативною зі зростанням швидкості. Точні вікна реакції залежать від ширини вікна перегляду, ширини перешкоди, випадкового проміжку, поточної швидкості та часу введення, тому джерело не підтримує одну універсальну мілісекундну цифру.

