less lets us read text files. chafa displays images. mpv can even play videos in the terminal. I wanted the same direct experience for retro game ROMs. So I created Asobou, a libretro frontend for Windows, macOS and Linux. asobou game.nes Give it a ROM, then Asobou detects the system, downloads a suitable libretro core when needed, selects the best renderer supported by your terminal, and starts the game. It uses Kitty terminal graphics when available. Terminals without this feature fall back to block rendering, with ASCII rendering also available as an alternative. It also has audio, configurable controls, save states, and rewind. If you don't have a game handy, you can try it with some free homebrew games using the following commands: npx asobou brew flappybird.nes npx asobou brew indivisibleonnes.nes npx asobou brew horizontal-shooter.sfc npx asobou brew asteroidsb.gba The project is open source at: https://github.com/arianrhodsandlot/asobou This is the first time I'm sharing it publicly. Bug reports and honest feedback are welcome! Fun fact: Asobou(遊ぼう) means "let's play" in Japanese. Note: Asobou does not bundle copyrighted games. AI disclosure: I designed the overall architecture and let LLMs help with implementing.   submitted by   /u/xudexi [link]   [comments]