A screensaver that emulates the moving star field background from Mega Man 2's boss introduction screen.
NOTE: This repo was entirely vibe coded with Claude Code (including this README, except for this line and the screenshot below). The Claude conversations are in the commit log.
- Authentic NES aesthetic: 10x10 pixel scaling for that chunky retro look
- Three star sizes: Small (1x1), medium (2x2), and large (4x4 plus-shaped) stars
- Smooth scrolling: Different speeds for depth parallax effect
- Hardware accelerated: OpenGL with instanced rendering
- Vsync support: Tear-free rendering at 144Hz
- Automatic activation: Monitors system idle time and activates after 5 minutes
- Auto-restart: Returns to monitoring after dismissal
- Resolution: 4K (3840x2160)
- Logical resolution: 384x216 logical pixels
- Star counts: ~64 small, ~32 medium, ~16 large stars
- Idle timeout: 5 minutes
- Speeds:
- Small stars: 32 seconds to cross screen
- Medium stars: 8 seconds to cross screen
- Large stars: 2 seconds to cross screen
make./megaman_starsThe program will monitor keyboard and mouse activity in the background. After 5 minutes of idle time, the screensaver will activate automatically. Press any key or move the mouse to dismiss the screensaver, and it will return to monitoring.
Press Ctrl+C to exit the program entirely.
- X11 development libraries
- XScreenSaver extension library (libXss)
- OpenGL development libraries
- GCC or compatible C compiler
On Debian/Ubuntu:
sudo apt-get install libx11-dev libxss-dev libgl1-mesa-devOn Fedora/RHEL:
sudo dnf install libX11-devel libXScrnSaver-devel mesa-libGL-devel