Skip to content

Contributing

Bubbleshum edited this page May 22, 2026 · 2 revisions

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.


Ways To Contribute

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

Development Goals

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

Repository Setup

Requirements

Tool Notes
.NET 8 SDK Required
Rider or Visual Studio Recommended
Android SDK Required for Android builds
Vulkan Drivers Recommended
Git Required

Cloning The Repository

git clone https://github.com/Bubbleshum/WPR.git
cd WPR

Building WPR

Windows

dotnet build

Android

Android builds require:

  • Android SDK
  • Android workload installed
  • Proper SDK environment variables configured

Example:

dotnet build -f net8.0-android

Coding Guidelines

General

  • Keep code readable
  • Prefer small focused commits
  • Avoid unnecessary abstractions
  • Document unusual behaviour
  • Keep platform-specific code isolated where possible

Style

  • Follow existing project conventions
  • Use meaningful names
  • Avoid excessive comments
  • Prefer clarity over cleverness

Pull Requests

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 Contributions

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

Bug Reports

Good bug reports help development significantly.

Please include:

  • Steps to reproduce
  • Logs
  • Screenshots if relevant
  • Device information
  • Platform information

Architecture Notes

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.


Areas That Need Help

Some particularly valuable contribution areas:

Graphics

  • Shader compatibility
  • Render state behaviour
  • SpriteBatch edge cases
  • Vulkan improvements

Audio

  • XACT support
  • Timing improvements
  • Audio stability

Input

  • Multi-touch support
  • Accelerometer emulation
  • Controller mappings

Silverlight

  • Control implementations
  • UI rendering
  • API coverage

Testing

Testing on real hardware is extremely helpful.

Especially:

  • Android phones/tablets
  • Different GPU vendors
  • High DPI displays
  • Touchscreen devices

Community Expectations

Please:

  • Be respectful
  • Be constructive
  • Assume good intent
  • Keep discussions technical and productive

Legal Notes

Do not submit:

  • Copyrighted game assets
  • Proprietary SDK files
  • Decompiled commercial code

WPR itself does not distribute copyrighted games.


Thank You

Every contribution helps preserve Windows Phone gaming history.

Whether you submit code, test games, report bugs, or improve documentation — it all helps ❤️

Clone this wiki locally