Hébergé par:
Page du projet
|
|
Introduction
Allegro est une librairie portable destinée à la conception de jeux vidéo et
autres types de programmes multimédia, écrite à l'origine par
Shawn Hargreaves pour le compilateur DJGPP
dans un mélange de C et d'assembleur.
Selon le «Oxford Companion to Music», Allegro en italien signifie
«rapide, vivant, vif». C'est aussi un acronyme récursif qui correspond à
«Allegro Low LEvel Game ROutines»
[routines de bas niveau pour les jeux].
Support multi plates-formes
- Unix (Linux, FreeBSD, Irix, Solaris, Darwin)
- Windows (MSVC, MinGW, Cygwin, Borland)
- BeOS
- QNX
- MacOS X
- Dos (DJGPP, Watcom)
Fonctions graphiques
- Dessin:
- pixels, lignes, rectangles, cercles, ellipses, arcs, courbes de Bézier
- remplissage de formes, remplissage par motif
- polygones simples, Gouraud, texturés (3D), transparents, clippés
- Sprites:
- sprites masqués, compressés, compilés
- blitting, rotation, agrandissement, réduction, transparence, éclairement Gouraud
- support des formats BMP, LBM, PCX et TGA (autres formats par librairies d'extension)
- Palettes:
- manipulation de palette (lecture, écriture, conversion, fondu)
- conversion de formats de couleur RGB <-> HSL
- Texte:
- support de différents encodages et conversions, le défaut est UTF-8
- polices de caractéres bitmap (maskage, coloriage, alignement)
- Divers:
- dessin direct sur l'écran ou sur des images mémoire de n'importe quelle taille
- scrolling matériel et triple buffer (selon support), écrans mode-X éclatés
- affichage d'animations au format FLI/FLC
Pilotes graphiques
- Unix:
- X Window, DGA, fbcon
- SVGAlib
- VBE/AF
- mode-X
- VGA
- Windows:
- DirectX (fenêtré et plein-écran)
- GDI
- MacOS X:
- Quartz (fenêtré et plein-écran)
- BeOS:
- BWindowScreen
- BDirectWindow
- Dos:
- mode VGA 13h
- mode-X (23 résolutions VGA plus le mode 640x400 étendu)
- modes SVGA en 8, 15, 16, 24 et 32 bits par pixel
- mode d'adressage linéaire VBE 2.0
- accélération matérielle avec l'API VBE/AF si elle est disponible
- support vidéo additionnel grâce au projet FreeBE/AF
- OpenGL:
- L'extension AllegroGL permet
d'utiliser les graphiques OpenGL avec Allegro.
Gestion du son
- Midi:
- lecture de musique au format MIDI (jusqu'à 64 effets sonores simultanés)
- réponse aux messages note on, note off, main volume, pan, pitch bend et program change
- utilisation des ensembles de patches General MIDI
- toutes les versions permettent la lecture MIDI de tables d'ondes logicielles (SF2, patches GUS)
- Wave:
- lecture d'échantillons sonores au format WAV et VOC (boucle, avant, arrière, bidirectionnel)
- streaming audio
- ajustement du volume, pan, pitch, etc. pendant la lecture
Pilotes son
- Unix:
- OSS
- ALSA (0.5/0.9/1.0)
- ESD
- aRts
- JACK
- SGI AL
- Windows:
- DirectSound
- WaveOut
- Pilotes système MIDI
- MacOS X:
- Core Audio
- Sound Manager
- Core Audio MIDI
- QuickTime MIDI
- Dos:
- Adlib, SB, SB Pro, SB16, AWE32
- MPU-401
- ESS AudioDrive
- Ensoniq Soundscape
- Windows Sound System
Fonctions mathématiques
- fonctions arithmétiques et trigonométriques en point fixe
- tables de trignométrie précalculées
- manipulation de vecteurs/matrices/quaternions en 3d (translation, rotation, échelle, projection)
Divers
- gestion de la souris, du clavier et du joystick
- interruptions par timers haute résolution (résolution de 5 à 10 ms suivant la plate-forme)
- simulation de retour vertical par interruption
- gestion de fichiers de configuration
- gestion de fichiers compressés au format LZSS
- gestion de fichiers de ressources multi-objets compressés
- utilitaire de gestion des fichiers de ressources (grabber)
- interface graphique (GUI) gérant des boîtes de dialogue et un sélecteur de fichiers
Je découvre Allegro, que dois-je faire?
Avant toute chose, bienvenue! Selon votre expérience, il y a plusieurs
points de départ possibles.
Si vous êtes totalement novice en programmation C, Allegro ne vous aidera
pas beaucoup. Comme librairie écrite pour le language C (C est le nom d'un
langage de programmation), Allegro suppose que vous savez déjà écrire
des programmes en C, les compiler et les lier pour produire des éxécutables.
Désolé, vous aurez à apprendre cela d'abord. Vous pouvez utiliser un moteur
de recherche comme Google pour trouver
des tutoriels et de la documentation sur la programmation en C ou acheter
un livre dans un magasin sur le sujet. C est un langage très connu avec de
nombreuses années d'existence donc vous n'aurez pas trop de problèmes pour
trouver des informations.
Si vous savez déjà comment écrire des programmes en C mais manquez de
connaissance sur la programmation des jeux, vous apprécierez l'apprentissage
et l'utilisation d'Allegro. Bien évidemment vous devez d'abord
télécharger Allegro. Nous vous
recommandons de choisir la version stable. Allegro est fournie avec une
bonne documentation de référence et plus de 40 exemples qui vous aideront
à commencer par les bases et à améliorer vos connaissances à partir de là.
Vous pouvez même jouer à un petit jeu dans lequel votre mission est de
détruire des astéroïdes. La documentation fournie avec Allegro est
disponible en ligne, et il y a de
nombreux tutoriels et même des
livres que vous pouvez utiliser
pour compléter encore vos connaissances.
Si vous êtes un programmateur de jeux expérimenté, vous pouvez vous
faire rapidement une idée de ce à quoi ressemblent les programmes Allegro
en parcourant l'API ou lisant les exemples fournis. Vous allez vous
apercevoir qu'Allegro impose un style de programmation DOS
où le jeu s'éxécute depuis la fonction de départ main() et ne requiert pas
de threads, contrairement à d'autres librairies qui utilisent les
évènements. Allegro privilégie aussi en général la facilité d'utilisation
et l'abstraction par rapport à la flexibilité, donc des choses relativement
compliquées comme mettre en place un mode graphique peuvent se réaliser
par un unique appel de fonction. Si vous n'aimez pas ce style (dont nous
pensons qu'il est meilleur parce que vous vous concentrez sur l'écriture
du jeu et non pas la manipulation de fonctions compliquées) vous pouvez
jeter un coup d'oeil sur la section
Librairies de la page des liens, sur laquelle vous pouvez trouver
d'autres librairies fournissant les mêmes fonctionnalités.
Que vous soyez débutant ou non, vous devez savoir qu'il y a plusieurs
moyens pour entrer en contact avec d'autres utilisateurs d'Allegro. Il y
a quelques listes de diffusion
auxquelles vous pouvez vous inscrire. Elles sont habituellement dormantes
jusqu'à ce que quelqu'un commence une discussion intéressante et tout le
monde se précipite pour répondre. Pour les engourdis du courriel,
Allegro.cc est un forum Web à
l'activité plus soutenue (et aussi avec un rapport bruit sur signal plus
élevé). N'hésitez pas à faire part de vos idées et de vos projets en cours.
Tout le monde aime voir Allegro poussée dans ses derniers retranchements,
encore plus si vous fournissez le source code afin que les autres utilisateurs
puissent en profiter.
|