This is an updated version of the t-rex-runner game, originally extracted by wayou/t-rex-runner
source from chromium
You can find a online version at https://litetex.github.io/t-rex-runner/
Unfortunately it's only possible to run the code on a webserver.
You can find the exact reason here
A simple predefined image exists at DockerHub
However here is a quick setup if you wan't to build it yourself using docker
- Get Docker
- Build it with
docker build -t my-trex-runner-demo .- Start it with
docker run --rm -it --name trex-runner-demo -p 8080:80 my-trex-runner-demo- Open http://localhost:8080
- Shutdown the server/container with
Ctrl + Cor by running
docker rm -f trex-runner-demoAll in one:
docker build -t my-trex-runner-demo . && docker run --rm -it --name trex-runner-demo -p 8080:80 my-trex-runner-demo- Clone the chromium repo
- Chromium is a really large repo (as of now it has nearly 1 million Commits and the default branch with only the latest commits alone consumes 4GB of disk memory) so you should clone it only optimized:
git clone --depth 1 --branch master https://chromium.googlesource.com/chromium/src - Check the dependencies of the neterror component html page
- More details can also be found in this build file
- Currently the components
components/neterrorandcomponents/security_interstitialsare required, so let's extract them - Extract those dependencies (copy the directories) into a new directory
- Clean not required stuff from the html file, e.g. i18n or not used parts of the div
- The sounds have to be served encoded in Base64, so encode them and add them directly
- Remove the complicated
neterror.jsand replace it at the end of the body with a simple<script>new Runner('.interstitial-wrapper');</script> - Clean up
offline.jsby removing external dependencies or merging them into the file
e.g.loadTimeDatais only used to determine if the game should be disabled, which we totally don't need - The JS-Constant
<script>const HIDDEN_CLASS = 'hidden';</script>is required - Simplify the stylesheets into a single one and clean up not required stuff
- Remove unnecessary images
