README.assets | ||
Tutorial.assets | ||
VPet-Simulator.Core | ||
VPet-Simulator.Tool | ||
VPet-Simulator.Windows | ||
VPet-Simulator.Windows.Interface | ||
VPet.Solution | ||
.editorconfig | ||
.gitignore | ||
CONTRIBUTING_en.md | ||
CONTRIBUTING_zht.md | ||
CONTRIBUTING.md | ||
LICENSE | ||
README_en.md | ||
README_ja.md | ||
README.md | ||
Tutorial_en.md | ||
Tutorial_zht.md | ||
Tutorial.md | ||
VPet.sln | ||
vpeticon.ase | ||
vpeticon.ico | ||
vpeticon.png |
VPet
An open-source desktop pet/shimeji/virtual pet app, that can be embedded into any Windows Presentation Framework app as well.
Get VPet on Steam for free, or install its core library to your WPF app with NuGet.
Introduction
VPet is a desktop pet app with various interactions implemented. It's open-source, free, and supports mods from the Steam Workshop. Well, it's free, so why not try it out?
This game was originally developed for VUP-Simulator's tutorial as an accompanying desktop pet, then split into an independent app. If you like it, please consider adding VUP-Simulator to your wishlist.
Many interactions and animations!
Up to 32(types) * 4(states) * 3(variants) = 384 animations included! (Note that some types don't have ill versions or loops etc., so the actual number is slightly smaller.)
Have some examples:
Head-patting
Lifting
Wall-climbing
Free!
This game is 100% free! So if it looks good to you, try it out, it won't hurt.
Our main goal is to promote VUP-Simulator with it; the default character here is the main character there.
Open source!
The source of this game is available on GitHub. You can find it at: https://github.com/LorisYounger/VPet
Feature requests and pull requests are welcome! You can take our code and modify it to your liking, too. (Though most content doesn't require that, and can be modded in.)
With Steam Workshop support!
Steam Workshop mods are supported. With mods, you can add your own pets (animations/interactions), and share them with others through the Workshop.
The following contents can be added or modified by Workshop mods:
- Pet animations
- Items, foods/drinks, etc.
- Work
- Dialogue
- Themes
- Plugins - adding extra content to pets with code. For example:
- New animation logic/solutions (e.g. Live2D and Spine)
- New features (e.g. alarm and notes)
- Basically anything - see VPet.Plugin.Demo for examples
Contact us (for feedback and suggestions)
You can send your feedback and suggestions to:
- Steam comments or community
- GitHub Issues
- Or my e-mail (service@exlb.net)
Software architecture
- VPet-Simulator.Windows - desktop pet simulator for the desktop
-
Function - for functional code
- CoreMOD - mod management
- MWController - window controller
-
WinDesign - for windows and UI design
- winBetterBuy - Betterbuy window
- winCGPTSetting - ChatGPT settings
- winSetting - app settings/mod configuration
- winConsole - console for dev purposes
- winGameSetting - game settings
- winReport - feedback center
-
MainWindows - main window; stores and presents the Core
-
PetHelper - for quick pet switching
-
- VPet-Simulator.Tool - tools that assist in creating mods, e.g. frame generator
- VPet-Simulator.Core - the app's core, for embedding into other WPF applications e.g. VUP-Simulator
- Handle - interfaces and controls
- IController - form controller; contains relevant functions and settings, such as moving to the side
- Function - general functions
- GameCore - the game's core; contains various data etc.
- GameSave - save functionality
- IFood - interface for items and food
- PetLoader - animation loader
- Graph - graphics rendering
- IGraph - base interface for animations
- GraphCore - core for animation displaying
- GraphHelper - animation helper class
- GraphInfo - animation information
- FoodAnimation - specialized support for displaying 3-layer sandwich animations (not necessarily just for food, it's just the name)
- PNGAnimation - component for animated animations
- Picture - component for static animations
- Display - for displaying
- basestyle/Theme - basic style
- Main.xaml - core display component
- MainDisplay - core display methods
- MainLogic - core display logic
- ToolBar - toolbar that shows up when pets are clicked on
- MessageBar - dialogue bubble for when pets speak
- WorkTimer - work timer (duh)
- Handle - interfaces and controls
Contributing
Welcome to participate in development! To ensure code maintainability and playability, if you wish to develop new features or gameplay, please first contact me (by sending a mail or opening an Issue) with your idea. This is to make sure your contribution fits the game, and will not get outright rejected for being unfitting (causing your effort to be wasted). You don't need to contact me regarding fixing errors or bugs - simply send a PR in that case.
After I approve your idea, you may fork the code repository and make your changes, then submit them by opening a pull request. If it doesn't get approved, you can always make your own version of this game (that will be subject to Apache License version 2.0 and the animation copyright notice and authorization terms).
Note that to make sure the features/gameplay you contribute fit the game, I may make changes to your code.
Also note that the addition of new features can usually be accomplished with plugins - see VPet.Plugin.Demo for more information.
Thanks to the following participating developers and translator
And the Steam Workshop users who have shared translations and more with the community.
Animation copyright notice and authorization terms
The copyright of the pet animation files provided in the source code belongs to the VUP-Simulator team. When using this game's core library in your application, you may either use your own animation files or ours. Providing that you follow the following terms, you may use our animations freely:
Note
This copyright notice only applies to the default animation files and doesn't apply to custom animation files created by third parties.
For usage for non-commercial purposes
You must inform users of the source of our animation files, and provide a link to this page.
For usage for commercial purposes
- Please contact me through e-mail first.
- On the first use of your application, you must show a pop-up window that prominently informs the user of the source of our animation files, and provides a link to this page.
- In a suitable page (that your users can easily access), you must inform the user of the source of our animation files, and provide a link to this page.
- You must not profit from our animation files by selling them.
For distribution
- All of the above authorization information must be disclosed.
- You must provide a link to this page.
- No profit should be made with our files.
How to deploy Vpet-Simulator.Windows
- Download the source code, and open
VPet.sln
with Visual Studio. - Change the project to generate to
Vpet-Simulator.Windows
, and the configuration tox64
. - Click on
Run
. If everything is OK, you will get the following message:Lack Mod Core, Unable start desktop pet
- Run
Vpet-Simulator.Windows/mklink.bat
as administrator. This links themod
folder to the build folder. - Click on
Run
again, and this time the app will run.