# Publishing Your Game A comprehensive guide to publishing and distributing your AeThex game to players worldwide. --- ## Overview This guide covers the complete publishing workflow: - Pre-launch checklist - Platform-specific setup - Store submissions - Marketing materials - Post-launch monitoring - Updates and maintenance --- ## Table of Contents 1. [Pre-Launch Checklist](#pre-launch-checklist) 2. [Export Your Game](#export-your-game) 3. [Platform-Specific Publishing](#platform-specific-publishing) 4. [Marketing Materials](#marketing-materials) 5. [Launch Strategy](#launch-strategy) 6. [Post-Launch](#post-launch) 7. [Updates and Patches](#updates-and-patches) --- ## Pre-Launch Checklist ### ✅ Game Completion - [ ] All levels/content implemented - [ ] Tutorial completed and tested - [ ] All major bugs fixed - [ ] Performance optimized for target platforms - [ ] Tested on minimum spec hardware - [ ] Audio balanced and finalized - [ ] UI polished and consistent - [ ] Accessibility options implemented ### ✅ Technical Requirements - [ ] Cloud services configured (if using) - [ ] Analytics integrated - [ ] Crash reporting set up - [ ] Save system tested thoroughly - [ ] Multiplayer stress-tested (if applicable) - [ ] All external APIs work in production - [ ] Privacy policy created - [ ] Terms of service written ### ✅ Legal & Business - [ ] Company/entity registered (if required) - [ ] Tax information prepared - [ ] Age rating obtained (ESRB, PEGI, etc.) - [ ] Trademark search completed - [ ] Copyright notices added - [ ] License agreements in place - [ ] Insurance considered (if applicable) ### ✅ Store Assets - [ ] Game title finalized - [ ] Description written (all required languages) - [ ] Screenshots captured (all required platforms) - [ ] Trailer created and uploaded - [ ] Icon/logo designed in all required sizes - [ ] Banner images created - [ ] Keywords/tags researched - [ ] Store page previewed --- ## Export Your Game See [EXPORTING_GAMES.md](EXPORTING_GAMES.md) for detailed export instructions for: - Windows - Linux - macOS - Web (HTML5) - Android - iOS (coming soon) **Quick Export:** ```gdscript # Via editor: Project → Export → Select Platform → Export Project # Via command line: aethex --export-release "Windows Desktop" builds/windows/game.exe ``` --- ## Platform-Specific Publishing ### Steam **1. Create Steamworks Account:** - Go to [partner.steamgames.com](https://partner.steamgames.com) - Pay app deposit ($100 per game, recoupable) - Complete company verification **2. Set Up Your Game:** ``` Steamworks Admin Panel: ├── App Admin → Basic Info │ ├── Game name │ ├── Description │ └── Release date ├── Store Presence → Graphics │ ├── Header capsule (460x215) │ ├── Small capsule (231x87) │ ├── Screenshots (1920x1080) │ └── Trailer └── Technical Requirements ├── Supported OS └── Minimum specs ``` **3. Upload Build:** ```bash # Install Steamworks SDK # Use SteamPipe to upload # steamcmd.exe login your_username set_product your_app_id upload_depot depot_id depot_manifest.vdf ``` **4. Configure Store Page:** - Description (short & long) - Tags/categories - Supported languages - System requirements - Pricing **5. Submit for Review:** - Complete all required fields - Submit for Steam review (1-5 days) - Address any feedback - Set release date **6. Launch:** - Release when ready - Consider Early Access for ongoing development --- ### itch.io **1. Create Account:** - Go to [itch.io](https://itch.io) - Sign up for creator account (free) **2. Create New Project:** ``` Dashboard → Create new project: ├── Title & URL ├── Classification (Game) ├── Kind (Downloadable/HTML5) └── Release status ``` **3. Upload Files:** ``` Upload → Add file: ├── Windows ZIP ├── Linux TAR.GZ ├── macOS ZIP └── Web folder (if HTML5) Set file types: - Windows: Executable - Linux: Executable - Web: This file will be played in the browser ``` **4. Configure Page:** - Cover image (630x500) - Screenshots - Description - Trailer embed - Tags - Pricing (free or paid) - Donation options **5. Publish:** - Preview page - Click "Publish" - Share link immediately **Pros:** - Free to publish - Indie-friendly community - Instant publishing - Flexible pricing (pay what you want) - Good for prototypes/demos --- ### GOG **1. Apply for Publishing:** - Email [games@gog.com](mailto:games@gog.com) - Provide game description and trailer - Wait for approval (selective) **2. Submission Process:** - If approved, work with GOG partner manager - Build must be DRM-free - GOG handles QA testing **3. Release:** - GOG manages store page - Revenue split: 70/30 --- ### Epic Games Store **1. Apply:** - Go to [Epic Games Publishing](https://www.epicgames.com/unrealengine/en-US/publish) - Submit application - Wait for review **2. Onboarding:** - Complete developer agreement - Set up payments - Work with Epic partner manager **3. Requirements:** - High-quality polish expected - Epic Games Account integration - Achievement support recommended --- ### Google Play Store **1. Create Developer Account:** - Go to [Google Play Console](https://play.google.com/console) - Pay one-time fee ($25) - Complete account verification **2. Create App:** ``` Play Console → Create app: ├── App details ├── Store listing │ ├── Title │ ├── Description (short & full) │ ├── Screenshots (phone & tablet) │ ├── Feature graphic (1024x500) │ └── Icon (512x512) ├── Content rating (ESRB, PEGI) └── Pricing & distribution ``` **3. Upload APK/AAB:** ``` Release Management → App releases: ├── Production → Create release ├── Upload AAB (recommended) or APK ├── Set version code/name └── Add release notes ``` **4. Fill Requirements:** - Privacy policy URL - Content rating questionnaire - Target audience - App content - Data safety section **5. Submit for Review:** - Review takes 1-7 days - Address any policy violations - Publish when approved --- ### Apple App Store (iOS) **1. Apple Developer Account:** - Join [Apple Developer Program](https://developer.apple.com/programs/) ($99/year) - Complete agreements **2. App Store Connect:** ``` Create New App: ├── Platform (iOS) ├── Name ├── Primary language ├── Bundle ID └── SKU ``` **3. Prepare App:** ``` App Information: ├── Name & subtitle ├── Privacy policy URL ├── Category ├── Screenshots (all device sizes) ├── Description └── Keywords ``` **4. Build Upload:** ```bash # Archive in Xcode # Upload via Xcode or Transporter app # Wait for processing (15-60 minutes) ``` **5. Submit for Review:** - Select build - Set release method (manual/automatic) - Add version information - Submit (review takes 1-2 days typically) --- ### Web Publishing **GitHub Pages:** ```bash # Build for web aethex --export "Web" builds/web/index.html # Create gh-pages branch git checkout -b gh-pages cp -r builds/web/* . git add . git commit -m "Deploy game" git push origin gh-pages # Enable in repository settings # Access at: https://username.github.io/repository ``` **Netlify:** ```bash # Install Netlify CLI npm install -g netlify-cli # Deploy netlify deploy --dir=builds/web --prod # Or drag-and-drop in Netlify dashboard ``` **Vercel:** ```bash # Install Vercel CLI npm install -g vercel # Deploy vercel builds/web --prod ``` **Self-Hosting:** ```nginx # nginx configuration server { listen 80; server_name yourgame.com; root /var/www/yourgame; location / { try_files $uri $uri/ /index.html; } # Enable CORS for WebAssembly location ~* \.(wasm|pck)$ { add_header Access-Control-Allow-Origin *; } # Cache static assets location ~* \.(jpg|jpeg|png|gif|ico|css|js|wasm|pck)$ { expires 1y; add_header Cache-Control "public, immutable"; } } ``` --- ## Marketing Materials ### Screenshots **Best Practices:** - Capture at 1920x1080 or higher - Show gameplay, not menus - Highlight key features - Include UI elements - Use variety (action, exploration, etc.) - Add subtle branding watermark **Tools:** ```gdscript # In-game screenshot system func take_screenshot(): var img = get_viewport().get_texture().get_image() img.save_png("user://screenshot_%s.png" % Time.get_unix_time_from_system()) ``` ### Trailer **Structure:** - 0-5s: Hook (best gameplay moment) - 5-15s: Core gameplay footage - 15-30s: Features and variety - 30-45s: Unique selling points - 45-60s: Call to action + release date **Tools:** - Video editing: DaVinci Resolve (free) - Screen recording: OBS Studio (free) - Music: [Epidemic Sound](https://epidemicsound.com), [Artlist](https://artlist.io) ### Store Description **Template:** ``` [One-sentence hook] [2-3 sentence description of gameplay] KEY FEATURES: • Feature 1 (brief description) • Feature 2 (brief description) • Feature 3 (brief description) • Feature 4 (brief description) [Optional: Story/setting paragraph] [System requirements or platform info] [Social media links] ``` --- ## Launch Strategy ### Timing **When to Launch:** - Avoid major game releases - Consider seasonal factors (summer slow, Q4 busy) - Tuesday/Thursday often best for visibility - Allow time for reviews/coverage **Soft Launch:** - Release to smaller region first - Gather feedback - Fix critical issues - Full launch 1-2 weeks later ### Press Kit Create a press kit at `yourgame.com/press`: - Fact sheet (release date, platforms, price) - Description - Features - Trailer embed - Screenshots (zip download) - Logo (multiple formats) - Developer info - Contact email ### Reaching Out **Media Contacts:** - Research relevant gaming sites/YouTubers - Send personalized emails (not mass blasts) - Provide steam keys/review copies - Follow up once if no response **Email Template:** ``` Subject: [Your Game Name] - [Genre] launching [Date] Hi [Name], I'm [your name], developer of [game name], a [genre] game launching on [platform] on [date]. [One paragraph about what makes your game special] Key features: • Feature 1 • Feature 2 • Feature 3 I'd love to send you a review key. Are you interested? Trailer: [link] Press kit: [link] Thanks, [Your name] ``` --- ## Post-Launch ### Monitor Launch **First 24 Hours:** - Watch for critical bugs - Monitor social media mentions - Respond to player feedback - Track analytics (sales, downloads, engagement) - Be ready to deploy hotfix if needed **First Week:** - Gather reviews and feedback - Plan first update - Engage with community - Share player content - Thank supporters ### Community Management **Platforms to Manage:** - Steam discussions - Discord server - Twitter/X mentions - Reddit threads - Email support **Response Times:** - Critical bugs: < 4 hours - General support: < 24 hours - Feature requests: Acknowledge within 48 hours ### Analytics Review **Key Metrics:** - Daily active users (DAU) - Retention (Day 1, 7, 30) - Average session length - Completion rates - Crash rate - Purchase conversion (if applicable) See [ANALYTICS_TUTORIAL.md](tutorials/ANALYTICS_TUTORIAL.md) for implementation. --- ## Updates and Patches ### Hotfix (Critical Bugs) ```bash # Fix bug # Test thoroughly # Export new build # Upload to platforms # Version: 1.0.0 → 1.0.1 ``` **Update Quickly:** - Web: Instant (just replace files) - itch.io: Upload new build (instant) - Steam: Upload via SteamPipe (< 1 hour) - Mobile: 1-7 day review ### Content Updates **Planning:** - Based on player feedback - Fix common pain points - Add requested features - Balance tweaks - New content **Versioning:** ``` Major.Minor.Patch 1.0.0 → 1.1.0 (feature update) 1.1.0 → 1.1.1 (bug fix) 1.1.1 → 2.0.0 (major update) ``` **Changelog:** ``` Version 1.1.0 - November 15, 2024 NEW: • New boss battle • 5 new weapons • Photo mode IMPROVED: • Better controller support • Faster loading times • Updated UI FIXED: • Player getting stuck in walls • Audio crackling issue • Save corruption bug ``` ### DLC/Expansions ```gdscript # Check DLC ownership if AeThexAuth.has_dlc("expansion_pack_1"): enable_expansion_content() ``` --- ## Monetization Strategies ### Premium (Paid) **Pricing:** - Research similar games - Consider your costs - Regional pricing - Sales strategy **Steam Pricing Tips:** - $9.99 - $19.99: Indie game sweet spot - Avoid $14.99 (psychological barrier) - Plan for sales (20-50% off) ### Free-to-Play **Best Practices:** - Game must be fun without paying - No pay-to-win mechanics - Cosmetic items work well - Battle pass model - Generous with free currency ```gdscript # In-app purchases func purchase_item(item_id: String): var result = await AeThexAuth.purchase_item(item_id) if result.success: grant_item(item_id) AeThexAnalytics.track_event("iap_purchase", { "item_id": item_id, "price": result.price }) ``` ### Freemium - Free demo/trial - Upgrade to full version - Good for single-player games --- ## Marketing Channels ### Social Media **Twitter/X:** - Post development updates - Share GIFs of gameplay - Engage with gamedev community - Use hashtags: #indiegame #gamedev **TikTok/Instagram:** - Short gameplay clips - Behind-the-scenes - Game development tips - Quick wins/satisfying moments **Reddit:** - r/IndieGaming - r/gamedev - Genre-specific subreddits - Avoid spam, engage authentically ### Discord Create a community server: - Announcements channel - General chat - Bug reports - Suggestions - Development updates ### Email List **Build Pre-Launch:** - Capture emails on landing page - Send updates during development - Offer beta access - Announce launch date **Tools:** - Mailchimp (free tier) - ConvertKit - Substack --- ## Common Pitfalls ### ❌ Avoid These Mistakes: 1. **Launching too early** - Polish matters 2. **No marketing** - "Build it and they'll come" is a myth 3. **Ignoring feedback** - Players know what's not fun 4. **No community** - Build audience before launch 5. **Poor store page** - First impression is everything 6. **Broken multiplayer** - Test with real players 7. **No analytics** - You need data to improve 8. **Giving up quickly** - Games can have long tails --- ## Resources ### Tools - **Analytics:** [AeThex Analytics](https://studio.aethex.dev/analytics) - **Marketing:** [Presskit()](https://dopresskit.com/) - **Community:** [Discord](https://discord.com) - **Email:** [Mailchimp](https://mailchimp.com) ### Learning - **Podcast:** How to Market a Game Podcast - **Book:** "The Indie Game Developer Handbook" - **YouTube:** Game Marketing channels - **Community:** [r/gamedev](https://reddit.com/r/gamedev) ### Support - **Email:** [support@aethex.dev](mailto:support@aethex.dev) - **Discord:** [AeThex Community](https://discord.gg/aethex) - **Docs:** [docs.aethex.dev](https://docs.aethex.dev) --- ## Checklist for Launch Day **24 Hours Before:** - [ ] Final build tested on all platforms - [ ] Store pages reviewed (no typos!) - [ ] Press emails sent - [ ] Social media posts scheduled - [ ] Discord announcement prepared - [ ] Support email ready to monitor - [ ] Analytics dashboard configured - [ ] Backup plan for critical bugs **Launch Day:** - [ ] Publish on all platforms - [ ] Post to social media - [ ] Send email to mailing list - [ ] Post in relevant communities - [ ] Monitor for issues - [ ] Respond to comments - [ ] Thank supporters - [ ] Celebrate! 🎉 **Week After:** - [ ] Gather feedback - [ ] Plan first update - [ ] Thank press/influencers who covered - [ ] Post-mortem analysis - [ ] Start work on updates --- ## Summary You've learned how to: ✅ Prepare your game for launch ✅ Publish to multiple platforms ✅ Create marketing materials ✅ Build and engage community ✅ Plan your launch strategy ✅ Support your game post-launch ✅ Handle updates and patches Publishing is just the beginning - support your game and community for long-term success! **Need More Help?** - [Export Guide](EXPORTING_GAMES.md) - Technical export details - [Analytics Tutorial](tutorials/ANALYTICS_TUTORIAL.md) - Track your success - [API Reference](API_REFERENCE.md) - Cloud features documentation **Good luck with your launch!** 🚀