| [
- Explications : Cracking et scène Démo |
Histoire de la Démo Scène
La transition : Du Cracking à la Demo
Les contraintes techniques
Les différentes parties
Etant limitée en place, j'ai mis
dans le répertoire DOCS, 3 exemples de "cracktros",
démos que vous trouvez généralement avec un logiciel
piraté.
Si le sujet vous intéresse, il
existe un site très bien fait : http://www.defacto2.net/scene-archive/
Introduction
La pire chose pour un demomaker , quelque
soit son niveau, c'est de devoir définir ce qu'est une démo.
Néanmoins, certains diront que c'est un programme qui contient
des effets et de la musique, quelque chose qui se rapprocherait d'un
clip vidéo et les plus pertinents répondront que c'est
la version démo d'un jeu qui ne verra jamais le jour.
Pourtant il en parle, il en fait jour
et nuit, il participe à des compétitions (Démo
"Party"), se déplace d'un pays à un autre, sans parvenir
à la définir...
Je vais cependant essayer de vous aidez
à comprendre ce qu'est la démo, de vous y donner goût,
et qui sait, peut être de vous introduire dans ce fabuleux monde
qui reste quasiment européen (enfin quelque chose qui ne vient
pas d'outre Atlantique !).
Les fondements viennent du coté
obscur.
Tout commença, il y a longtemps,
dans un univers lointain, très lointain.
Cet univers, "Comput" était composé
de plusieurs planètes dont certaines étaient habitées,
et d'autres restées désertes. Les deux plus puissantes
étaient celle de "Crack" peuplée de personnes s'amusant
à déplomber les programmes des habitants de la planète
adverse: "Develop". Ces deux populations se livraient une véritable
guerre, chacun essayant de prouver à l'autre sa suprématie.
Les premières personnes à
faire des demos n'étaient donc pas des "demomakers" comme on
pourrait le penser mais les habitants de Crack, les "crackers". Ces
pirates galaxiquement connus passaient leur temps et consacraient toute
leur intelligence à "déplomber" les divers systèmes
de protection mis au point par les habitants de la planète "Develop",
les "éditeurs" ou "développeurs", qui tentaient justement
de contrer le piratage qui sévissait à cette époque
dans cet univers.
Très vite la population de Crack
a augmenté, puisque le cracking devenait une mode et un jeu :
"toi tu plombes" et "moi je déplombe".
A ce petit jeux là, les plombeurs(sociétés
d'édition de logiciels et de jeux) ont bien vite perdu du terrain
puisqu'ils investissaient beaucoup dans le développement des
protections, alors qu'en face, l'opération de "déplombage"
ne se chiffrait qu'en heures de sommeil.
Devant l'augmentation de la population
des habitants de la planète Crack, certains se sont dit qu'il
fallait innover pour se démarquer des autres...
C'est ainsi qu'apparurent les intros qui
débutaient le chargement des logiciels pirates. Ces animations
permettaient aux déplombeurs(pirates) de se faire connaître
du monde. Tout ceci se faisait bien sûr anonymement, ou plutôt
sans dévoiler aucune véritable identité, les Crackers
utilisant des Pseudonymes (NickName) qui les identifiaient sans risquer
de se faire capturer par les agents de la planète "APP" (Agence
pour la Protection des Programmes).
C'est ainsi que certains ambitieux se
mirent à privilégier la partie de l'intro à celle
du crackage pur. Ils continuaient de cracker, cependant imperceptiblement
une nouvelle forme de compétition se mit en place, elle se déplaça
du cracking vers les petites intros.
En effet, déplomber tel ou tel
programme provenant de "Develop" n'était plus un exploit pour
personne alors que la réalisation d'une belle intro, était
bien plus difficile et stimulait bien plus les innovateurs.
C'est ainsi que tous ces programmeurs
ont peu à peu fait appel à l'aide des habitants de "Graphik",
la planète de la crème des dessinateurs et des graphistes
de toute la galaxie, et successivement aux habitants de "Musik" les
meilleurs musiciens de l'univers "Comput".
Ainsi naquirent des groupes de demomakers.
De fil en aiguille, ces groupes ont découvert
une nouvelle vocation, plus créatrice, et plus légale.
D'autant plus qu'à cette époque, les agents de l'APP démantelaient
de plus en plus de groupes sur la planète "Crack".
Tout était prêt pour la conquête
d'une nouvelle planète encore inhabitée "Demos" (prononcer
le s à la fin pour le nom de la planète), possédant
la même ambition de compétition que sur "Crak", mais sous
une forme plus légale et plus créatrice.
Un premier problème se présenta
aux nouveaux arrivants sur "Demos", c'était le fait qu'il y aie
plusieurs continents: "Amigas", "Amstrad", "Ataris" et "Pécé".
Le premier et le troisième furent pris d'assaut par les colonisateurs,
car ils leurs fournissaient un terrain très pratique dans leurs
compétition: Un environnement graphique et musical bien plus
évolué que sur "Pécé" et que sur "Amstrad".
Les nouveaux arrivants sur "Démos",
n'avaient aucuns problèmes avec les agents de l'APP, en effet,
leur activité était tout à fait légale,
ce qui leur permettait de se rassembler librement plusieurs fois par
an sur le continent "Party" (bien que "Party existe aussi sur "Crack"
mais pas officiellement).
"Amiga" et "Atari" étaient proches
au niveau des possibilités, mais incompatibles ! C'est pourquoi,
chacun s'évertuait à démontrer que son continent
était le meilleur de par ses créations graphiques et ses
performances techniques.
Cette bataille acharnée dans la
démonstration de puissance continentale tourna en faveur de l'Amiga,
qui offrait un environnement idéal aux graphistes avec ses multiples
coprocesseurs et sa capacité de tourner en "FullScreen"(plein
écran), ce qui était théoriquement impossible sur
Atari.
Ce problème fut par ailleurs résolu
grâce à la persévérance des programmeurs
Atari qui avaient pour leur part l'avantage de la performance sonore.
C'est en 13 (1993) que le continent "PéCé"
fit parler de lui. En effet, très pauvre graphiquement et musicalement,
il avait un atout: L'évolutivité. En effet, au début,
privé de son et de vidéo de bonne qualité, il ne
réussisait pas à convaincre un grand nombre de DémoMakers.
C'est son architecture de type "Carte
Mère, Carte Fille", très évolutive qui lui permis
de se retrouver assez rapidement au niveau de "Amiga".
Le continent "PéCé" devint
le nouvel Eldorado de "Démos" après des début assez
chaotique. Crack fut totalement oublié par les habitants de Démos,
bien qu'ils n'en ignoraient pas l'existence. Leur unique idée
était de participer régulièrement aux rassemblements
("Party") pour y rencontrer des amis, y faire de nouvelles rencontres
et pour y apprendre de nouvelles techniques.
Voici donc comment est apparu cet engouement
pour la Démo, nous allons donc maintenant voir comment faire
une démo, les outils nécessaires, les différentes
parties ainsi que les contraintes techniques.
La réalisation d'une Démo
Il y a deux aspects dans une démo:
La réalisation et la créativité (ou " design "
dans le jargon de la scène). La partie réalisation est
assurée par le programmeur (ou codeur) et la partie créativité
par les graphistes et musiciens. A de très rares exceptions près,
les démos faites uniquement par des codeurs ne sont que très
rarement réussies (Une exception toutefois : La Rox_Rf de Skal
une excellent démo réalisée uniquement par un programmeur).
Le plus souvent, c'est le codeur qui bride
la démo, en effet, ses routines limitent la créativité
des graphistes en étant pas assez rapides.
Les outils pour développer une démo
Les codeurs "purs et durs" se font un
devoir de tout coder en Assembleur (comme à la grande époque
de la Démo, il y a quelques années). Aujourd'hui la tendance
est d'intégrer des routines assembleur dans un code C. En effet,
avec l'emprise de Windows, l'utilisation de l'assembleur seul devient
de plus en plus complexe.
Les graphistes de la première vague,
celle de la 2D, utilisent traditionnellement DeluxePaint (Sur Amiga
ou sur PC) mais aujourd'hui la tendance est plutôt d'utiliser
PaintShop Pro ou Photoshop sous Windows.
Quand à l'utilisation du scanner
comme moyen d'expression artistique, elle est très mal perçue
dans le domaine de la démo.
En ce qui concerne la 3D, l'utilisation
de Povray ou 3DStudio pour les plus fortunés est monnaie courante.
A noter dans ce dernier cas, que le rôle du programmeur est de
récupérer les mouvement de l'objets créé
par 3D Studio et de les animer en temps réel dans la Démo.
Certains groupes ont eux même développé leurs outils
de modélisation et d'animation 3D !
Depuis quelques temps de nombreuses Démos
tournent (Uniquement ou partiellement) sous Windows.
C'est un des grands débats dans
le monde de la scène. En effet utiliser Windows dévie
de l'idée originelle de la Démo (Démontrer la puissance
d'un Ordinateur et la créativité des créateurs)
car dès l'instant où on utilise Windows, on est obligé
d'utiliser des librairies (comme DirectDraw, Direct3D, OpenGl…), ce
qui implique que les programmeurs se contente de faire appel à
des routines au lieux de les programmer !
Certains groupes font 2 versions de la
Démo (Une version DOS et une Windows).
Comme tout logiciel, une démo
est tributaire de la machine sur laquelle elle fonctionne. Cela dit,
la difficulté ne se pose pas en terme de nombre de face affichables,
mais concerne plus la fluidité de l'animation.
A priori animer 50000 polygones sur Amiga
n'est pas plus impossible que sur PC. Cependant sur une machine moins
puissante, la fluidité de l'animation risque d'être nettement
moins bonne (Celle-ci se mesurant en nombre d'images par seconde).
Sur un téléviseur, la fluidité
absolue est de 50 images par secondes (les démomakers disent
"50 frame"), car la fréquence verticale de l'écran est
de 50 Hz. Je vois venir d'ici les personnes qui vont dire que l'oeil
humain ne distingue pas le animations à plus de 24 images par
seconde (comme c'est le cas au Cinéma). L'explication est simple:
Si l'oeil ne perçoit pas au-delà de 24 images par secondes
c'est parce que dans la réalité, tout mouvement passe
par une infinité de position. Le cerveau ne peut pas interpréter
toutes ces positions, mais seule une partie d'entre elles. Les étapes
intermédiaires forment une sorte de rémanence que l'on
appelle "Motion Blur".
Les animations crées sur ordinateurs
ne peuvent êtres décrites que par un nombre fini de position,
donc le "Motion Blur" n'existe pas réellement (ou plutôt
Virtuellement). Il peut cependant être simulé de manière
grossière.
C'est pourquoi durant une longue période,
les programmeurs Amiga se sont imposé une vitesse de 50 images
par secondes qui correspond à une limite à partir de laquelle
on considère qu'une animation est fluide.
Sur PC, la seule "Contrainte Technique",
c'est la compatibilité. En effet il existe tellement de cartes
Video/Audio qu'il s'agit de faire tourner la demo sur un maximum d'ordinateurs.
Le plus gros problème aujourd'hui
se pose avec l'affichage. Avant, lorsqu'on était obligé
de travailler en basse résolution (Vga ou Mode 13h ou 320x200),
il n'y avait aucun problème, car toute la page vidéo tenait
dans un bloc mémoire alors qu'aujourd'hui, avec la montée
en puissance des chips graphique et l'augmentation de la résolution,
il se révèle que sur certaines cartes, on peut allouer
toute une page vidéo dans un seul bloc mémoire (Mode LFB),
alors que sur certaines autres, il faut plusieurs blocs mémoires
pour une seule page vidéo (Mode Banked). De plus l'accès
à ces modes "haute résolution" dépendant de la
carte (ou du fabricant) il se révèle souvent des incompatibilités
si l'on ne s'astreint pas à utiliser le mode VESA ainsi qu'un
driver VESA universel (comme Univbe).
Une demo qui ne fonctionne pas chez tout
le monde est une démo qui sera peu diffusée, peu appréciée,
et donc peut connue.
De toute évidence, la seule différence
entre un cube et une voiture, c'est le nombre de face, mais animer et
tracer 50000 faces ou 6 faces ne demande pas le même temps machine,
c'est pourquoi animer 50000 face sous Dos est un Véritable exploit
sur un P200, le temps de calcul pour calculer les rotations, l'éclairage
ainsi que les textures pour 50000 faces à 25 images par secondes
représente 1250000 faces à traiter en 1 seconde ! C'est
à dire un temps de 200 cycles d'horloge par point !
Pour chaque point, il faut compter plusieurs
multiplications pour créer son affichage(9 au minimum), sachant
qu'une telle opération prends quelquesoit le processeur x86 une
vingtaine de cycles d'horloges, auxquels il faut ajouter les temps d'attentes
du possesseur lors de l'accès aux informations en mémoire
et le temps de copier la scène calculée à l'écran
(au moins 500000 cycles).
Le fait de déléguer le calcul
3D aux cartes graphiques permet aujourd'hui d'améliorer la complexité
des environnements 3D car le processeur se voit soulagé de nombreux
calculs que les cartes font plus rapidement (principalement le rendus
graphique pour les plus vielles, et la quasi totalité pour les
plus récentes avec le T&L).
Une démo est traditionnellement
composée de plusieurs parties :
- L'intro. C'est dans cette partie que
l'on met en condition le public
- La "Main Part" (partie principale),
très souvent impressionnante, elle est faite pour montrer les
talents du groupe.
- Les "Greets" (Salutations), par tradition,
les groupes de démos se saluent dans leurs démos.
- Les "Credits" (Générique),
qui présente les créateurs.
Les différentes catégories
de Démos lors des Party
Une démo est un terme générique.
En effet durant une Démo Party il y a plusieurs types de compétitions,
dont voici les principales:
L'Intro 4k, est l'une des plus difficile,
le but étant de créer une petit introduction exécutable
en 4096 octets maximum. Sachez que les démomakers redoublent
d'astuces pour y parvenir. Attention les résultats sont le plus
souvent d'une qualité graphique médiocre mais il faut
imaginer que ce n'est même pas la taille d'un document Word vide.
L'Intro 64K, est la catégorie la
plus étonnante. En effet, le système est le même
que pour les 4k sauf que la limite et ici repoussée à
65535 octets.
Les résultat sont fabuleux comme
le prouvent TBL avec Jizz et Stash qui sont absolument époustouflante
tout en tenant dans la limite autorisé, le tout avec une musique
d'une qualité remarquable. Cette catégorie est faite pour
montrer les talents du codeur au même titre que les 4k mais en
lui laissant une aide créative plus importante de la part de
ses collègues graphiste et musiciens. Cette catégorie
est l'une des plus appréciée des démomakers avec
la catégorie reine: La Démo.
La Démo : Elle est totalement destinée
à l'expression artistique des démomakers tout en laissant
beaucoup de libertés au coder. La taille des demos est traditionnellement
limitées à 4Mo qui sont aujourd'hui très souvent
dépassés. La palme de la taille revient évidemment
à Cocoon & Syndrome pour Shad qui nous ont fait une démo
de plus de 12Mo ! Pour la taille maximale, référez vous
au règlement de la party à laquelle vous vous rendrez.
Gfx, est une catégorie pour graphiste.
Elle est décomposée en plusieurs sous catégories
comme 8bits (256 couleurs) et 32bits. On y découvre à
chaque fois de fabuleuses créations numériques. A noter
que l'utilisation de photos scannées est très mal perçue
voire très souvent interdite. Une nouvelle catégorie est
apparue, celle du Raytrace, mais reste rare et peut appréciée.
Mod, est la catégorie réservée
aux musiciens. Jadis elle était composée des compétitions
Modules 4 voies et mutichanels, mais aujourd'hui la première
catégorie est plus ou moins abandonnée au profit d'un
nouveau type: Le MP3.
Que sont les modules exactement ? Ce sont
des fichiers de musiques dont le format à été créé
par les démomakers eux même sur Atari et qui fut porté
sur toutes les plates-formes (Amiga, PC, Amstrad, Falcon...). Le principe
est simple: On enregistre des sons (souvent de petites tailles) puis
à l'aide d'un logiciel comme FastTracker2 ou ScreamTracker3,
on écrit une partition avec chacun des sons. On obtient les différentes
notes en jouant le son enregistré à des vitesses différentes,
ce qui reproduit assez précisément les notes réelles.
Certains musiciens sont de véritables maîtres en la matière
comme Skaven, Clawz et Necro.
Dans la compétition 4 voies, le
nombre de portées est de 4 (c'est à dire que 4 instruments
peuvent êtres joué en même temps) alors que les multichanels
sont eux souvent limitées à 32 voire 64 portées.
Wild, est une catégorie "Sauvage"
comme sont nom l'indique. On y trouve de tout, c'est vraiment une catégorie
à part qui peut même parfois ne pas dépendre de
l'informatique.
Vous avez dit créer un groupe ?
La création d'une démo est
l'aboutissement (sauf exceptions comme toujours) d'un travail en groupe.
Il est assez rare qu'une seule et même personne sache combiner
les talents de graphiste, programmeur et musicien. Ce qui explique qu'il
y ait ces trois grandes catégories de personnes dans la scène.
Une bonne équipe, est une équipe homogène. En effet
rien ne sert d'avoir un modéliseur 3D exceptionnel si le programmeur
ne sait pas faire un bon moteur 3D ! Il est de plus intéressant
d'être plusieurs programmeurs, ce qui permet de s'entraider, et
donc de progresser, tout comme il est intéressant pour un graphiste
ou un musicien de participer à une Démo Party pour apprendre
de nouvelles techniques.
Une bonne équipe se doit d'être
composée de 3 voire 5 membres pour une meilleure productivité,
l'idéal étant de se connaître avant la constitution
du groupe.
Pour ceux qui veulent se lancer dans l'aventure,
je vais essayer de vous donner quelques conseils. Si vous êtes
tout seul au fin fond de la Lozère et que vous voulez monter
un groupe ou faire partie d'un groupe déjà existant, essayez
d'allez sur Internet/IRC (channel #Demofr, #Arfstdio et #CodeFr) et
faites vous connaître auprès des démomakers déjà
présent sur la scène en présentant vos production
graphique, musicale et/ou exécutable.
Vous aurez de grande chances d'être
remarqué par certains si vous avez du talents.
Bien sur les Démoparty sont aussi
un lieu de prédilection pour faire de nouvelles connaissances.
Il existe deux façons de faire
une démo. La première est de faire une démo avec
des routines toutes prêtes. Cela parait idiot, mais beaucoup de
groupe travaillent comme çà. La seconde (un peut plus
difficile), et de se dire "On veut faire çà, mais tout
reste à faire". C'est plus ambitieux, mais généralement
le résultat est bien meilleur.
Ne commencez les choses que si vous êtes
sur de les mener à terme. Si votre travail est destiné
à être présenté durant une démoparty,
planifiez de la finir au moins un mois avant la date fatidique. Finir
une démo sur place est souvent du bricolage, et risque de gâcher
ce que vous pourriez faire de mieux ! Il faut se rendre à l'évidence,
une démo représente des semaines de travail, quelque soit
le niveaux des auteurs.
Article écrit par Farok pour http://www.clubic.com