Recompia
Pokémon Pokopia (Switch 2) recompiled to run natively on Windows with Linux/Handheld support. Multiplayer included, modding, feature enhancements and more! Join the discord community as well
Translation pending
A simple Lemmings Clone
Translation pending
GamesTypeScript · HTMLGitHub @jimjamscott22OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Loading the full README. The saved excerpt is shown below.
A lightweight Lemmings-style puzzle game in TypeScript and the HTML5 Canvas API, with no game engine, and a Tailwind CSS HUD.
Lemmings drop from a hatch and walk on their own. Shape the terrain in real time, and give individual lemmings jobs, so that enough of them reach the exit before they drown, splat, or fall into the void.
Use ./start-dev.ps1 in PowerShell or ./start-dev.sh in Bash for development with hot reload.Read the full README ↗A lightweight Lemmings-style puzzle game in TypeScript and the HTML5 Canvas API, with no game engine, and a Tailwind CSS HUD.
Lemmings drop from a hatch and walk on their own. Shape the terrain in real time, and give individual lemmings jobs, so that enough of them reach the exit before they drown, splat, or fall into the void.
npm install
npm run dev # http://localhost:5173
npm test # Vitest: physics, state machine, tools, level solvability
npm run build # typecheck + production build
Use ./start-dev.ps1 in PowerShell or ./start-dev.sh in Bash for development with hot reload.
For a production preview, run npm run build after making changes, then use
./start-preview.ps1 in PowerShell or ./start-preview.sh in Bash. The preview
scripts serve the existing dist/ directory and will explain if it has not been built yet.
| Input | Action |
|---|---|
| Click and drag | With a terrain tool selected: use it on every tile you sweep over |
| Click a lemming | With a skill selected: give it that skill (the target is outlined green if it can take it) |
1 / 2 | Select terrain tool Dig (remove dirt or bridge) / Build (place a bridge in open air) |
3–8 | Select skill Climber, Floater, Bomber, Blocker, Basher, Miner |
− / + | Slow down / speed up the release rate (1–99; hold to change quickly, or use the HUD buttons) |
Space | Pause (you can still edit terrain, give skills and change the release rate while paused) |
K | Nuke: press twice (or use the HUD button) to blow up every lemming and end a hopeless run |
F | Fast-forward ×3 |
R | Restart the level |
N | Next level (after a win) |
G | Toggle grid overlay |
L | Open the level select (Esc or L closes it) |
E | Open the level editor (E or Esc leaves it) |
H | Open the How to play guide (Esc or Close returns to the previous screen) |
Each tool and skill has limited charges per level, shown in the toolbar.
Choose How to play on the opening level select screen or in the top bar, or press H from the game, level select, or editor. The scrollable guide explains automatic lemming behavior, terrain tools, all six skills with assignment rules and practical examples, hazards, tactics, controls, progress, and the editor. Section links let you jump straight to a topic.
Gameplay freezes while the guide is open and its keyboard focus stays inside the panel. Closing it returns to the same screen and preserves your pause state.
The first lemming released from the hatch says “Let's go!”. Successfully assigning Climber, Floater, Bomber, Blocker, Basher, or Miner plays that skill's voice acknowledgement. Reaching the goal plays “Yippee!”, and finishing a level plays cheers for a win or boos for a loss. These bundled WAV samples come from the supplied game sound pack and retain their original pitch and timing. A result sound follows any voice already playing, so the last rescue isn't cut short.
Drowning plays a voice once a swimmer's endurance runs out; fatal landings and falls out of the map play a falling cry. Bombers say “Oh no!” once in the final second of their fuse. Confirming a nuke stops the current sounds and plays its own voice. Clicking a lemming that cannot accept the selected skill plays a rejection cue; empty-space clicks stay silent.
Starting or retrying a level, opening and closing menus, selecting tools, adjusting release rate, and editor buttons also use the sound pack. Keyboard shortcuts share the same feedback as buttons. UI sounds play quietly in a separate lane and repeated clicks are limited, so they cannot block gameplay voices. Paused gameplay stays silent, while deliberate UI actions still give feedback.
Digging (including the Dig tool, Basher, and Miner) and entering water keep their synthesized Web Audio effects. While samples load or if loading fails, the hatch uses its synthesized effect and a rescue uses a two-note celebration. Other gameplay voices are skipped if their samples are unavailable. UI actions use a short synthesized cue while their samples load or if loading fails. Crowded voice acknowledgements are dropped rather than queued, and assigning skills while paused stays silent.
Sound starts after a click or key press. Sound on / off in the top bar mutes all output and saves the preference in this browser. Pausing, opening the guide, level select or editor, restarting, hiding the tab, and leaving the window stop active gameplay sounds and scheduled results; the control or menu action then plays its own UI cue. No sounds are queued for later, and crowd effects are limited to avoid excessive overlap during fast-forward. Old progress saves default to sound enabled.
The game opens on a level select screen. Levels unlock in order: the first is open, and solving a level unlocks the next. Each card shows whether the level is solved, your best saved count and fastest win, and how many attempts and wins you've had. The simulation is frozen while the level select is open.
Progress is saved in your browser's localStorage: the per-level records, the level you last played (the level select starts with it highlighted, so Enter resumes it), and your grid overlay and sound preferences. The HUD shows how many levels you've solved and your best on the current level. The end-of-level panel calls out a first clear or a new best. reset progress on the level select clears it all and locks every level but the first.
The first three levels stay untimed so you can learn the tools and skills. Levels 4–8 introduce deadlines, higher save targets, and tighter budgets:
This is the beginning of the README. Read the rest at the original. Read the full README ↗