import { Badge } from "@/components/ui/badge"; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"; import { Button } from "@/components/ui/button"; import { Heart, Code2, Rocket, ExternalLink, CheckCircle2, AlertTriangle, Package } from "lucide-react"; import { CodeBlock } from "@/components/dev-platform/ui/CodeBlock"; export default function ItchIoIntegration() { return (
Itch.io Integration

Publish on Itch.io with AeThex

Distribute your indie games on itch.io, the world's largest indie game marketplace. Integrate AeThex APIs for cloud saves, achievements, analytics, and cross-platform player progression.

{/* Quick Stats */}
1M+
Creators
500K+
Published Games
Pay What You Want
Flexible Pricing
{/* Features */}

What You Can Build

Cloud Save Sync Save player progress to AeThex backend, accessible across itch.io app and browser builds Cross-Store Leaderboards Combine itch.io players with Steam, Epic, and GameJolt users in unified leaderboards Player Analytics Track itch.io player behavior, demographics, and compare with other distribution platforms Web Game Backend Perfect for HTML5/WebGL games on itch.io - use AeThex REST APIs directly from browser
{/* Quick Start */}

Quick Start Guide

1. Publish Your Game on Itch.io Create your game page and upload builds
  1. 1. Create account at itch.io
  2. 2. Upload your game via Dashboard → Upload new project
  3. 3. Configure pricing (free, paid, or pay-what-you-want)
  4. 4. Set up API access in your game code (no itch.io API key needed for basic features)
2. Initialize AeThex for Web Games Perfect for HTML5/WebGL builds on itch.io // Or via npm for bundled projects import { AeThexClient } from '@aethex/sdk'; // Initialize client const aethex = new AeThexClient({ apiKey: 'YOUR_AETHEX_API_KEY', environment: 'production' }); // Authenticate player (email/password or guest) async function authenticatePlayer() { try { // Check if user has existing session const savedToken = localStorage.getItem('aethex_token'); if (savedToken) { aethex.setAuthToken(savedToken); console.log('Restored session'); return; } // Otherwise, create guest account const result = await aethex.auth.createGuest({ platform: 'itchio', deviceId: generateDeviceId() }); localStorage.setItem('aethex_token', result.token); console.log('Guest account created:', result.userId); } catch (error) { console.error('Auth failed:', error); } } function generateDeviceId() { // Create stable device ID for itch.io app or browser const storedId = localStorage.getItem('device_id'); if (storedId) return storedId; const newId = 'itchio_' + Math.random().toString(36).substring(2); localStorage.setItem('device_id', newId); return newId; } // Call on game start authenticatePlayer();`} language="javascript" showLineNumbers={true} /> 3. Implement Cloud Saves Save player progress across sessions and devices { const state = getGameState(); this.saveGame(state); }, 120000); // 2 minutes } showNotification(message) { // Show in-game notification console.log('NOTIFICATION:', message); } } // Usage const saveManager = new SaveManager(aethex); await saveManager.init(); // Load game on start const gameState = await saveManager.loadGame(); // Enable auto-save saveManager.enableAutoSave(() => ({ level: currentLevel, score: playerScore, inventory: playerInventory, progress: gameProgress })); // Manual save button document.getElementById('save-button').addEventListener('click', async () => { await saveManager.saveGame({ level: currentLevel, score: playerScore, inventory: playerInventory, progress: gameProgress }); });`} language="javascript" showLineNumbers={true} />
{/* Itch.io App Integration */}

Itch.io App Integration

Detect Itch.io App Environment Optimize for browser vs desktop app Cross-Platform Leaderboard Share scores across itch.io and other stores { const platformBadge = getPlatformBadge(entry.metadata.platform); container.innerHTML += \`
\${index + 1} \${entry.username} \${platformBadge} \${entry.score.toLocaleString()}
\`; }); } function getPlatformBadge(platform) { const badges = { 'itchio': '🎮 itch.io', 'steam': '🔷 Steam', 'gamejolt': '⚡ GameJolt', 'epic': '📦 Epic' }; return badges[platform] || '🌐 Web'; }`} language="javascript" showLineNumbers={true} />
{/* Best Practices */}

Best Practices & Tips

Itch.io-Specific Tips

HTML5 games: Itch.io has excellent HTML5 support, perfect for WebGL/Canvas games

Pay-what-you-want: Offer free version with AeThex ads, paid removes ads

Butler CLI: Use itch.io's butler tool for automated builds and updates

Browser compatibility: Test in Chrome, Firefox, Safari for web builds

Monetization Strategy

Flexible pricing: Let players pay what they want ($0-$20 recommended)

Revenue share: Itch.io takes 0-30% (you choose), AeThex tracks sales analytics

Bundle sales: Participate in itch.io bundles for discoverability

Patreon integration: Link Patreon supporters to exclusive AeThex features

{/* Resources */}

Resources & Examples

Example Games Documentation
{/* Next Steps */}

Ready to Launch?

Publish your indie game on itch.io with AeThex backend features. Reach 500K+ games marketplace with cloud saves, cross-platform leaderboards, and player analytics.

); }