Allegro (biblioteca de software)

Compartir Imprimir Citar

Allegro es una biblioteca de software para el desarrollo de videojuegos. La funcionalidad de la biblioteca incluye soporte para gráficos 2D básicos, manipulación de imágenes, salida de texto, salida de audio, música MIDI, entrada y temporizadores, así como rutinas adicionales para aritmética matricial de punto fijo y punto flotante, cadenas Unicode, acceso al sistema de archivos, manipulación de archivos, archivos de datos y gráficos 3D. La biblioteca está escrita en el lenguaje de programación C y está diseñada para usarse con C, C++ u Objective-C, con enlaces disponibles para Python, Lua, Scheme, D, Go y otros lenguajes. Allegro viene con una extensa documentación y muchos ejemplos.

Allegro es compatible con Windows, macOS, sistemas similares a Unix, Android e iOS, y abstrae sus interfaces de programación de aplicaciones (API) en una interfaz portátil. También puede ejecutarse sobre Simple DirectMedia Layer, que se utiliza para ejecutar programas Allegro en un navegador web mediante Emscripten.

Lanzado bajo los términos de la licencia zlib, Allegro es un software gratuito y de código abierto.

Historia

Inicialmente representando Rutinas de juego de bajo nivel de Atari, Allegro fue creado originalmente por Shawn Hargreaves [pl] para Atari ST a principios de la década de 1990. Sin embargo, Hargreaves abandonó la versión de Atari cuando se dio cuenta de que la plataforma estaba muriendo y volvió a implementar su trabajo para los compiladores Borland C ++ y DJGPP en 1995. El soporte para Borland C ++ se eliminó en la versión 2.0 y DJGPP era el único compilador compatible. Como DJGPP era un compilador de DOS, todos los juegos que usaban Allegro usaban DOS. Alrededor de 1998, Allegro se dividió en varias versiones. Se creó un puerto para Windows, WinAllegro, y también durante este tiempo, se creó un puerto Unix de Allegro, XwinAllegro. Estos diversos puertos se unieron durante las versiones WIP de Allegro 3.9, siendo Allegro 4.0 la primera versión estable de Allegro compatible con múltiples plataformas.

Alegro 5

El desarrollo actual se centra en la rama Allegro 5, un rediseño completo tanto de la API como de gran parte del funcionamiento interno de la biblioteca. Se hizo un esfuerzo para hacer que la API sea más consistente y segura para subprocesos múltiples. De forma predeterminada, la biblioteca ahora está acelerada por hardware mediante el uso de backends de renderizado OpenGL o DirectX, según corresponda. Muchos de los complementos que existían como proyectos separados para Allegro 4 ahora interactúan perfectamente con Allegro propiamente dicho y se incluyen con la instalación predeterminada. Allegro 5 se basa en eventos.

Características

Allegro 5 admite las siguientes funciones en su API principal:

Complementos

La comunidad de usuarios de Allegro ha contribuido con varias extensiones de biblioteca para manejar cosas como el desplazamiento de mapas de mosaicos y la importación y exportación de varios formatos de archivo. Además, algunas partes de lo que solía ser parte de Allegro ahora están separadas como un complemento en Allegro 5. Estos complementos se distribuyen con la biblioteca central: