Download on the App StoreGet it on Google Play

Wiki

Chrome Dino Game Physics

How the T-Rex's Jump Feel Was Engineered

Updated WikiFirst published
Chrome Dino Game Physics
The Jumping Dino gameplayiOS + Android

Current Chrome Dino physics live in Chromium's TypeScript modules. A jump begins with an initial upward velocity, adjusted by current speed, and gravity changes that velocity each update. Releasing the jump key after the configured minimum height lets endJump clamp the upward velocity to the drop velocity, producing a shorter arc. Down Arrow while airborne sets a speed-drop state and multiplies vertical displacement by the configured coefficient. Collision detection uses several axis-aligned boxes for the running T-Rex and each obstacle, which approximates sprite shapes more closely than one large rectangle. This is ordinary multi-box collision geometry, not coyote time. The Jumping Dino uses its own mobile physics and should not be assumed to share Chromium's constants.

01

Jump Physics in Detail

Normal jump configuration uses gravity 0.6, minimum and maximum jump-height values of 30, initial jump velocity -10, and drop velocity -5. startJump subtracts speed / 10 from the initial velocity. Releasing the jump key calls endJump; after minimum height has been reached, that method clamps a still-rising velocity to -5 so descent begins sooner. Fast-fall instead sets jump velocity to 1 and multiplies vertical displacement by the speed-drop coefficient of 3. The source does not claim a fixed percentage reduction in airtime.

02

Collision Detection and Hitbox Design

The running T-Rex uses six collision boxes; ducking uses one wider box. Small cactus, large cactus, and pterodactyl definitions each provide their own boxes. Collision code offsets these boxes by current sprite positions and checks overlap. The boxes themselves are not multiplied by the game-speed value. Movement uses elapsed frame time, and the constants module defines a 60 FPS reference for animation and motion calculations.

03

Speed Progression and Its Effect on Feel

Normal mode starts at speed 6, adds 0.001 per active update, and caps at 13. The score is rounded from distance multiplied by 0.025. Under nominal 60 FPS timing, those constants reach the cap around 1,660 score, not 700. Faster obstacle movement reduces available screen time, while startJump also makes launch velocity slightly more negative as speed rises. Exact reaction windows depend on viewport width, obstacle width, random gap, current speed, and input timing, so the source does not support one universal millisecond figure.

Topicschrome dinophysicsjump mechanicscollision detectiongame design

Play while you read

Play now or get the full game

Play the browser runner, or get the mobile app with Campaign, Infinite mode, dinosaur progression, and AI ghost races.

Sources & References

Last verified:

LEVEL UP

Love the Classic? Meet the Evolution.

The Jumping Dino takes everything you love about the Chrome dino game and turns it into a full adventure.

Campaign + Infinite + Multiplayer
Rescue eggs across 5 eras
Hatch dinos, build the Sanctuary
iOS & Android; 2 offline modes

3M+

Downloads

4.3★

Google Play rating

9.28K

Reviews

Love the Classic? Meet the Evolution.
Download on the App StoreGet it on Google Play

Answers

Frequently Asked Questions

A jump starts with an upward velocity adjusted slightly by game speed. Gravity changes that velocity each update. Releasing the jump key after the configured minimum height lets `endJump` clamp the upward velocity to the drop velocity, shortening the arc; holding does not apply a new upward boost every frame.

No. Chrome Dino uses slightly forgiving bounding box collision detection. The hitboxes are slightly smaller than the visible sprites, meaning some near-misses that look like hits still count as survival. This deliberate forgiveness makes the game feel fair.

Yes. The game applies a constant downward gravity, which means the dino decelerates going up and accelerates going down. You can also press the down arrow in mid-air to add extra downward force and land faster.

Obstacle approach speed increases. The normal jump configuration keeps gravity and height limits fixed, while `startJump` also adjusts initial jump velocity by `speed / 10`. Timing changes with both obstacle motion and that speed-aware launch velocity.

Keep exploring

Related Pages