20 Eylül 2026 Pazar

Microsoft Store पर MonoGame डेस्कटॉप गेम प्रकाशित करना: संपूर्ण MSIX और WAP गाइड




Microsoft Store पर MonoGame डेस्कटॉप गेम प्रकाशित करना: संपूर्ण MSIX और WAP गाइड

Windows 10 और Windows 11 पर Microsoft Store में एक इंडी गेम लॉन्च करने से डेवलपर्स को करोड़ों पीसी गेमर्स तक सीधी पहुंच, पृष्ठभूमि में स्वचालित अपडेट, Windows Game Bar एकीकरण और कंटेनरीकृत स्थापना की सुरक्षा मिलती है। यदि आपका गेम MonoGame (.NET 8.0 या .NET 9.0 WindowsDX) के साथ बनाया गया है, तो इसे स्टोर पर लाने के लिए एक विशेष आर्किटेक्चरल ब्रिज की आवश्यकता होती है: एक मानक Win32 निष्पादन योग्य (.exe) फ़ाइल को आधुनिक MSIX / AppX एप्लिकेशन मॉडल से जोड़ना।

Arar Games में हमने Paint Trek और Blocked: Pixel Panzer के साथ इस पूरी प्रक्रिया को सफलतापूर्वक लागू किया है। इस गाइड में हम परियोजना कॉन्फ़िगरेशन, Visual Studio के Publish विकल्पों, Package.appxmanifest सेटिंग्स, टाइल आकृतियों के स्केलिंग, WACK प्रमाणीकरण और Microsoft Partner Center सबमिशन के सभी चरणों की व्याख्या करते हैं।


1. आर्किटेक्चरल आधार: Win32 बनाम MSIX

पारंपरिक MonoGame गेम Win32 .exe, रनटाइम लाइब्रेरीज़ (.dll) और संपीड़ित सामग्री वाली Content/ निर्देशिका (.xnb बनावट, .ogg ऑडियो और शेडर्स) में संकलित होते हैं।

गेम को Windows Application Packaging (WAP) प्रोजेक्ट में लपेटकर MSIX bundle बनाने के प्रमुख लाभ:

  1. पृथक कंटेनर जीवनचक्र: MSIX ऐप एक सुरक्षित पृथक वातावरण में चलते हैं। अनइंस्टॉल करने पर सभी फ़ाइलें और रजिस्ट्री प्रविष्टियाँ बिना किसी कचरे के साफ हो जाती हैं।
  2. गतिशील आर्किटेक्चर वितरण: एकल .appxupload पैकेज में x86 और x64 बाइनरी तथा विभिन्न DPI स्केल (scale-100 से scale-400) शामिल होते हैं। उपयोगकर्ता के डिवाइस पर केवल आवश्यक फ़ाइलें ही डाउनलोड होती हैं।
  3. स्वचालित क्रैश टेलीमेट्री: Visual Studio डिबगिंग प्रतीकों (.appxsym) को बंडल में शामिल करता है, जिससे Partner Center डैशबोर्ड में सटीक लाइन नंबर के साथ स्टैक ट्रेस देखा जा सकता है।

2. परियोजना संरचना और कॉन्फ़िगरेशन

मुख्य गेम प्रोजेक्ट की .csproj फ़ाइल में बहु-प्लेटफ़ॉर्म और सामग्री कॉपी सक्षम करें:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>WinExe</OutputType>
    <TargetFramework>net9.0-windows</TargetFramework>
    <UseWindowsForms>true</UseWindowsForms>
    <Platforms>AnyCPU;x64;x86</Platforms>
  </PropertyGroup>
  <ItemGroup>
    <Content Include="Content\**\*.*">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </Content>
  </ItemGroup>
</Project>

NuGet पैकेज पुनर्स्थापित करें:

dotnet restore YourGame.Desktop.csproj -r win-x64
dotnet restore YourGame.Desktop.csproj -r win-x86

3. Visual Studio के Publish मेनू विकल्प

  1. Associate App with the Store...: प्रोजेक्ट को Partner Center में आरक्षित ऐप से जोड़ता है और Package.StoreAssociation.xml बनाता है।
  2. Convert Content Group Map File: 50GB से अधिक विशाल गेम के स्ट्रीमिंग इंस्टॉलेशन के लिए (इंडी गेम के लिए आवश्यक नहीं)।
  3. Create App Packages...: स्थानीय परीक्षण (Sideloading) या स्टोर अपलोड (_bundle.appxupload) के लिए पैकेज बनाने का मुख्य विज़ार्ड।

4. पैकेज निर्माण विज़ार्ड कॉन्फ़िगरेशन

  • वितरण विधि: स्टोर सबमिशन के लिए "Microsoft Store under a new or existing app name" या स्थानीय परीक्षण के लिए "Sideloading" चुनें।
  • आर्किटेक्चर: Release मोड में ☑️ x86 और ☑️ x64 दोनों का चयन करें।
  • बंडल निर्माण: Generate app bundle: Always सेट करें।
  • संस्करण नियम: Major.Minor.Build.Revision (जैसे 1.0.0.0)। स्टोर पर अपलोड किए जाने वाले प्रत्येक नए पैकेज का संस्करण नंबर सक्रिय संस्करण से अधिक होना अनिवार्य हैAutomatically increment चालू रखने पर प्रत्येक बिल्ड में रिवीजन नंबर अपने आप बढ़ जाता है।

5. Package.appxmanifest मुख्य सेटिंग्स

  • <rescap:Capability Name="runFullTrust" />: MonoGame को DirectX 11 और मूल Win32 कॉल के लिए पूर्ण डेस्कटॉप अनुमतियों की आवश्यकता होती है, जो यह कंटेनर की सुरक्षा के साथ प्रदान करता है।
  • InitialRotationPreference="landscape": पोर्टेबल Windows गेमिंग डिवाइस (जैसे ASUS ROG Ally) के लिए लैंडस्केप ओरिएंटेशन लॉक करता है।

Warning

BadgeLogo का सख्त नियम: लॉक स्क्रीन आइकन (BadgeLogo) केवल शुद्ध सफेद (#FFFFFF) पिक्सल और पारदर्शी पृष्ठभूमि से बना होना चाहिए। रंगीन पिक्सल WACK कंट्रास्ट टेस्ट में विफलता का कारण बनते हैं।


7. WACK सत्यापन और समस्या निवारण

  • "AppCert.exe wasn't found" त्रुटि: Visual Studio Installer के व्यक्तिगत घटक टैब से Windows App Certification Kit स्थापित करें। स्थानीय परीक्षण वैकल्पिक है; स्टोर अपलोड पर माइक्रोसॉफ्ट क्लाउड स्वचालित रूप से यह परीक्षण करता है।
  • MonoGame फ़ाइलों की गलत पहचान: .xnb या .ogg बाइनरी कभी-कभी निष्पादन योग्य हेडर से मेल खा सकती हैं, लेकिन माइक्रोसॉफ्ट इन्हें स्थिर गेम सामग्री के रूप में मान्यता देकर मंजूरी देता है।

8. साइडलोडिंग द्वारा स्थानीय परीक्षण

AppPackages/YourGame_Test/ फ़ोल्डर में व्यवस्थापक के रूप में PowerShell खोलें और चलाएं:

Set-ExecutionPolicy RemoteSigned -Scope Process
.\Add-AppDevPackage.ps1

9. Microsoft Partner Center सबमिशन चेकलिस्ट

  1. मूल्य निर्धारण और उपलब्धता: सभी 240 बाज़ार चुनें और USD में आधार मूल्य निर्धारित करें।
  2. विशेषताएं: श्रेणी Games चुनें और गोपनीयता नीति URL (Privacy Policy) प्रदान करें।
  3. आयु रेटिंग: IARC प्रश्नावली पूरी करें (आर्केड गेम को आमतौर पर Everyone / PEGI 3 मिलता है)।
  4. स्टोर लिस्टिंग: 1920x1080 पीसी गेमप्ले स्क्रीनशॉट अपलोड करें।
  5. पैकेज: _bundle.appxupload अपलोड करें और Submit to the Store पर क्लिक करें।



Hiç yorum yok:

Yorum Gönder