Tips & best practices
A pet is only as good as its art and its behavior. These are the habits that make the difference between a pet that feels alive and one that feels robotic.
Art & sprites
Section titled “Art & sprites”- Keep every frame the same size. All frames in one animation must share dimensions: the Importer enforces this. Consistent size keeps the pet from jittering between frames.
- Use transparency. Export sprites as PNG (or GIF) with a transparent background so your pet sits cleanly on the desktop instead of inside a box.
- Design small. Pets share the screen with your real work. There is no strict size limit, but smaller frames perform better: aim for a modest frame size (think 64-128 px), and keep it around 256 × 256 px at most. Oversized pets feel intrusive and cost performance; use the Scale control for fine-tuning rather than huge source art.
- Mind the sheet width. Composed sprite sheets are capped around 4096 px wide; very long animations wrap onto extra rows automatically, but shorter loops are lighter and read better.
- Face right, or flip. Pets face right by default and mirror when walking left. If your art is drawn facing left, enable the sprite’s Flip horizontally option so it faces the right way.
Animation timing
Section titled “Animation timing”- The default 4 FPS is a good start for pixel art. Bump it up for smoother, more detailed animation; keep it low for a classic pixel feel.
- Avoid ultra-short durations. Actions under about half a second cause rapid flickering between behaviors. Very long ones (many seconds) can feel unresponsive. Somewhere in between reads as natural.
- Let animations finish. For loop-based actions, the Finish animation option (on Time-mode duration) rounds up so the pet ends on a clean frame instead of cutting off mid-motion.
Behavior design
Section titled “Behavior design”- Vary it with Random. A pet that always runs the same loop feels mechanical. Wire a Random node so it sometimes idles, sometimes walks, sometimes does something unexpected. Small variety goes a long way.
- Use duration ranges, not fixed values. A Min/Max range means each idle or walk lasts a slightly different length, which reads as spontaneity.
- Start simple, then grow. Get
Start → Idle → Endworking and Live first. Then add a Walk, then a Random branch. Small, tested steps beat one big graph you can’t debug. - Always give actions a sprite. An action node with no sprite is invisible and blocks the pet from going Live. Assign one to every Idle/Walk.
Workflow
Section titled “Workflow”- Preview constantly. Use Debug in the editor to watch the active node and the animation instead of saving and re-toggling for every change. → Previewing & debugging
- Clone to experiment. Want a variation without risking a working pet? Clone one of your own custom pets and edit the copy; the original stays intact.
- Save triggers validation. If Save flags problems, fix them before moving on; a pet with graph errors can’t go Live.
- Trust the safety nets. The editor auto-backs-up every 30 s while you have unsaved changes and won’t let you close with unsaved work by accident, but still save deliberately when you hit a good state.
