Logo de n'gine

Un motor de juegos 2D de código abierto, inspirado en los clásicos.

¿Qué es N’gine?

N’gine es un motor de código abierto para el desarrollo de juegos en 2D, en especial para juegos pixel art, inspirado en las técnicas usadas por las consolas clásicas (fondos de tiles, sprite-sheets, etc).

¿Qué lenguaje de programación se ha usado?

Todo el motor está programado enteramente en C++, usando librerías de apoyo para acelerar el proceso de creación del mismo, como SDL2, SFML y LodePng entre otras.

¿A quién va destinado?

A cualquier persona que quiera desarrollar su videojuego y tenga nociones de programación orientada a objetos.

¿Bajo qué sistemas funciona?

Actualmente el motor funciona en sistemas operativos Windows, Linux y Raspberry PI OS, permitiendo exportar proyectos para Windows, Linux, Raspberry PI, Anbernic RG35XX y Evercade*.

* La exportación a Evercade requiere de la licencia oficial de desarrollador por parte de Blaze Entertainment Ltd.

¿Bajo qué licencia se distribuye?

El motor se distribuye bajo la licencia MIT. Eso significa que puedes usar, modificar, crear y distribuir contenido usando el motor, siempre y cuando lo acredites correctamente.

¿Cómo nació este proyecto?

El proyecto nació por la necesidad de tener una herramienta 2D a medida para el desarrollo de proyectos personales y en mayor medida, como base para la realización de proyectos de los estudiantes de primer curso en el centro donde imparto clases como profesor de diseño y programación de videojuegos.

¿En qué estado de desarrollo se encuentra el motor?

Con más de 10 años de desarrollo, ya se encuentra en una fase estable de desarrollo y sin bugs graves conocidos, por lo que actualmente se trabaja en la mejora de rendimiento y la incorporación de nuevas funcionalidades.

¿Cuáles son las principales características del motor?

Métodos de entrada:

  • Teclado
  • Ratón
  • Gamepads norma x-input

Gráficos:

  • Texturas de hasta 8192×8192 píxeles
  • Fondos de gran tamaño usando tiles
  • Sprites con o sin animación
  • Cámara virtual 2D
  • Capas de texto
  • Lienzo para el dibujado de primitivas
  • Diferentes modos de mezcla y uso de mascaras
  • Hasta 8 viewports simultáneos y ajustables
  • Capacidad de 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 6 canales
  • Posibilidad de cambiar el volumen, pan (en los efectos de sonido), pitch y loop

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

Colisiones:

  • Detección de colisión entre 2 sprites por cajas, con la posibilidad de añadir múltiples colisionadores en cada sprite
  • Detección de colisión entre 2 sprites a nivel de píxel
  • Raycast de 1 punto de una coordenada a un sprite
  • Mapas de colisión de hasta 255 colores

Sistema de archivos:

  • Funciones de carga de los recursos desde el sistema de archivos
  • Posibilidad de crear archivos de empaquetado de recursos con la posibilidad de encriptación
  • Funciones de carga y grabación de archivos en formato binario o texto
  • Posibilidad de gestionar hasta 127 repositorios de recursos, indicado la lista de archivos a cargar desde un archivo de texto plano.

Puertos GPIO (Raspberry Pi):

  • Acceso e interacción directa con los puertos de entrada/salida en Raspberry Pi 4 y 5
  • Modos de salida y entrada digital con resistencias internas Pull-Up y Pull-Down configurables
  • Filtro anti-rebote (debounce) por hardware en microsegundos para botones y switches mecánicos
  • Implementado sobre la API v2 de libgpiod del Kernel de Linux

¿Qué contiene el paquete de distribución del motor?

El paquete incluye el código fuente del motor, así como sus librerías compiladas para Windows. Incorpora, además, scripts para la compilación e instalación del motor en entornos Linux y scripts para la creación de varias imágenes de Docker, facilitando la compilación y exportación en todos los sistemas basados en Linux descritos. También se proporciona documentación de instalación y uso, ejemplos comentados y un pack con demos ya compiladas que muestran las principales funcionalidades del motor.

¿Dónde puedo conseguir el motor?

Actualmente el motor está hospedado en Github, puedes descargarte la última versión desde el menú de esta página.

¿Cómo puedo contactar con el autor?

Puedes enviar un correo electronico a la dirección de contacto: contact@nightfoxandco.com.

NightFox & Co. Ver Manual GitHub Contacto English Version Volver Arriba