Meteoritos Arcade es un juego clásico de naves espaciales y asteroides... pero con un giro tecnológico único. Mientras el frontend está construido con React + TypeScript, el corazón del juego —físicas, colisiones y lógica— corre en Python con Pygame, todo orquestado en la nube mediante Replit.
✨ ¿El resultado? Un híbrido técnico donde el frontend moderno se encuentra con la potencia clásica de Pygame.
| Tecla | Acción |
|---|---|
| ← | Mover nave a la izquierda |
| → | Mover nave a la derecha |
| ␣ | ¡Disparar! |
Objetivo: Destruye todos los meteoritos que caen. Cada impacto suma puntos. ¡Cuidado! Un solo choque y el juego termina.
Este proyecto combina dos mundos que rara vez se encuentran:
┌─────────────────────────────────────────────────────┐
│ NAVEGADOR │
│ ┌───────────────────────────────────────────────┐ │
│ │ React + TypeScript │ │
│ │ • UI moderna con Radix UI │ │
│ │ • TailwindCSS para estilos │ │
│ │ • Vite para builds ultrarrápidas │ │
│ └───────────────────────────────────────────────┘ │
│ ↑ │
│ │ (WebSocket / API) │
│ ↓ │
│ ┌───────────────────────────────────────────────┐ │
│ │ Python + Pygame │ │
│ │ • Lógica de juego completa │ │
│ │ • Sistema de colisiones │ │
│ │ • Control de disparos │ │
│ │ • Generación procedural de meteoritos │ │
│ │ • Audio y efectos │ │
│ └───────────────────────────────────────────────┘ │
│ ↑ │
│ ↓ │
│ ┌───────────────────────────────────────────────┐ │
│ │ Replit Deployment │ │
│ │ • Orquestación backend/frontend │ │
│ │ • Hosting en la nube │ │
│ └───────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────┘
| Tecnología | Uso |
|---|---|
| React 18 | Framework principal |
| TypeScript | Tipado estático |
| Vite | Build tool ultrarrápido |
| Radix UI | Componentes accesibles |
| TailwindCSS | Estilos utilitarios |
| Framer Motion | Animaciones fluidas |
| Lucide React | Iconos elegantes |
| React Hook Form + Zod | Validación de formularios |
| TanStack Query | Gestión de estado asíncrono |
| Tecnología | Uso |
|---|---|
| Python 3.12 | Lenguaje principal |
| Pygame | Motor de juego (físicas, colisiones, sprites, audio) |
| Random / Time | Generación procedural y temporización |
| Tecnología | Uso |
|---|---|
| Replit | Despliegue y orquestación full-stack |
| Vite Preview | Servicio del frontend |
| Pygame Runtime | Ejecución del backend en la nube |
| Característica | Descripción |
|---|---|
| 🚀 Movimiento fluido | Control total de la nave con teclas ← → |
| 💥 Sistema de disparos | Disparos que destruyen meteoritos |
| 🌠 Generación dinámica | Asteroides aparecen aleatoriamente |
| 🔊 Efectos de sonido | Música de fondo + sonidos de colisión |
| 📊 Puntuación en tiempo real | Contador de puntos actualizado |
| 🎨 Fondo animado | Efecto parallax en movimiento |
| ❌ Game Over | Pantalla final con detención de audio |
🎮 ¡Juega ahora! → https://game-deployer--salgadobarcenas.replit.app
Este proyecto nació de una pregunta interesante: ¿Podemos hacer que Pygame —un motor tradicionalmente local— corra en la nube y se comunique con un frontend moderno en React?
La respuesta fue un híbrido técnico que:
- ✅ Mantiene la potencia de Pygame para lógica de juego
- ✅ Ofrece una UI moderna con componentes accesibles
- ✅ Se despliega completamente en Replit sin configuración compleja
- ✅ Sirve como prueba de concepto de integración Python/JS
¡Las contribuciones son bienvenidas! Si quieres mejorar el juego o agregar nuevas features:
- Fork el repositorio
- Crea tu rama (
git checkout -b feature/NuevaFeature) - Commit tus cambios (
git commit -m 'Agrega nueva feature') - Push (
git push origin feature/NuevaFeature) - Abre un Pull Request
MIT © Astharmin
⭐ ¿Te gustó el proyecto? ¡Dale una estrella en GitHub para apoyarlo! ⭐