J'ai attendu ce qui m'a semblé être une éternité pour AMOS 3D, et au fil des mois, il m'a semblé que peut-être c'était impossible, que l'on ne pouvait pas créer des objets 3D et les déplacer en temps réel avec un interpréteur BASIC. Mais le module a été promis, et jusqu'à présent Europress avait tenu toutes ses promesses de support pour le système AMOS, donc les perspectives semblaient bonnes.
Et effectivement, il est arrivé, et nous avons tous poussé un soupir de soulagement. Il est là, je l'ai essayé et il fonctionne ! Plus précisément, c?est le moyen le plus simple de créer des jeux et démos en 3D. Le Red Sector Demo maker (et toutes ses copies) est trop complexe et difficile à utiliser pour des choses comme la conception de jeux complets, donc la seule option, AMOS 3D, doit être considérée comme la meilleure.
Mais même AMOS 3D n?est pas vraiment la solution parfaite et dans une certaine mesure, nous devons nous adapter. Il y a des rumeurs concernant une version 3D de TOME, et même un concepteur 3D vectoriel, tous deux de Shadow Software, mais à ce jour, nous manquons toujours de l'extension 3D parfaite. Quelqu'un avait commencé à en écrire une, mais lorsqu'il s'est tourné vers Europress pour la distribuer, ils ont dit qu'ils ne prendraient rien en compte car ils avaient déjà une extension 3D.
AMOS 3D, comme le compilateur et AMOS TOME, est une extension, et il fonctionne de la même manière. Vous disposez d?un programme éditeur appelé l'Object Modeller (OM en abrégé), et d'une extension qui doit être installée sur votre disque maître AMOS ou partition de disque dur.
Pour installer AMOS 3D, il vous suffit de lancer le programme d'installation sur le disque d'installation. C'est un programme AMOS, et il vous permet soit d'installer AMOS 1.3 ou une version ultérieure (nécessaire pour exécuter AMOS Compiler et AMOS 3D) sur une version de disquette ou de disque dur d'AMOS. La partie 3D du programme est une extension, donc ce n?est pas un programme que vous exécutez, mais plutôt une partie intégrante du système AMOS.
Après avoir installé AMOS 1.3 et 3D, vous saurez que vous exécutez AMOS 3D car les mots "Voodoo 3D extension 1.00" seront affichés avec les autres extensions sur l'écran de démarrage de votre AMOS. Le terme "Voodoo" signifie que l'extension 3D a été créée par Voodoo Software plutôt que par les habituels François Lionet/JAWX. Toutefois, c?est toujours un produit authentique d'AMOS. Aucune extension ne peut être considérée comme une véritable extension AMOS sans validation par Europress, d'où l'absence de systèmes 3D tiers.
Bien qu'il existe de nombreux objets exemples sur le disque pour vous aider à démarrer (voir Table 20.1), vous devez créer vos propres objets à l?aide de l'Object Modeller. Ce programme vous permet de créer des formes et de les assembler en objets significatifs. Les objets que vous créez peuvent être ombragés avec toutes les couleurs de votre choix, et vous pouvez même dessiner de petites images pour les appliquer sur les faces des formes afin de les rendre plus réalistes. L'OM n'est pas un véritable créateur d'objets 3D, c'est-à-dire que vous ne pouvez pas vous attendre à créer des formes correctement tracées par rayons comme dans "Lawnmower Man" ou quelque chose de similaire. Mais c'est un moteur puissant de graphismes vectoriels, ce qui vous permet de créer des objets qui, bien que n?étant pas des objets 3D parfaits, imitent au moins les formes des objets réels, suffisants pour des jeux 3D ou des démos.
Vous lancez OM soit en tapant OM si vous êtes un utilisateur de shell, soit en cliquant simplement sur l'icône si vous l?exécutez depuis Workbench. OM préfère fonctionner seul, alors libérez de la mémoire en quittant tout autre programme que vous pourriez avoir en cours d'exécution.
OM est un programme qui fonctionne séparément d'AMOS pour vous permettre de créer des objets à utiliser au sein d'AMOS. Le programme propose de nombreux outils pour étirer, écraser et former des primitives, comme des carrés, des cercles, des cubes et des pyramides. Vous copiez les primitives dans des zones de travail à l'écran appelées étagères (je ne sais pas pourquoi, alors ne demandez pas), où vous travaillez dessus avec la souris, en sélectionnant un point, une ligne ou une face avec une série de touches, et en la déformant en cliquant sur le contrôle de bascule et de rotation ou les flèches tout en maintenant le bouton enfoncé et en déplaçant la souris. Bien que cela semble complexe, c'est en réalité très simple. Les faces sélectionnées ont un marqueur afin que vous sachiez quelle face est active lorsque vous effectuez une opération dessus.
Récemment, le système AMOS 3D a reçu une mise à jour avec la sortie du disque AMOS 3D Object Modeller Disk 1.2. Cette mise à jour apporte de nouveaux objets intéressants. Le nouveau disque OM est essentiellement le même que son prédécesseur, mais avec l'ajout de nouveaux objets que vous pouvez utiliser dans vos propres programmes. D'accord, il y en avait déjà pas mal, maintenant il y en a encore plus.
Parmi ces nouveaux objets, l'un des plus intéressants est l'idée d'utiliser des blocs à l'envers. Les blocs qui ont été retournés à l'envers en utilisant l'outil de mise à l'échelle du groupe sont affichés avec uniquement les faces invisibles dessinées. C'est ce que vous verriez si vous étiez à l'intérieur du bloc. De nouveaux objets tels que "Punt" et "summer_house" utilisent cet effet. Dans "summer_house", deux cubes, l'un régulier et l'autre à l'envers, ont été collés ensemble pour former un objet avec un extérieur et un intérieur. Les fenêtres de détails de surface sur le cube régulier vous permettent de voir à l?intérieur. Un autre bloc a été placé à l'intérieur. Pour que tout cela fonctionne correctement, les numéros des blocs sont importants. L'exemple d'objet à l'intérieur démontre un autre effet appelé double imbrication, qui est une variation de ce thème. Comme avec "summer_house", l'ordre dans lequel les blocs sont collés ensemble est essentiel.
Objet |
---|
alphabet |
letterh |
ship2 |
amidisk |
letter1 |
ship4 |
amiga |
Zines |
ship5 |
amos3d |
lorry |
ship6 |
oar |
manual |
dnp8 |
chain |
missile1 |
ship9 |
chess |
missile2 |
station1 |
chess1 |
miss_front |
station2 |
coffin |
mother |
struct |
copier |
one_ton |
summer_house |
disk |
phone |
sun_shade |
enterprise |
plane |
flueedee |
face |
poise |
voodoo |
gallows |
punt |
within |
hereboy |
rifle |
insect |
ship1 |
Vous pouvez ensuite appliquer des détails de surface, des motifs en quatre couleurs que vous pouvez mapper sur la face sélectionnée de l'objet. Cela se fait en traçant des lignes sur une grille, qui sont ensuite remplies avant d'être attachées à la face de l'objet. La particularité de ces grilles de détails de surface est qu'elles peuvent être copiées d?un objet à l?autre à volonté, de sorte que vous pouvez copier une face sur la grille si vous avez oublié comment la dessiner, même si l'objet a été créé il y a un certain temps.
Récemment, le système AMOS 3D a reçu un coup de pouce avec la sortie du disque AMOS 3D Object Modeller Disk 1.2. Cette mise à jour propose de nouveaux objets intéressants. Le nouveau disque OM est essentiellement le même que son prédécesseur, mais avec l'ajout de nouveaux objets que vous pouvez utiliser dans vos propres programmes. D'accord, il y en avait déjà pas mal, maintenant il y en a encore plus.
Parmi ces nouveaux objets, l'un des plus intéressants est l'idée d'utiliser des blocs à l'envers. Les blocs qui ont été retournés à l'envers en utilisant l'outil de mise à l'échelle du groupe sont affichés avec uniquement les faces invisibles dessinées. C'est ce que vous verriez si vous étiez à l'intérieur du bloc. De nouveaux objets tels que "Punt" et "summer_house" utilisent cet effet. Dans "summer_house", deux cubes, l'un régulier et l'autre inversé, ont été collés ensemble pour former un objet avec un extérieur et un intérieur. Les fenêtres de détails de surface dans le cube régulier vous permettent de voir à l?intérieur. Un autre bloc a été placé à l'intérieur. Pour que tout cela fonctionne correctement, l'ordre dans lequel les blocs sont collés ensemble est essentiel.
Figure 20.1: Object Modeller AMOS
Le disque comprend également des détails sur certaines commandes intéressantes non documentées, telles que celle qui définit l'ordre dans lequel les objets sont dessinés :
Td Priority n,p
où :
n = numéro de l'objet.
p = priorité de dessin de l'objet.
Cela vous permet de spécifier l'ordre dans lequel les objets sont dessinés par le système 3D. En d'autres termes, les objets dessinés en premier apparaissent devant les autres objets. La commande permet de réaliser certains effets spéciaux intéressants :
Priority,p Ordre de dessin des objets
ce qui se traduit par :
0 Dessiner l'objet de manière normale (par profondeur).
>0 Dessiner l'objet devant tous les autres objets avec une priorité inférieure.
<0 Dessiner l'objet derrière tous les autres objets avec une priorité supérieure.
Par défaut, tous les objets ont une priorité de 0. Notez que si deux objets ont une priorité non nulle, celui ayant la priorité la plus élevée sera dessiné en premier (devant).
Autre fonctionnalité non documentée : la commande Td Set Colour qui définit la combinaison de couleurs d'un bloc d'objet spécifié, comme ceci :
Td Set Colour n,b,c
où :
n = Numéro de l'objet.
b = Numéro du bloc.
c = Code de la combinaison de couleurs du bloc (identique à celui dans OM).
Cette commande est l'équivalent en langage de l'outil de combinaison de couleurs d'OM décrit dans le manuel 3D. Elle définit le code de combinaison de couleurs du bloc spécifié. Les numéros de couleurs valides vont de 0 à 16 ; les combinaisons de couleurs de 0 à 12 sont les mêmes que celles d'OM, tandis que les combinaisons de couleurs 13 à 15 sont nouvelles. Un code de couleur hors de portée sera tronqué au code valide le plus proche sans générer d'erreur.
Contactez Europress Software pour plus de détails sur la mise à jour du disque OM.
Une fois l'extension AMOS 3D installée dans votre programme AMOS, vous pouvez charger et déplacer des objets 3D dans vos programmes AMOS habituels, en utilisant une série de nouvelles commandes.
Vous devez maintenant vous familiariser avec l'idée de l'espace, l'espace 3D. Le monde a maintenant un trio d'axes, appelés x, y et z. X et y sont les axes que nous connaissons sur l'écran de l'ordinateur, et déplacer des objets sur cet écran implique simplement d?ajouter des nombres aux coordonnées x, y. Comme les nombres qui disent à la commande de déplacer un sprite de changer la position d'un sprite. Mais maintenant, vous avez une dimension supplémentaire, celle de la profondeur, et c'est la dimension z.
Avec AMOS 3D, il existe un nouveau jeu de commandes appelées commandes Td, et celles-ci précèdent toutes les commandes 3D que vous incluez dans vos programmes, comme cet exemple que j'ai réalisé en 10 secondes en utilisant l'un des exemples simples sur le disque comme base :
Rem * Object Roll Demo.AMOS * Rem Td Dir "disk_containing#3D_objects" Hide Double Buffer Autoback O Td Load "test_object" Td Object 1,"test_object",0,0,5000,0,5000,-4000 Palette ,,,,,,,,,$FFF,$F,$777 Repeat Td Angle 1,A,0,A A=A+1000 Cls O Td Redraw Screen Swap Wait Vbl Until False
C'est ce qu'on appelle un programme simple. Et il fait tellement de choses ! Remplacez votre propre objet ou un de ceux du disque de démo à la place des commandes Td Dir et Td Load. Le double tampon est indispensable car il lisse la transition entre un redessin et le suivant, et c'est en fait la méthode utilisée dans les programmes 3D professionnels écrits en assembleur.
En plus de la rotation des objets et de leur déplacement dans et hors de l'écran, vous pouvez animer les détails de surface, animer la forme, effectuer des détections de collisions avec d'autres formes 3D, et en général faire toutes les choses que l'on associe à un jeu 3D haut de gamme ou à un disque de démo PD réalisé par un groupe de graphistes vectoriels talentueux.
Cela semble un peu comme un rêve, n'est-ce pas ? Mais c?est tout à fait vrai. Toutes les démos que j'ai créées le premier jour d'utilisation du programme ont fonctionné à merveille, et bien qu'elles ne soient pas aussi fluides que je l'aimerais, l'effet est indéniablement solide et d'apparence professionnelle. Évidemment, vous devez apprendre à penser en trois dimensions, mais cela fait partie du jeu. Les vecteurs sont difficiles à réaliser dans des circonstances normales, mais ce programme devrait rendre tout cela beaucoup plus facile à gérer. Vous pouvez esquiver vos idées en 3D sur du papier millimétré au préalable, juste pour avoir une idée de ce que vous voulez, mais dans la plupart des cas, la meilleure idée est de plonger dedans et de créer au fur et à mesure. Non seulement vous apprendrez le programme plus rapidement de cette manière, mais qui sait, vous pourriez aussi vous amuser en chemin.
AMOS 3D complète le système AMOS en beauté. Désormais, il est possible non seulement de créer des jeux, mais une grande variété de nouveaux programmes high-tech qui s'offrent à nous. Réalité virtuelle ? Eh bien non, pas vraiment, mais certainement un très bon programme 3D, et en tant que modeleur, je le préfère au 3D Construction Kit. Je ne peux vraiment pas lui reprocher grand-chose, et bien que je pourrais dire que j?aimerais qu?il soit plus rapide, je sais que cela n?est pas vraiment possible. Compiler améliore évidemment les choses mais pas autant que prévu. J'aimerais un utilitaire pour transférer les objets d'un disque à un autre, car un objet est constitué de plusieurs fichiers obscurement nommés, et vous devez les charger dans OM et les sauvegarder sur un autre disque pour être sûr d'obtenir tous les fichiers. Comment serait-il de précompiler le mouvement, une sorte de 3D AMAL ? À suivre.