-
Notifications
You must be signed in to change notification settings - Fork 1
Contributing
First of all — thank you for your interest in contributing to WPR.
WPR is an experimental open-source project focused on preserving and running Windows Phone XNA games on modern platforms. Contributions of all kinds are welcome.
There are many ways to help improve WPR:
- 🧪 Testing games
- 🐛 Reporting bugs
- 🖥️ Improving platform support
- ⚡ Performance optimisation
- 🎮 Improving compatibility
- 📝 Writing documentation
- 🔧 Adding API implementations
- 🎨 Improving UI/UX
- 📱 Android-specific fixes
Current areas of focus include:
| Area | Priority |
|---|---|
| XNA compatibility | High |
| Graphics rendering | High |
| Audio support | High |
| Input systems | High |
| Android support | High |
| Silverlight support | Medium |
| UI improvements | Medium |
| Performance optimisation | Medium |
| Tool | Notes |
|---|---|
| .NET 8 SDK | Required |
| Rider or Visual Studio | Recommended |
| Android SDK | Required for Android builds |
| Vulkan Drivers | Recommended |
| Git | Required |
git clone https://github.com/Bubbleshum/WPR.git
cd WPRdotnet buildAndroid builds require:
- Android SDK
- Android workload installed
- Proper SDK environment variables configured
Example:
dotnet build -f net8.0-android- Keep code readable
- Prefer small focused commits
- Avoid unnecessary abstractions
- Document unusual behaviour
- Keep platform-specific code isolated where possible
- Follow existing project conventions
- Use meaningful names
- Avoid excessive comments
- Prefer clarity over cleverness
Before opening a pull request:
- Ensure the project builds
- Test affected functionality
- Keep PRs focused on a single change
- Provide clear descriptions
- Include screenshots if UI-related
Compatibility testing is extremely valuable.
When reporting compatibility results, include:
| Information | Example |
|---|---|
| Game Name | Hydro Thunder GO |
| Platform | Windows / Android |
| Commit Hash | abc123 |
| Status | Playable / Partial / Broken |
| Notes | Audio crackles during races |
Good bug reports help development significantly.
Please include:
- Steps to reproduce
- Logs
- Screenshots if relevant
- Device information
- Platform information
WPR currently focuses primarily on:
- Windows Phone XNA runtime behaviour
- Graphics translation
- Input emulation
- Content loading
- API shimming
The architecture is still evolving rapidly during alpha development.
Some particularly valuable contribution areas:
- Shader compatibility
- Render state behaviour
- SpriteBatch edge cases
- Vulkan improvements
- XACT support
- Timing improvements
- Audio stability
- Multi-touch support
- Accelerometer emulation
- Controller mappings
- Control implementations
- UI rendering
- API coverage
Testing on real hardware is extremely helpful.
Especially:
- Android phones/tablets
- Different GPU vendors
- High DPI displays
- Touchscreen devices
Please:
- Be respectful
- Be constructive
- Assume good intent
- Keep discussions technical and productive
Do not submit:
- Copyrighted game assets
- Proprietary SDK files
- Decompiled commercial code
WPR itself does not distribute copyrighted games.
Every contribution helps preserve Windows Phone gaming history.
Whether you submit code, test games, report bugs, or improve documentation — it all helps ❤️