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.
Create account at itch.io
-
2.
Upload your game via Dashboard → Upload new project
-
3.
Configure pricing (free, paid, or pay-what-you-want)
-
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 */}
{/* 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.
);
}