Back to project
Project Post 11/5/2026

Breakout Atari Game

Atari Breakout Game

Proyecto open source inspirado en el clásico Breakout, desarrollado con Astro y lógica de juego en TypeScript usando Canvas API.

🎮 Descripción

El objetivo es destruir todos los ladrillos rebotando la bola con la pala, evitando que la bola caiga fuera del área de juego. La partida comienza con un menú de dificultad integrado dentro del propio canvas.

✨ Funcionalidades

  • Menú inicial de dificultad: Fácil, Normal, Difícil.
  • Velocidad de bola ajustada según dificultad.
  • Incremento progresivo de velocidad durante la partida.
  • Ladrillos con resistencia variable (1 o 2 impactos).
  • Estados visuales de ladrillos dañados.
  • Mensaje de Game Over y reinicio con tecla.
  • Diseño responsive sin scroll vertical.
  • Navegación por teclado en el menú de dificultad.

🎯 Controles

Acción Tecla
Mover pala ← → o A D
Menú de dificultad ← → (también ↑ ↓) + Enter o Espacio
Reiniciar tras Game Over cualquier tecla

🧰 Stack técnico

  • Astro (sitio y bundling)
  • TypeScript (lógica del juego)
  • Canvas API (renderizado)
  • ESLint (calidad de código)

🗂️ Estructura del proyecto

src/
  pages/
    index.astro
  scripts/
    breakout/
      config.ts
      state.ts
      engine.ts
      index.ts

⚙️ Instalación y uso

npm install
npm run dev

Abrir en navegador: http://localhost:4321

📜 Scripts disponibles

Script Descripción
npm run dev entorno de desarrollo
npm run build build de producción
npm run preview previsualización del build
npm run typecheck chequeo de tipos (astro check)
npm run lint análisis estático de TypeScript

🧪 Calidad

Antes de subir cambios:

npm run typecheck
npm run lint
npm run build

🤝 Contribuciones

Las contribuciones son bienvenidas. Si quieres mejorar el juego o proponer nuevas ideas:

  • Abre un issue para discutir cambios grandes.
  • Envía un Pull Request con una descripción clara.
  • Mantén el estilo de código y pasa los checks (typecheck, lint, build).

📄 Licencia

Este proyecto se distribuye bajo la licencia MIT. Consulta el archivo LICENSE.

More related posts

No more related posts.