PMDDesktop is a fan-project attempting to create PMD-style Desktop Pets with a multiplayer server for sharing Pokémon and their adventures across desktops. It intends to be a small, low-maintenance daily asynchronous social game.
The project is currently in the early stages of laying the foundation for everything to work. Please check the Early Roadmap for the current progress of the project.
Tip
Contributions are welcome! If you'd like to help out, searching "TODO" in the codebase or looking at open issues is a great spot to start. GitHub discussions are available if needed.
Note
This is a project for humans, by humans. Contributions containing any code generated by LLMs are not accepted.
Here's a roadmap of features that need to be implemented before the project is reasonably usable with a group of friends/a community.
- Server
- Save System
- Asset System
- User System
- Role System
- Pokémon Asset Parsing
- Include gender differences
- Include extra forms.
- Include evolutions.
- Create Docker compatible build
- Lockout to prevent multiple server instances
- Server Config (editable from client)
- Client
- Desktop Pet mode
- Sandboxed Pet mode (for compatibility or more traditional app-like usage)
- UI System
- Menu for viewing other users. (like a friends list)
- Menu for configuring settings.
- Create Windows installer
- Create Linux AppImage
- Allow logins
- Client Config
- Client & Server
- Save and serve sprites.
- Inventory System
- Ability to interact with characters during the day.
- Make a daily meal using items.
- Radial wheel with interactions listed.
- Shuffle who has what characters during a set "midnight" time.
- Also, use this time to update gameplay effects.
- A way to upload profile pictures.
Note
This roadmap is not exhaustive, and more features will be addressed as they come to mind, but this is the bare minimum features that need to be added before release 1.0.
These are things I'd like to support once the main foundation is laid.
- Evolution System
- Parse evolution requirements.
- Allow Characters to evolve by meeting requirements.
- Mystery Dungeon System
- Prepare a team for the dungeon.
- Get results the next day you log in.
- Companionship System
- Characters have individual personalities.
- Characters have thoughts on each other.
- Thoughts are influenced by things that happen together.
- Decisions in dungeons are influenced by thoughts and personality.
- C# Bot SDK (to allow programmatic control of users, so that scripts could run admin commands)
- Auto-updater for clients.
- Download matching major-version, but newest minor/patch.
- Sign executables to ensure safe downloads.
- Download new executable and update after prompting user.
- Do that but on Windows
- Do that but on Linux
- OAuth2 Support
- Trade/Gift System (to allow users to trade or send items)
- A way to use PMD portraits for profile pictures.
- Picker interface.
- A way to disable image uploads. (for unmoderatable servers)
There are no plans to create public MacOS builds right now. This is because I do not have a way to test features on MacOS, however, since everything is written in C#, a cross-platform language, it should be possible to create MacOS builds and expect them to perform reasonably. If you would like to help me test a MacOS build of the client, please reach out via GitHub Discussions.
This project is only possible because of the SpriteCollab and PokeAPI.
The font used in the client is Wonder Mail by ShinxHijinx
Important
This open-source fan-project is not affiliated with Spike Chunsoft or The Pokémon Company. Pokémon is a trademark of The Pokémon Company.