import GameForgeLayout from "@/components/gameforge/GameForgeLayout"; import { Button } from "@/components/ui/button"; import { Badge } from "@/components/ui/badge"; import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; import { useArmTheme } from "@/contexts/ArmThemeContext"; import { Gamepad2, Calendar, Users, TrendingUp, Rocket, ArrowRight, ExternalLink, Zap, Target, Code, Palette, Music, } from "lucide-react"; import { useNavigate } from "react-router-dom"; import { useEffect, useState, useRef } from "react"; import LoadingScreen from "@/components/LoadingScreen"; import { useArmToast } from "@/hooks/use-arm-toast"; export default function GameForge() { const navigate = useNavigate(); const { theme } = useArmTheme(); const armToast = useArmToast(); const [isLoading, setIsLoading] = useState(true); const [showTldr, setShowTldr] = useState(false); const [showExitModal, setShowExitModal] = useState(false); const toastShownRef = useRef(false); useEffect(() => { const timer = setTimeout(() => { setIsLoading(false); if (!toastShownRef.current) { armToast.system("GameForge engine initialized"); toastShownRef.current = true; } }, 900); return () => clearTimeout(timer); }, [armToast]); // Exit intent detection useEffect(() => { const handleMouseLeave = (e: MouseEvent) => { if (e.clientY <= 0 && !showExitModal) { setShowExitModal(true); } }; document.addEventListener('mouseleave', handleMouseLeave); return () => document.removeEventListener('mouseleave', handleMouseLeave); }, [showExitModal]); if (isLoading) { return ( ); } const productionStats = [ { label: "Games Shipped", value: "15+", icon: Rocket }, { label: "Active Players", value: "200K+", icon: Users }, { label: "Team Members", value: "25", icon: Users }, { label: "Avg Development", value: "32 days", icon: Calendar }, ]; const features = [ { icon: Zap, title: "30-Day Production Cycle", description: "Ship complete games from concept to live in under a month using proven development pipelines.", gradient: "from-green-500 to-emerald-500" }, { icon: Users, title: "Collaborative Teams", description: "Work alongside designers, developers, artists, and musicians in cross-functional squads.", gradient: "from-cyan-500 to-blue-500" }, { icon: Target, title: "Real Portfolio Projects", description: "Build your aethex.me passport with shipped games that prove your ability to execute.", gradient: "from-purple-500 to-pink-500" }, { icon: TrendingUp, title: "Proven Technology", description: "Use cutting-edge tools and frameworks developed by AeThex Labs for rapid game development.", gradient: "from-orange-500 to-red-500" }, ]; return (
{/* Persistent Info Banner */}

GameForge is hosted at{" "} aethex.foundation/gameforge

{/* Background Effects */}
{/* Hero Section */}
GameForge Logo
Foundation's Game Production Studio

Ship Games Every Month

AeThex GameForge is a master-apprentice mentorship program where teams of 5 developers ship real games in 30-day sprints.

{/* TL;DR Section */}
{showTldr && (

TL;DR

  • 30-day game development sprints
  • 5-person teams (1 mentor + 4 developers)
  • Ship real games to aethex.fun
  • Build your portfolio on aethex.me passport
  • Part of AeThex Foundation (501c3 non-profit)
)}
{/* Stats Section */}
{productionStats.map((stat, idx) => { const Icon = stat.icon; return (

{stat.value}

{stat.label}

); })}
{/* Features Grid */}

Why Join GameForge?

The fastest way to build a real game development portfolio and prove you can ship.

{features.map((feature, idx) => { const Icon = feature.icon; return (
{feature.title}

{feature.description}

); })}
{/* How It Works */}

The 30-Day Sprint

From concept to shipped game in one month

{[ { week: "Week 1", title: "Ideation & Prototyping", description: "Define game concept, create GDD, build playable prototype", tasks: ["Team formation", "Concept validation", "Core mechanics test"] }, { week: "Week 2", title: "Development Sprint", description: "Parallel production: code, art, sound, narrative", tasks: ["Feature implementation", "Asset creation", "Level design"] }, { week: "Week 3", title: "Polish & Integration", description: "Integrate assets, refine gameplay, balance mechanics", tasks: ["Bug fixing", "Playtesting", "Performance optimization"] }, { week: "Week 4", title: "QA & Launch", description: "Final testing, deployment, and post-launch monitoring", tasks: ["Final QA", "Ship to aethex.fun", "Community showcase"] }, ].map((phase, idx) => (
{idx + 1}
{phase.week}

{phase.title}

{phase.description}

{phase.tasks.map((task, taskIdx) => ( {task} ))}
))}
{/* Team Roles */}

Squad Structure

Every team has 5 members with specialized roles

{[ { role: "Forge Master", icon: Target, description: "Mentor & Lead", color: "from-green-500 to-emerald-500" }, { role: "Scripter", icon: Code, description: "Programming", color: "from-blue-500 to-cyan-500" }, { role: "Builder", icon: Palette, description: "Art & Design", color: "from-purple-500 to-pink-500" }, { role: "Sound Designer", icon: Music, description: "Audio & Music", color: "from-orange-500 to-red-500" }, { role: "Narrative", icon: Users, description: "Story & UX", color: "from-yellow-500 to-amber-500" }, ].map((member, idx) => { const Icon = member.icon; return (

{member.role}

{member.description}

); })}
{/* CTA Section */}

Ready to Ship Your First Game?

Join the next GameForge cohort and build your portfolio with real, shipped games.

Part of the AeThex Foundation 501(c)(3) non-profit

{/* Exit Intent Modal */} {showExitModal && (

Ready to Ship Games?

Join GameForge and start building your portfolio with real, shipped games in 30-day sprints.

)} ); }