English version

Introduction:

La technique des mosaïques ("tiles" en anglais) est utilisée depuis tres longtemps dans le domaine des jeux video, pourtant elle n'est accessible a Director que depuis la version 8. Elle présente de très nombreux avantages, et s'applique particulierement bien a Shockwave, puisqu'elle permet un temps de chargement minimum.

Cette technique consiste a décomposer un bitmap, d'une part en micro-éléments graphiques, et d'autre part en une "carte" du bitmap, comme suit:


on peut décomposer cette image en 3 petits bitmaps + un tableau de correspondance

Les avantages:

Compacité des données

On constate tout de suite un intérêt de cette technique, qui consiste à "compresser" le bitmap en ne stockant que ses plus petits dénominateurs communs, éliminant ainsi les redondances. Dans cet exemple, le bitmap original fait 144x80, soit 11520 "pixels carrés" à stocker, alors qu'avec cette technique on ne stocke que 3 images de 16 x 16 pixels, soit 768 pixels carrés. Bien sur à ce nombre de pixels on doit déduire la compression "naturelle" de Director, mais le gain n'en est pas moins notable. L'avantage c'est que votre bitmap peut être gigantesque tout en n'utilisant que quelques Ko de stockage, dans la mesure où il utilise peu d'éléments constitutifs. De plus, en utilisant le "flip" vertical et horizontal, la rotation, les effets d'encre, etc... on conservera un seul élément graphique pour recréer des morceaux d'images très variés, sans pour autant en alourdir le chargement.

L'autre point à noter c'est que les micro-éléments (dits "tuiles") doivent avoir la même taille pour que cette technique soit appliquable. Dans la majeure partie des jeux, la taille des tuiles est de 16 x 16 pixels, pour des raisons de conformité à la surface gérable par la mémoire video. Je ne saurai donc que vous recommander de vous en tenir à ce standard, bien qu'il ne soit pas impératif pour que ça fonctionne dans Director, mais "au cas ou"...vous conserverez un format compatible avec les jeux utilisant cette technique, ainsi qu'avec les différentes sources en C, ou les graphismes freeware de jeux que vous pourriez trouver sur le Web. Bref, c'est pas indispensable, mais ça ne mange pas de pain.

 

Le défilement

Un deuxième avantage de cette technique concerne le défilement (scrolling) de l'image : Imaginons que le bitmap est plus large que sa surface d'affichage. Il suffit de ne reconstituer le bitmap que dans la taille de sa surface d'affichage, et de dessiner une "colonne" de tuiles supplémentaire. Une fois que l'image a avancé à hauteur de 16 pixels, on efface la premiere colonne de tuiles de l'image, et on en redessine une autre à la suite, et ainsi de suite jusqu'à la fin de l'image. Ainsi, on ne redessine qu'une toute petite partie de l'image à chaque mise à jour, ce qui s'avère relativement plus véloce que de déplacer l'image entière à chaque fois, sans parler des avantages en utilisation mémoire.

exemple : ce fichier shockwave contenant tout le premier niveau de Super Mario Bros ne pèse que...

...8 Ko !!!!

 

L'interactivité

le troisième avantage de cette technique concerne essentiellement son application dans le domaine des jeux : comme on a une cartographie d'un niveau de jeu (la carte du bitmap), on peut s'en servir pour déterminer l'interaction d'un personnage avec celui-ci : ainsi, si le personnage ne se trouve pas sur une tuile de type "brique", il tombe, ou bien encore, s'il tombe sur une brique de type "eau", il meurt, etc... Bien entendu cela implique que chaque tuile n'ait qu'une seule et même propriété. Si l'on souhaite avoir des tuiles "briques" qui ne soient pas solides (par exemple pour mettre des passages secrets), on utilisera plutot une liste de propriétés qui varieront selon les cas.

revenir sur nonoche.com
Page 2 : les inconvénients