# lorisyounger/vpet

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/lorisyounger-vpet).**

6,408 stars · 629 forks · C# · Apache-2.0

## Links

- GitHub: https://github.com/LorisYounger/VPet
- awesome-repositories: https://awesome-repositories.com/repository/lorisyounger-vpet.md

## Topics

`desktop-pet` `wpf`

## Description

VPet is a virtual companion application and simulation engine that renders interactive animated characters on the Windows desktop. It uses Windows Presentation Foundation for hardware-accelerated 2D graphics and a state-driven animation engine to manage character visuals based on user input and pet state.

The project is built as an embeddable .NET library, allowing the simulation to be integrated into other software projects. It features a plugin-based modding system that loads dynamic libraries at runtime to extend behavioral logic, speech, items, and animations. A community workshop distribution system enables the downloading and installation of versioned content packages created by users.

The simulation covers a range of interaction capabilities, including a feeding system and a layered animation controller that composites front, middle, and back visual layers to create depth during character interactions.

## Tags

### Game Development

- [Virtual Pets](https://awesome-repositories.com/f/game-development/simulation-engine-cores/virtual-pets.md) — Provides a comprehensive simulation engine for an interactive desktop companion with state-driven behaviors. ([source](https://cdn.jsdelivr.net/gh/lorisyounger/vpet@main/README.md))
- [Mod Loading Systems](https://awesome-repositories.com/f/game-development/mod-loading-systems.md) — Implements a mod-loading system that integrates external assets and behavioral scripts into the companion engine.

### User Interface & Experience

- [Reactive Desktop Pets](https://awesome-repositories.com/f/user-interface-experience/character-encoding-support/sprite-animations/reactive-desktop-pets.md) — Renders an interactive animated character on the Windows desktop that responds to user inputs and state changes.
- [State-Driven Animations](https://awesome-repositories.com/f/user-interface-experience/ui-animations/state-driven-animations.md) — Manages character visuals via a finite state machine that triggers animations based on user interaction and pet state.

### Business & Productivity Software

- [Interactive Desktop Companions](https://awesome-repositories.com/f/business-productivity-software/desktop-personalization-tools/interactive-desktop-companions.md) — Provides an interactive desktop companion that reacts to user activity via animated 2D characters.

### Development Tools & Productivity

- [Embeddable Libraries](https://awesome-repositories.com/f/development-tools-productivity/api-development-sdks/embeddable-libraries.md) — Provides a reusable .NET library that allows the simulation engine to be embedded into other WPF applications.

### Graphics & Multimedia

- [2D Rendering Engines](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/webgl-gpu-rendering/2d-rendering-engines.md) — Utilizes Windows Presentation Foundation for hardware-accelerated 2D rendering and desktop window integration.
- [Animation Layer Compositing](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/tile-map-renderers/raster-and-vector-tile-renderers/layer-based-composition/animation-layer-compositing.md) — Uses a layered animation system to create visual depth during character interactions with items and food.
- [Layer-Based Animations](https://awesome-repositories.com/f/graphics-multimedia/layer-based-animations.md) — Renders complex character interactions using discrete front, middle, and back animation layers for visual depth.

### Software Engineering & Architecture

- [Application Embedding Interfaces](https://awesome-repositories.com/f/software-engineering-architecture/application-embedding-interfaces.md) — Provides programmatic interfaces to integrate the virtual pet simulation engine into other WPF software projects.
- [Extensible Plugin Architectures](https://awesome-repositories.com/f/software-engineering-architecture/extensible-plugin-architectures.md) — Implements an extensible architecture that allows custom logic, items, and animations to be injected via plugins.

### Part of an Awesome List

- [Workshop Integration](https://awesome-repositories.com/f/awesome-lists/devtools/mod-loaders/inter-mod-dependency-management/workshop-integration.md) — Integrates with a community workshop for the remote distribution and installation of mod packages.

### Content Management & Publishing

- [Community Content Downloaders](https://awesome-repositories.com/f/content-management-publishing/community-content-feeds/community-content-downloaders.md) — Includes a system for browsing and downloading user-generated content packages from a remote workshop.
- [Mod Workshop Publishing](https://awesome-repositories.com/f/content-management-publishing/mod-workshop-publishing.md) — Provides a community workshop system for the distribution and installation of versioned content packages.

### DevOps & Infrastructure

- [Plugin Distribution Packages](https://awesome-repositories.com/f/devops-infrastructure/package-distribution/plugin-distribution-packages.md) — Provides a structured package format for distributing and installing community-created content modules.

### Operating Systems & Systems Programming

- [Dynamic Library Loading](https://awesome-repositories.com/f/operating-systems-systems-programming/dynamic-library-loading.md) — Implements a system for loading external compiled assemblies at runtime to extend animations and behavioral logic.
