806 lines
16 KiB
Markdown
806 lines
16 KiB
Markdown
# 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.io/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.io](mailto:support@aethex.io)
|
|
- **Discord:** [AeThex Community](https://discord.gg/aethex)
|
|
- **Docs:** [docs.aethex.io](https://docs.aethex.io)
|
|
|
|
---
|
|
|
|
## 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!** 🚀
|