English Version Available Here
N’gine es un motor de código abierto para el desarrollo de juegos 2D, programado en C++ e inspirado en las técnicas de las consolas clásicas. Está especialmente diseñado para crear juegos con estética pixel art, utilizando fondos de tiles, sprite-sheets y una gestión de recursos eficiente.
Con más de 10 años de desarrollo, se encuentra en una fase estable, con el foco puesto en la mejora de rendimiento y la incorporación de nuevas funcionalidades.
🖱️ Métodos de Entrada
- Teclado
- Ratón
- Gamepads (estándar X-Input)
🎨 Gráficos
- Texturas de hasta 8192×8192 píxeles
- Fondos basados en tiles de gran tamaño
- Sprites con y sin animación
- Cámara virtual 2D
- Capas de texto y lienzo para primitivas
- Modos de mezcla, máscaras y hasta 8 viewports simultáneos
- Capacidad para mover, rotar y escalar todos los elementos gráficos
🎬 Vídeo
- Soporte para reproducción de archivos en formato OGV (Theora)
- Hasta 4 streams de vídeo simultáneos con sincronización de audio y vídeo
- Control total de reproducción: Iniciar, pausar, detener y modo bucle (loop)
- Transformación completa del render de vídeo: Posición, rotación y escalado
- Efectos visuales aplicables al stream: Transparencia (Alpha), tintado RGB y modos de mezcla
🔊 Sonido
- Hasta 4 streams de música/diálogos simultáneos (formato OGG)
- Hasta 64 efectos de sonido simultáneos (formato WAV recomendado)
- Mezclador de 6 canales con control de volumen, paneo, pitch y loop
💥 Colisiones
- Detección por cajas (bounding box) con múltiples colisionadores por sprite
- Detección a nivel de píxel
- Raycasting desde un punto a un sprite
- Mapas de colisión de hasta 255 colores
📁 Sistema de Archivos
- Carga de recursos desde el sistema de archivos local
- Creación de archivos de empaquetado de recursos con opción de cifrado
- Funciones de carga y grabación de archivos en formato binario o texto
- Gestión de hasta 127 repositorios de recursos definidos en un fichero de texto plano
N'gine está destinado a cualquier persona con nociones de programación orientada a objetos que quiera desarrollar su propio videojuego 2D. Nació como una herramienta a medida para proyectos personales y como base para los proyectos de los estudiantes de primer curso en el centro donde imparto docencia como profesor de diseño y programación de videojuegos.
Actualmente, el motor funciona y permite exportar para:
- Windows
- Linux (probado en Linux Mint / Ubuntu)
- Raspberry Pi OS
- Anbernic RG35XX (usando imágenes de Docker proporcionadas)
- Evercade*
* La exportación a Evercade requiere de la licencia oficial de desarrollador por parte de Blaze Entertainment Ltd.
| The Lost Mines | ADV Game Demo | Idunn's Grace |
|---|---|---|
![]() |
![]() |
![]() |
N'gine utiliza un flujo de trabajo moderno basado en Visual Studio Code y CMake.
El paquete incluye el código fuente, librerías compiladas para Windows, scripts de automatización para Linux y soporte para contenedores Docker.
ngn.x.x.x-stable
├── Demo - Demos compiladas de todos los ejemplos (Win/Linux/RPi)
├── Docs - Documentación y manuales
├── Examples - Código fuente y assets cubriendo todas las funciones
├── LibBuild - Scripts y código para compilar/instalar el SDK
│ ├── BuildNgineSDK - Windows Build Scripts (.bat)
│ ├── Dockers - Imágenes Docker para compilación cruzada (RG35XX, RPi4)
│ └── InstallNgineSDK - Scripts de instalación Linux/RPi (.sh)
├── LibRelease - Binarios de la librería N'gine listos para usar
├── Ngine_SDK - El SDK N'gine para Windows listo para usar
├── Source - Código fuente del núcleo de N'gine
├── Templates - Plantillas de Proyectos (CMake, Docker)
└── Tools - Herramientas de conversión (Sprites, Tilemaps, FileSystem)
- Visual Studio Code: Descargar aquí.
- Extensiones: Instalar
C/C++yCMake Toolsdesde el Marketplace.
- Instalar CMake (añadir al PATH).
- Instalar MSYS2 y ejecutar en su terminal:
pacman -S mingw-w64-x86_64-toolchain - Añadir la ruta
binde MinGW64 al Path de Windows. - Crear la variable de entorno de sistema
NGINE_SDK_PATHapuntando a tu carpetaNgine_SDK.
El SDK facilita la gestión de dependencias (SDL2, SFML, etc.) mediante scripts:
- Navega a
LibBuild/InstallNgineSDK/. - Ejecuta:
chmod +x install_ngine_sdk.sh ./install_ngine_sdk.sh
Puedes obtener el código fuente, la documentación y los binarios desde la página de Releases de GitHub.
N'gine se distribuye bajo la Licencia MIT. Puedes usarlo, modificarlo y distribuirlo libremente (proyectos comerciales incluidos) siempre que mantengas la atribución correspondiente.
Para dudas, sugerencias o soporte: contact@nightfoxandco.com.



