Allegro
Allegro to otwarta i wieloplatformowa biblioteka, która służy do tworzenia gier zarówno w 2D, jak i 3D. Projekt został zapoczątkowany w 1996 roku przez Shawna Hargreavesa, który wkrótce po tym udostępnił źródła biblioteki wszystkim chętnym. Początkowo biblioteka była dostępna na licencji gift-ware, jednak od wersji 5.0 funkcjonuje na licencji zlib.
Możliwości
Biblioteka oferuje, między innymi, funkcje do obsługi:
- grafiki – opiera się na obiektach typu BITMAP, gdzie ekran również jest traktowany jako taki obiekt. Można wczytywać obrazy w formatach BMP, PCX, TGA i LBM (dzięki wtyczkom możliwe jest również korzystanie z innych formatów, jak PNG).
- grafiki 3D – obsługuje jedynie rendering programowy; Allegro nie jest przeznaczone do pisania gier 3D.
- animacji – umożliwia odtwarzanie plików FLI.
- dźwięku – wspiera formaty WAV, VOC oraz MIDI. Oferuje również funkcję nagrywania.
- myszy – pozwala na odczyt pozycji oraz przyspieszenia (dzięki funkcji ’get_mouse_mickeys’).
- klawiatury – zapewnia pełną obsługę klawiatury.
- dżojstika – biblioteka nie ogranicza liczby dostępnych drążków, osi ani przycisków, co umożliwia korzystanie z kilku jednocześnie.
- timerów – umożliwiają synchronizację szybkości gry niezależnie od wydajności komputera, na którym jest uruchamiana.
- unicode – obsługuje systemy unicode – 8 (UTF8) oraz 16-bitowy, co pozwala na pracę z tekstami w różnych językach.
- plików konfiguracyjnych – w formacie INI. Umożliwia zapis konfiguracji w domyślnym pliku ’allegro.cfg’ lub w pliku użytkownika.
- plików skompresowanych – wykorzystuje algorytm oparty na LZSS. Można także zabezpieczyć plik hasłem.
- plików z danymi – tworzonymi przy użyciu specjalnego programu grabber.
Biblioteka obsługuje tryby graficzne o głębi koloru 8 (z paletą), 15, 16 lub 24 bity. Tryby o mniejszej głębi koloru (16, 4 kolory oraz monochromatyczne) nie są wspierane. Głębia 32 bitów jest dostępna tylko dla bitmap i umożliwia zastosowanie przezroczystości z użyciem kanału alfa.
Gry korzystające z Allegro
- Gusanos
- Icy Tower
- Liquid War
- M.U.G.E.N
- Open Sonic
- Sonic Action