243 ·GitHub
What is this?
A browser-only math drill game ('Dopadrill') where the visual effects and music keep escalating with every correct answer. A mascot named Dopakichi carries your typed numbers and celebrates each correct result, building toward a festival-like finale.
Is this a native app, or just a web page I open in a browser?
It's a static web app with no build step: the whole game lives in app/ as dependency-free vanilla JavaScript using ES Modules, served directly from a static file server.
How do I run it?
Serve the app/ folder with any static file server and open it in a browser. Opening it directly via file:// will not work because it relies on ES Modules.
Do I need Node.js or any build tools just to play it?
No — the game itself has zero dependencies and no build step. Node.js 20+ is only needed if you want to run the project's unit tests.
Does getting an answer wrong end the game?
No — there's no game over state, and mistakes don't reduce the escalating momentum; you just keep playing.
Does it work on a phone too, or only on PC?
It supports both smartphone portrait screens and PC, with number-key and Backspace input available on PC.
What math skills does it cover?
58 skills spanning grades 1-6 based on Japan's school curriculum, including addition, subtraction, multiplication, division (including long-division working steps), decimals, fractions, and ratios.
How does scoring work?
Answering everything correctly earns 100 points. If your first-try accuracy is 80% or higher, you unlock a timed extra round where you can score above 100.
What is the 'My Level' mode?
An adaptive mode that starts from a quick skill-check assessment and then unlocks new skills progressively as you master each one, alongside separate grade-based, practice, review, and skill-tree screens.
Are the music and sound effects actual audio files?
No — all music and sound effects are synthesized in real time with the Web Audio API; the project ships no audio files at all.
What are similar projects?
riso-windowseat, vanillawebprojects, RhineLabUI, player, -., VibeOffice, JIZURA, run-abroad
Which topics is it in?
web-audio, localstorage, mobile-web, esm, japanese, vanilla-javascript, mathematics, no-dependencies, game, gaming, audio, offline