Show HN: Zsweep – Play Minesweeper using only Vim motions
1–10 of 34 posts
Re: Show HN: Zsweep – Play Minesweeper using only Vim motions
#2I’m the creator of zsweep. It’s a keyboard-centric Minesweeper clone where you play entirely using Vim motions (h, j, k, l to move; w/b to skip words; etc.).
The Backstory: I wanted to build a project to get my hands dirty with Svelte 5 and the new Runes system. I also wanted a way to practice Vim muscle memory that wasn't just typing code.
Tech Stack:
Frontend: Svelte 5 (Runes) + SvelteKit
Styling: Tailwind CSS
State: Custom Finite State Machine (FSM) for the game logic
The Challenge: One of the hardest parts was getting the "chording" logic right (where you clear multiple squares at once) while keeping the keyboard navigation feeling instant and "vim-like."
It’s open source, so if you’re curious about how Svelte 5 handles game state, feel free to poke around the code: https://github.com/oug-t/zsweep
I’d love to hear your feedback on the controls or any edge cases you find!
Re: Show HN: Zsweep – Play Minesweeper using only Vim motions
#3Hi HN, I’m the creator of zsweep. It’s a keyboard-centric Minesweeper clone where you play entirely using Vim motions (h, j, k, l to move; w/b to skip words; etc.). The Backstory: I wanted to build a project to get my hands dirty with Svelte 5 and the new Runes system. I also wanted a way to practice Vim muscle memory that wasn't just typing code. Tech Stack: Frontend: Svelte 5 (Runes) + SvelteKit Styling: Tailwind C…
Re: Show HN: Zsweep – Play Minesweeper using only Vim motions
#4Hi HN, I’m the creator of zsweep. It’s a keyboard-centric Minesweeper clone where you play entirely using Vim motions (h, j, k, l to move; w/b to skip words; etc.). The Backstory: I wanted to build a project to get my hands dirty with Svelte 5 and the new Runes system. I also wanted a way to practice Vim muscle memory that wasn't just typing code. Tech Stack: Frontend: Svelte 5 (Runes) + SvelteKit Styling: Tailwind C…
Repo: https://github.com/oug-t/zsweep
Re: Show HN: Zsweep – Play Minesweeper using only Vim motions
#5Re: Show HN: Zsweep – Play Minesweeper using only Vim motions
#6Re: Show HN: Zsweep – Play Minesweeper using only Vim motions
#7Play at: https://zsweep.com
Re: Show HN: Zsweep – Play Minesweeper using only Vim motions
#8The only complaint I have is that enter for clearing feels awkward in conjunction with hjkl movement; maybe add (d)elete and (f)lag as alternatives to enter and space to keep everything on the home row without requiring stretching?
Re: Show HN: Zsweep – Play Minesweeper using only Vim motions
#9It would feel a little more intuitive if w/b worked on groups of unrevealed tiles instead of just moving 1 space when you were already on an unrevealed tile. i.e. unrevealed = words, revealed = spaces. That way, you could also use them to meaningfully navigate around unrevealed groups better than using h/l. I also found myself missing "e" to go to the end of a word, apparently I use it more often than "w".
I really appreciated the attention to detail though, I was delighted when I realized that gg/G/0/$ all worked as expected.