[
- |
[
- 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érallement
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://http://www.clubic.com/