Allegro library

from Wikipedia, the free encyclopedia
Allegro

Allegro-logo.svg
Basic data

Publishing year 1990
Current  version 5.2.5
(February 25, 2019)
operating system Windows, Linux, macOS
programming language C.
License zlib license
alleg.sf.net

Allegro is a free library written in C for programming computer games in C , C ++ and other languages. Allegros license ( zlib license ) does not restrict the use, modification or distribution of the library in any way.

A big advantage is the portability of Allegro. Programs can usually be compiled and executed under a variety of operating systems without changes . The current stable version 5.0 supports Windows , Unix ( Linux , FreeBSD , Irix, Solaris , Darwin ) as well as macOS and iOS .

The basic services of Allegro include functions and data structures for two-dimensional graphics, sound output, user input and the timing of programs. The library also provides support for mathematical calculations, simple 3-D computer graphics , compressed data , file systems, and a simple graphical user interface .

Beginner-friendliness

Allegro fulfills similar tasks as the Simple DirectMedia Layer , but abstracts a little further from the hardware basics and offers more functionality " out of the box ", which is why fewer additional libraries are required. Allegro is also delivered with extensive and understandable documentation and many example programs. For these reasons, Allegro is relatively easy to access for beginners.

History and legacies

Allegro's roots go back to the Atari ST in the early 1990s . It was best known as a library for DJGPP , the DOS version of the GNU Compiler Collection . As a result, it still has many routines for DOS support. The support for high-performance hardware , for example to mix colors quickly, and in particular the connection to OpenGL are not yet as mature in the pure Allegro as in SDL . The extensions FBlend and AllegroGL compensate for this disadvantage.

Some further problems of the current API have grown historically : Some of the terms used are uncommon or out of date. Many equivalent or similar functions can be summarized. With some of the routines offered, the question arises whether they are still up-to-date for modern systems or whether external offers could better solve these tasks. This applies e.g. B. for the fixed point arithmetic and the software 3D routines. Allegro's user interface was introduced mainly for the many tools included. There are several powerful extensions available to make your own programs more appealing.

Many of the disadvantages mentioned should be eliminated in a new version 5. For lack of time, however, after a short active phase in 2001, development has progressed relatively slowly.

Allegro 5 receives a completely revised API as well as graphic code tailored to the latest hardware and an event-based input and timer system. At the same time as the development of version 5 in the current development branch 4.9, there are also plans to work on version 4.4 after the release of the stable version 4.2.2, which is based on the old code, but should integrate some add-ons such as AllegroGL.

While the software was previously published as "Giftware", from version 5 onwards it is published under the zlib license .

See also

literature

  • Lennart Steinke: Game programming . bhv, 2003 ISBN 3826680758
  • Jonathan Harbor: Game Programming All in One, Second Edition. Muska & Lipman / Premier-Trade 2004, ISBN 1-592-00383-4 (English)

Web links

swell

  1. official roadmap on the Allegro Wiki page