If you'd like to support our preservation efforts (and this wasn't cheap), please consider donating or supporting us on Patreon. Thank you!
User:Juanmv94/Temp
| T-Rex runner |
|---|
|
Also known as: Google Chrome T-Rex
|
The T-Rex minigame from Google Chrome is one of the most known easter eggs ever. It can be accesed pressing the space bar, or touching the dinosaur on touchscreen devices when the offline error is shown. It can also be accesed at chrome://dino.
Contents
Game Over Dino Early Sprite
Dino sprites are coloured dark gray with a thin white border. The sprite when the dino collides with an obstacle is the only dino sprite with this border removed, This allows to see the dino collision without a thin white separation. However, the original unused game over dino sprite, wasn't removed from the sprites file.
| The unused sprite: |
| The used sprite: |
Debugging Features
Collision Boxes
function checkForCollision() can acept the canvas context as an optional third parameter. If done, coloured collision boxes are drawn for the dino and the next obstacle.
Unused Debugging Function
There's a function updateConfigSetting(setting, value) used only for debugging purposes that allowed to easily change some game variables while playing.
The settings this function can change are: GRAVITY, MIN_JUMP_HEIGHT, SPEED_DROP_COEFFICIENT, INITIAL_JUMP_VELOCITY, and SPEED.
The code for this function is the following:
/**
* Setting individual settings for debugging.
* @param {string} setting
* @param {*} value
*/
updateConfigSetting: function (setting, value) {
if (setting in this.config && value != undefined) {
this.config[setting] = value;
switch (setting) {
case 'GRAVITY':
case 'MIN_JUMP_HEIGHT':
case 'SPEED_DROP_COEFFICIENT':
this.tRex.config[setting] = value;
break;
case 'INITIAL_JUMP_VELOCITY':
this.tRex.setJumpVelocity(value);
break;
case 'SPEED':
this.setSpeed(value);
break;
}
}
},
Author Comments
T-Rex runner is developed in HTML5, making it's source code accesible. This source code is fully commented.
ASCII Art Collision Details
The collision related code have a commented ASCII art to explain how does it work.
// Make collision box adjustments,
// Central box is adjusted to the size as one box.
// ____ ______ ________
// _| |-| _| |-| _| |-|
// | |<->| | | |<--->| | | |<----->| |
// | | 1 | | | | 2 | | | | 3 | |
// |_|___|_| |_|_____|_| |_|_______|_|
//
Hidden Buttons
At the bottom of the offline page, there's a hidden button container with three hidden buttons without separation. The top of this hidden container has a degradated effect for the error message upside. These three buttons were intended to be a download button, a reload button, and a show saved copy button. The download button is the only button with content, having an icon. Pressing the download button just disables the button changing it's color, and pressing the two last buttons will reload the page.
