Primeros pasos
Nota: La sección Tutorial te guía paso a paso para construir un juego desde cero. El Manual es una referencia: cada página explica una parte clave del motor, con ejemplos. Si eres nuevo en Angry Pixel, empieza por el Tutorial; usa el Manual para consultar.
Requisitos previos:
- Familiaridad con la terminal / línea de comandos.
- Familiaridad con JavaScript o TypeScript.
- Node.js en su versión 20 o superior instalado.
Instalación
Hay dos formas de iniciar un proyecto: generar un nuevo proyecto a partir de la plantilla oficial (skeleton), o instalar el motor manualmente en tu propio proyecto.
Plantilla oficial (skeleton)
El skeleton oficial proporciona una estructura de proyecto preconfigurada y lista para usar. Es un monorepo (workspaces de npm) donde el juego vive en una única base de código y desde ahí se compila para web, escritorio y móvil. Incluye comandos integrados para exportar a cada plataforma; por ejemplo npm run build (web), npm run build:desktop (escritorio mediante Electron) y npm run build:android (Android). Consulta el README.md del skeleton para la lista completa de comandos y más detalles.
Genera un nuevo proyecto a partir de él e instala sus dependencias:
npx degit angry-pixel-studio/angry-pixel-skeleton my-game
cd my-game
npm install
Instalación manual
Recomendada para proyectos existentes, o para desarrolladores con experiencia que quieran configurar su propio proyecto desde cero. Instala el motor desde npm:
npm install angry-pixel
El motor incluye sus propias definiciones de tipos, por lo que no se necesitan paquetes adicionales para TypeScript.
Nota: Recomendamos configurar tu proyecto con un empaquetador como Vite, que proporciona un servidor de desarrollo con recarga en caliente y una compilación de producción.
Estructura de carpetas sugerida
La siguiente estructura es una convención para organizar un proyecto. La plantilla skeleton la sigue, y es la disposición utilizada a lo largo de este manual.
my-game/
├── src/
│ ├── main.ts # Inicializa la instancia de Game, carga las escenas y ejecuta el juego
│ ├── component/ # Archivos de componentes
│ ├── config/ # Archivos de configuración y parámetros
│ ├── entity/ # Archivos de definición de entidades
│ ├── scene/ # Archivos de escenas
│ └── system/ # Archivos de sistemas
└── public/ # Recursos: imágenes, archivos de sonido, exportaciones de editores de mapas, etc.