Clover Desktop Pet (also known as Clover Shimeji) is an interactive desktop companion featuring Clover from Undertale Yellow. This adorable desktop mascot brings the beloved character to life on your screen with authentic animations, interactive behaviors, and charming personality traits that fans of Undertale Yellow will instantly recognize.
Clover is your personal desktop companion that lives on your screen and interacts with you throughout your day. Here's everything this little cowboy can do:
-
Walking Animations: Clover walks around your desktop in all four directions (up, down, left, right) with smooth, game-accurate sprites
-
Running Animations: When excited or following your mouse, Clover can run with increased speed
-
Sitting Animations: Clover sits down peacefully, sometimes in different poses including a casual sitting position
-
Dancing Animations: Clover performs the iconic dance moves from Undertale Yellow
-
Lying Down/Sleeping: When in sleep mode, Clover gets eepy and sleep
-
Special Poses: Various character poses and expressions from the game
-
Character Interactions: Animations featuring interactions with other Undertale Yellow characters
-
Gun Animations: Combat-related animations featuring Clover's weapon
-
Falling Animations: Dynamic falling sequences when Clover drops from heights
-
Cart Animations: Clover riding in a cart (And the whale)
-
Wind Effects: Clover reacting to wind with flowing movements
-
Drag and Drop: Click and drag Clover anywhere on your screen - they'll follow your mouse smoothly
-
Right-Click Menu: Access a comprehensive menu with all interaction options
-
Mouse Following: Clover can follow your mouse cursor around the screen like a loyal companion
-
Intelligent Idle System: When left alone, Clover has a sophisticated behavior system:
- Initial Idle: Performs random actions every 3-8 seconds (sitting, walking, posing)
- Idle Sequence Trigger: After 5 seconds of no interaction, enters special sequence
- Dance Phase: Dances continuously for 60 seconds
- Exploration Phase: Begins walking around your desktop randomly
- User Interaction Reset: Any click, drag, or menu action returns to normal idle mode
-
Eternal Dance Mode: Toggle continuous dancing that overrides all other behaviors
-
Sleep Mode: Clover gets eepy and go to sleep
-
Character Interaction Mode: Access special animations featuring other Undertale Yellow characters
-
Size Scaling: Adjust Clover's size from Normal to Giant (5 different size options)
- Minigames: You can play two differents minigames with our beloved cowboy
-
Left-Click + Drag: Smoothly move Clover to any position on your screen
-
Right-Click Context Menu: Access all features and modes
-
Automatic Positioning: Clover stays within screen boundaries and handles multi-monitor setups
-
Non-Intrusive Design: Clover appears above other windows but doesn't interfere with your work
-
Transparent Background: Seamlessly integrates with your desktop wallpaper
-
Pixel-Perfect Sprites: All original sprites from Undertale Yellow, maintaining authentic pixel art style
-
Smooth Animations: Fluid frame-by-frame animations with proper timing
-
Anti-Aliasing: Optional smooth rendering for crisp visuals at any size
-
Transparency Support: True transparency with no background artifacts
-
Multi-Monitor Support: Works across multiple displays
-
Launch the Application: Run the executable or Python script (If you want to run the python script, you may want to read "SPRITES.md"
-
First Appearance: Clover appears on your screen in a default position (Top left)
-
Initial Behavior: Clover starts in idle mode, performing random actions
- Moving Clover:
- Left-click on Clover and hold
- Drag to your desired position
- Release to place Clover there
- Clover will remember this position as their new "home"
- Accessing the Menu:
- Right-click on Clover
- A context menu appears with all available options
- Click any option to activate it
- Click elsewhere to close the menu
-
Right-click on Clover
-
Select "Dance Forever" from the menu
-
Clover immediately starts dancing and continues indefinitely
-
The menu option changes to "Stop Dancing"
-
Select "Stop Dancing" to return to normal behavior
-
Note: This mode overrides all other behaviors including idle sequences
-
Right-click on Clover
-
Select "Follow Mouse" from the menu
-
Clover will smoothly follow your mouse cursor around the screen
-
Behavior: Clover maintains a small distance from the cursor and moves smoothly
-
Right-click on Clover
-
Select "Sleep" from the menu
-
Clover lies down and displays "zzz" sleep indicators
-
Minimal CPU usage and animation activity
-
Select "Wake Up" from the menu to return to normal behavior
-
Perfect for: When you want Clover present but inactive
-
Right-click on Clover
-
Hover over "Size" to see the submenu
-
Current size is displayed in the menu title (e.g., "Size (Current: Normal)")
-
Available options:
- Normal: 1x scale (original size)
- Large: 1.5x scale
- Extra Large: 2x scale
- Huge: 2.5x scale
- Giant: 3x scale - Extra Giant: 5x scale - Screen: Yes
-
Click any size to apply immediately
-
Note: All animations work perfectly at any size (Except for screen size)
-
Right-click on Clover
-
Select "Character" from the menu
-
Access special animations featuring:
- Interactions with other Undertale Yellow characters
- Story moments and scenes
- Character-specific poses and expressions
- These animations play once and return to normal behavior
- Normal Idle (default state):
- Clover performs random actions every 3-8 seconds
- Actions include: sitting, walking short distances, posing, nodding
- Completely random selection keeps Clover unpredictable and charming
- Idle Sequence (triggered after 5 seconds of no interaction):
- Phase 1: Clover starts dancing continuously
- Duration: Dances for exactly 60 seconds
- Phase 2: Begins random walking around the desktop
- Walking Behavior: Moves in random directions, changes direction periodically
- Reset Condition: Any user interaction (click, drag, menu) returns to normal idle
- Interaction Detection:
- Left-clicking and dragging Clover
- Right-clicking to open the menu
- Selecting any menu option
- Result: Immediately cancels idle sequence and returns to normal behavior
-
Download the latest release from the releases page
-
Extract the ZIP file to your desired location
-
Run
CloverMascot.exe -
Clover will appear on your desktop immediately!
-
Python 3.8 or higher
-
Windows 10/11 (primary support, it works on linux too)
-
At least 50MB free RAM (Or a potato, you choose)
- Clone the Repository:
```bash
git clone https://github.com/Stuocs/Clover_Shimeji.git
cd Clover_Shimeji
```
- Install Dependencies:
```bash
pip install -r requirements.txt
```
- Run the Application:
```bash
python main.py
```
To create a standalone executable:
python build.py
The executable will be created in the dist/ directory.
-
OS: Windows 10/11 (primary), Linux
-
RAM: Minimum 50MB, Recommended 100MB (potato)
-
CPU: Any modern processor (very low CPU usage) (Yep, a potato)
-
Graphics: Basic 2D graphics support (You guessed it a potato)
-
Disk Space: 50MB (Another potato)
-
Left-click and drag: Move the mascot around the screen
-
Right-click: Open the context menu with options:
- Dance Forever: Toggle eternal dance mode - Clover will dance continuously until deactivated
- Follow Mouse: Toggle mouse following mode
- AFK Mode: Return to automatic random actions
- Sleep: Put the mascot to sleep (minimal activity)
- Size: Change Clover's display size
- Character: Access character interaction animations
- Exit: Close the application
-
Idle Mode (default): The mascot performs random actions every 3-8 seconds
-
Idle Sequence: When no user interaction occurs:
- After 5 seconds: Starts dancing continuously for 1 minute
- After dance ends: Begins random walking around the screen
- Continues until user interacts (click, drag, or menu action)
-
Follow Mouse Mode: The mascot smoothly follows your mouse cursor
-
Sleep Mode: The mascot lies down and stops most activities
Clover can be set to dance continuously:
-
Right-click and select "Dance Forever" to enable eternal dance mode
-
Clover will dance continuously, overriding all other behaviors
-
The menu option changes to "Stop Dancing" when active
-
Click "Stop Dancing" to return to normal behavior
-
Eternal dance mode takes priority over idle sequences and random actions
Clover's display size can be adjusted:
-
Right-click and select "Size" to access size options
-
The current size is displayed in the menu title
-
Size changes apply immediately and persist until changed again
-
All animations and behaviors work at any size
-
Multi-Monitor Support: Works seamlessly across multiple displays
-
DPI Awareness: Scales properly on high-DPI displays
-
Window Management: Stays above other windows without interfering
-
Crash Recovery: Automatically restarts if unexpected errors occur
-
Hot Reload: Development feature for real-time sprite updates
-
Configurable Settings: Customizable through config.py (Have fun dear developer)
-
Frame-Perfect Timing: Maintains consistent 60 FPS animation (Im lying lol)
-
Smooth Interpolation: Fluid movement between positions
-
State Management: Intelligent switching between animation states
-
Sprite Caching: Pre-loads all animations for smooth playback
-
Anti-Aliasing: Optional smooth rendering for crisp visuals
Clover_Project/
├── main.py # Main application entry point
├── config.py # Configuration settings and constants
├── build.py # Build script for creating executable
├── requirements.txt # Python dependencies
├── .gitignore # Git ignore file
├── README.md # This documentation
├── core/ # Core application modules
│ ├── mascot.py # Main mascot class and behavior logic
│ ├── animation.py # Animation system and state management
│ └── sprite_loader.py # Sprite loading and caching system
├── utils/ # Utility modules
│ ├── screen.py # Screen positioning and multi-monitor support
│ └── menu.py # Right-click context menu implementation
├── watcher/ # Development utilities
│ └── file_watcher.py # Hot reload functionality for development
├── Sprites/ # All sprite assets (organized by animation type)
│ ├── walking/ # Walking animations (all directions)
│ ├── sitting/ # Sitting and resting animations
│ ├── dancing/ # Dancing and celebration animations
│ ├── sleeping/ # Sleep mode animations
│ ├── character/ # Character interaction sprites
│ └── [other dirs] # Additional animation categories
└── assets/ # Application resources
├── clover_premium.ico # High-quality application icon
└── sprites/ # Additional sprite resources
You can customize Clover's behavior by editing config.py:
# Animation timing
DEFAULT_FRAME_RATE = 150 # ms per frame (≈ 6.66 FPS)
IDLE_ACTION_MIN_INTERVAL = 3000 # ms between idle actions
IDLE_ACTION_MAX_INTERVAL = 8000 # ms between idle actions
DANCE_SEQUENCE_DURATION = 60000 # ms of dancing in idle sequence
# Visual settings
DEFAULT_SCALE = 2.5 # Initial sprite scale
ANTI_ALIASING = True # Smooth rendering
TRANSPARENT_BACKGROUND = True # Transparent background
# Behavior settings
MOUSE_PROXIMITY_THRESHOLD = 100 # Distance in px to consider the mouse "near"
MOUSE_FOLLOW_SPEED = 3 # Speed in px per update
MOUSE_FOLLOW_UPDATE_RATE = 50 # ms between position updates
IDLE_SEQUENCE_TRIGGER_TIME = 5000 # ms before starting idle sequenceTo add new animations:
-
Create a new folder in the
Spritesdirectory -
Add numbered image files (0.png, 1.png, 2.png, etc.)
-
The animation will be automatically loaded on next startup
-
sitting: Idle sitting animations
-
walking: Movement animations (can have subdirectories for directions)
-
dancing: Dance animations
-
lying: Sleeping/lying down animations
-
poses: Special pose animations
-
characters_interactions: Character interaction scenes
-
Clover doesn't appear: Check if running as administrator is required
-
Clover disappears: Check if moved off-screen, restart application
-
Menu doesn't work: Try right-clicking directly on Clover's sprite
-
Animation stuttering: Close other resource-intensive applications
-
Windows: Windows 7 or later
-
Linux: X11 window system with compositing support
-
RAM: Minimum 50MB available
-
CPU: Any modern processor
This project is for educational and personal use. Sprite assets are from Undertale Yellow.
We welcome contributions! Here's how you can help:
-
Report Bugs: Open an issue with detailed reproduction steps
-
Suggest Features: Share your ideas for new animations or behaviors
-
Submit Code: Fork the repository and submit pull requests
-
Create Sprites: Design new animations following the existing style (I will gladly add more animations if you share with me the sprites, DM me in reddit please ^^ )
-
Improve Documentation: Help make the README even better
-
Fork the repository
-
Create a feature branch:
git checkout -b feature-name -
Make your changes
-
Test thoroughly
-
Submit a pull request
This project is created for educational and entertainment purposes. The code is open source, but please respect the original creators' rights to the character designs and sprites.
All sprites, character designs, and Clover-related content used in this project are the intellectual property of Team Undertale Yellow (@TeamUTY)
-
Game: Undertale Yellow
-
Character: Clover (R.I.P. Little Deputy)
-
Original Creators: Team Undertale Yellow (@TeamUTY)
-
Sprite Artists: The talented pixel artists of Team Undertale Yellow
-
Character Design: Team Undertale Yellow development team
-
Clover Character Sprites: All walking, sitting, dancing, sleeping, and character interaction sprites are original assets from Undertale Yellow
-
Animation Frames: Every animation frame used in this desktop pet is sourced from the official Undertale Yellow game files
-
Character Personality: Clover's behaviors and animations reflect the authentic character from Undertale Yellow
-
Artistic Style: The pixel art style and color palette maintain the original Undertale Yellow aesthetic
Undertale Yellow is a fan-made prequel to Undertale, created by a dedicated team of developers, artists, musicians, and writers. This desktop pet project serves as a tribute to their incredible work and the beloved character of Clover.
Official Team Undertale Yellow Links:
-
Programming: Desktop pet implementation and behavior system
-
Integration: Adaptation of game sprites for desktop pet functionality
-
UI/UX: Context menu and interaction system design
-
Optimization: Performance optimization for desktop use
-
Team Undertale Yellow for creating such an amazing character and game
-
The Undertale community for their continued support and creativity
-
Shimeji desktop pet creators for inspiring the desktop companion concept
-
All beta testers and contributors who helped improve this project (That we are 2 friends and me lol)
This desktop pet is a fan-made tribute project and is not officially affiliated with Team Undertale Yellow. All character rights, sprites, and related intellectual property belong to Team Undertale Yellow. This project is created with respect and admiration for their work.
Please support the official Undertale Yellow game and Team Undertale Yellow's work!
This project requires the original Undertale Yellow sprites. You can extract them from your legitimate copy of the game using the Undertale Mod Tool. Place the extracted files in the
Sprites/folder before running the program. If you want to avoid this, download the binary from releases.
