What You Need to Know Before You Start

I spent a lot of time in 2019 building a simple Chrome extension that let teachers turn the offline dinosaur game into a math practice tool. It was supposed to be quick work. I had a list of about forty school accounts ready to go when Google updated their Web Store policies and removed every educational extension in a single sweep. I kept one copy on my hard drive and moved on, but that experience taught me a few things about how this actually works under the hood that most people writing about it don't bother mentioning. The concept is straightforward enough. You take the basic T-Rex runner script that Google baked into Chrome years ago and overlay a math question renderer on top of it. The dinosaur jumps when you hit space or click the screen, but instead of random cacti appearing, each obstacle is tagged with a multiplication problem or addition fact depending on the difficulty setting you choose. Get the answer right and the jump plays normally. Get it wrong and the dinosaur hits the obstacle and the run ends. Here is the thing nobody tells you about the timing. The game loop runs at sixty frames per second. When you are typing answers under time pressure, the browser has to parse your input, evaluate correctness, and feed the result back into the game loop before the next frame renders. If the page has even a moderate number of other tabs open or your browser is using hardware acceleration inefficiently, you will notice a half-second delay between when you hit enter and when the jump actually registers. I saw kids consistently missing answers because they could not tell if the game was lagging or if they just typed the wrong thing. The workaround I ended up recommending was to use a dedicated input method with a numeric keypad or a number pad on the keyboard, because the Enter key path has less latency than clicking an on-screen button in most implementations.

The core mechanic boils down to three components: the question generator, the response validator, and the obstacle spawner. The question generator pulls from a pool that should be configurable by grade level. The response validator checks your answer against the generated problem. The obstacle spawner places the cactus or pterodactyl based on the correctness of your previous response. These three pieces have to stay in sync or the game becomes completely broken.

Setting Up a Self-Hosted Version

If you want to use this in a classroom or just for yourself without depending on some random extension that might disappear, the most reliable approach is running a self-hosted instance. I built mine out of the vanilla JavaScript source code from the public Chrome extensions that existed before they got pulled. The base script is only about two thousand lines of code and it runs in any modern browser without plugins or add-ons. You need a static host. GitHub Pages works fine for this. Netlify works too and gives you a custom domain for free if you want it. Upload the HTML file, the CSS, and the JavaScript and you are done. No server side processing, no database, no authentication system that can fail. The math is all computed client side in the browser. I ran into a specific problem with the difficulty scaling on the original implementation. At the harder levels, the questions started including three-digit multiplication, but the game speed did not increase proportionally. That meant students who could do the math fast were getting hit by obstacles that were moving so slowly the game became boring and unengaging within twenty minutes. The fix was adding a speed multiplier that scales with question difficulty. Simple adjustment, changed the game from something kids played twice and never touched again to something they actually came back to. I recommend making that change regardless of which version you use.

Get the Full Details

Must Escape Dinosaur Land walkthrough - Cool Math Games | Pro Game Guides
Must Escape Dinosaur Land walkthrough - Cool Math Games | Pro Game Guides

Dinosaur Game Cool Math Downside and Limitations

The main limitation is that none of the free implementations track progress the way schools actually need them to. There is no grade book integration. There is no way to export a report showing which multiplication facts a student is struggling with over time. The extension that used to handle this was discontinued when Google purged the educational extensions. So you are left with a fun game that gives you zero data about what your students are actually learning. Another practical issue is that these games usually run best on desktop browsers. Chromebooks in my school had mixed results because their processor speed was lower and the frame rate would drop during longer sessions. iPads and Android tablets are worse. Touch input plus the virtual keyboard makes answering math problems awkward enough that most kids just gave up on mobile devices entirely. If your students only have access to tablets, this is not going to work well for them. The game also does not adapt to individual student performance. Once you pick a difficulty setting, it stays fixed until you restart. A kid who is crushing single digit multiplication at the five times table level will get bored and stop paying attention after maybe thirty seconds per question. There is no adaptive engine built into any of the versions I have seen. The only real alternative for that is Khan Academy or similar platforms, but those lack the gamified momentum that makes the dinosaur game stick with kids.

What I ended up doing was setting up a rotation system where students would do ten minutes on the game and then switch to a different math tool for practice on the skills the game did not cover. It was not elegant but it worked. The game gets them engaged and motivated to practice. The other tool covers the depth that the game cannot provide. Neither replaces the other entirely. You use both and accept the gaps where they exist. The source code I used is not something I am going to link to directly since it was never officially published. But if you search for the original Chrome extension repositories that have been archived on GitHub, you will find working copies. Look for extensions that reference the public Dinosaur Game source. Most of those repos are still active and someone has already applied the speed scaling fix I described above.