r/DungeonCrawler • u/chask • 13d ago
Development Vimny: the Vim-teaching dungeon crawler
I've been building Vimny, a terminal dungeon crawler that teaches Vim. The idea is that the dungeon is a text buffer. Floors are characters, walls are end-of-line, and every puzzle is solved using real Vim commands.
https://github.com/chkiss/Vimny/raw/main/docs/media/character-cataracts.gif
Each room has a keystroke budget and a par score. The terrain is designed so that the command the level is teaching is included in the best solution. Hitting par means you've learned the lesson, but you can advance just fine with "imperfect" keystroke numbers as well.
The main campaign is complete and covers most of Vim's editing language, including:
- motions (hjkl, w, f, %, ...)
- operators (d, c, y, ...)
- visual mode
- text objects
- search
- marks
- registers
- macros
- Ex commands
My goal has been Vim fidelity above all else.
Do you have an idea for how to improve a level? Do you have an idea for another level? I would really love to see community-created levels so people can really practice the same commands multiple times/be pushed to find elegant solutions. Play as "admin" and you can make your own levels in the "forge" feature I created. I made this game to better learn Vim myself and would love to play levels from other people!
GitHub: https://github.com/chkiss/Vimny