We just released a Feb. 5 '89 prototype of DuckTales for the NES!
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

From The Cutting Room Floor
< User:Juanmv94
Revision as of 22:11, 9 January 2018 by Juanmv94 (talk | contribs) (Done)
Jump to navigation Jump to search

Click to upload a new image...Dummy link

T-Rex runner

Also known as: Google Chrome T-Rex
Developers: The Chromium Authors
Platforms: HTML5
Released internationally: 2014


CodeIcon.png This game has unused code.
DevTextIcon.png This game has hidden development-related text.
GraphicsIcon.png This game has unused graphics.
TextIcon.png This game has unused text.
DebugIcon.png This game has debugging material.


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.

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: Trexrunner-unusedsprite.png
The used sprite: Trexrunner-usedsprite.png

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.
Trexrunner-collisionboxes.png

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.
Trexrunner-buttons.png