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
🔊 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 5 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
- Gestión de hasta 127 repositorios de recursos definidos en un fichero de texto
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.
Actualmente, el motor funciona y se compila en:
- Windows
- Linux (probado en Linux Mint)
- Raspberry Pi OS
- Anbernic RG35XX (usando una imagen de Docker)
| The Lost Mines | ADV Game Demo | Idunn's Grace |
|---|---|---|
![]() |
![]() |
![]() |
N'gine ha evolucionado. El SDK ha migrado a un flujo de trabajo moderno usando Visual Studio Code y CMake. A continuación, se detalla la configuración para Windows, Linux y Raspberry Pi.
Nota: La carpeta raíz de tu distribución suele llamarse
ngn.X.X.X-stable.
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 Cross-Compile (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 - Empieza Aquí: Plantillas para VS Code + CMake
│ ├── docker_Raspberry_Pi - Plantillas para compilación con Docker (RPi)
│ └── docker_RG35XX - Plantillas para compilación con Docker (Anbernic)
└── Tools - Fuentes de las herramientas de conversión
├── NGN_CollisionMap - PNG to Collision Map
├── NGN_FileSystem - Asset Packer
├── NGN_Sprite - PNG to Sprite
├── NGN_TileMap - PNG to Tilemap
└── ToolSet - Herramientas compiladas listas para usar
Antes de las configuraciones específicas, asegúrate de tener el editor instalado:
- Visual Studio Code: Descargar aquí.
- Extensiones: Abre VS Code e instala estas extensiones oficiales de Microsoft:
C/C++(IntelliSense, depuración)CMake Tools(Configuración de proyectos)
- Paso A: Descarga e instala CMake. (Asegúrate de seleccionar "Add CMake to system PATH" durante la instalación).
- Paso B: Descarga e instala MSYS2.
Abre la terminal de MSYS2 (MINGW64) y ejecuta los siguientes comandos para instalar el compilador:
pacman -Syu
pacman -S mingw-w64-x86_64-toolchainWindows necesita saber dónde están el compilador y el SDK.
-
Añadir Compilador al Path: Edita las Variables de Entorno del Sistema. Dentro de la variable Path, añade la ruta a tu carpeta
binde MinGW64. Si usaste la ruta de instalación por defecto, será:C:\msys64\mingw64\bin(Si instalaste MSYS2 en otro directorio, por ejemplo enC:\Code\msys64, ajusta la ruta en consecuencia). -
Definir Ruta del SDK:
- Copia la carpeta
Ngine_SDK(que contiene las librerías) a un lugar seguro (ej.C:\Code\Ngine_SDK). - Crea una NUEVA variable de entorno del sistema llamada
NGINE_SDK_PATHque apunte a esa carpeta.
- Copia la carpeta
El SDK incluye scripts para gestionar las dependencias y la compilación de librerías automáticamente. Navega a la carpeta LibBuild/InstallNgineSDK/ dentro de la distribución y ejecuta:
chmod +x install_ngine_sdk.sh
./install_ngine_sdk.shEsto instalará las dependencias necesarias (SDL2, SFML) y el propio núcleo de N'gine en /usr/local/.
- Navega a la carpeta
Templates/cmakeen el directorio de tu SDK. - Copia la carpeta
basic_templatea tu zona de trabajo (ej.C:\Proyectos\MiJuegoo~/Proyectos/MiJuego). - Abre esa carpeta en Visual Studio Code.
- Espera a que CMake Tools configure el proyecto. Si te pide seleccionar un Kit de compilación, selecciona
GCC x86_64. - Pulsa F7 o haz clic en "Build" en la barra de estado inferior para compilar.
El paquete de distribución contiene el código fuente, bibliotecas compiladas, documentación, ejemplos comentados y demos funcionales.
Puedes descargar la última versión desde la página de Releases de GitHub.
(Haz clic en la imagen para ver el vídeo)
N'gine se distribuye bajo la Licencia MIT. Esto significa que puedes usarlo, modificarlo y distribuirlo libremente para tus proyectos (comerciales o no), siempre que se incluya la atribución correspondiente.
Para cualquier duda o sugerencia, puedes contactar a través de [email protected].









