Pour que vos programmes de jeux soient vraiment originaux, vous devez commencer à concevoir vos propres Sprites et Bobs. Bien que cela puisse sembler être une corvée, ce n'est pas nécessairement le cas. Soit vous dessinez une forme à l'écran ou chargez un fichier IFF et capturez une zone de l'écran en tant que Sprite, soit vous utilisez le programme AMOS Sprite Editor présent sur vos disquettes AMOS. Ce programme était jusqu'à récemment le seul moyen pratique de produire des objets mobiles pour vos écrans. Mais l'auteur de l'AMOS Sprite Editor, Aaron Fothergill de Shadow Software, a décidé de mettre à niveau le programme et de le rendre plus puissant. Pour être honnête, le programme original comportait quelques bugs ennuyeux, et Aaron, perfectionniste, voulait faire un vrai travail sur ce programme. C'est ainsi que SpriteX est né, et toute personne suffisamment sérieuse à propos d'AMOS pour vouloir écrire ses propres jeux devrait vraiment en posséder une copie.
SpriteX est une version modifiée de l'éditeur original AMOS Sprite Editor, avec beaucoup plus de fonctionnalités, et une plus grande dose de ce que les Américains appelleraient "fonctionnalités". L'écran principal est similaire, mais vous trouverez plus de fonctions. Alors que l'éditeur de sprites original était limité quant au type d'objets qu'il pouvait créer, l'éditeur SpriteX est conçu pour dessiner des Bobs, Sprites et même des Icônes AMOS.
Toutes les images conçues dans SpriteX sont stockées dans une banque, prêtes à être sauvegardées sur disque et utilisées comme Sprites, Bobs ou Icônes par AMOS. Pour les utiliser en tant qu'Icônes, vous utilisez le bouton SWAP situé sur la ligne supérieure de boutons pour les échanger dans la banque d'icônes, puis vous cliquez sur le bouton SAVE as ICONS. Voir la Figure 10.1 pour un aperçu de l'écran de SpriteX.
L'éditeur est très facile à utiliser, et emprunte une grande partie de son aspect et de son fonctionnement aux programmes de dessin de l'Amiga. Par exemple, deux boutons situés en haut à gauche de l'écran vous permettent de découper une zone du sprite zoomé, puis de la coller ailleurs dans le sprite. Lorsque Cut est sélectionné, vous cliquez sur la zone zoomée et faites glisser la zone de découpe jusqu'à la taille souhaitée. Le programme utilisera alors cette zone découpée comme un pinceau. En cliquant sur Paste, vous pourrez revenir à l'utilisation de ce pinceau pendant que vous êtes dans l'éditeur.
Figure 10.1. SpriteX 1.32. En bas de l'écran se trouvent des outils pour vous aider à déplacer des Sprites vers et depuis la banque de Sprites, ainsi qu'un certain nombre d'autres outils pour manipuler les banques.
RGB
Ce bouton vous permet de modifier les valeurs des couleurs utilisées dans la banque, c'est-à-dire la palette des Sprites, Bobs ou Icônes que vous créez.
Insert Sprite, Put Sprite, Get Sprite, Delete Sprite
Ces boutons permettent d'ajouter ou retirer des Sprites de la banque, et d'effacer ceux que vous ne souhaitez plus garder.
Erase Bank
Ce bouton efface la banque en mémoire pour vous permettre d'en charger une autre depuis le disque ou d'en créer une à partir de zéro.
En plus de pouvoir dessiner vos Sprites à partir de rien, vous pouvez également les capturer depuis un fichier IFF, comme vous le feriez pour saisir une police graphique intéressante à utiliser dans CText. Pour cela, vous utilisez le module supplémentaire appelé GrabberX.
Nouvelles fonctionnalités
De nombreuses modifications ont été apportées à la version 1.23. Les fonctions de chargement et de sauvegarde sont maintenant accessibles via des boutons à l'écran en plus des touches L et S du clavier. La version 1.23 peut gérer les couleurs des Sprites aussi bien que celles des Bobs. Grabber est maintenant intégré comme un module à part entière mais intégré. Un vérificateur d'animation est également inclus.
SpriteX peut désormais contenir à la fois une banque de Bobs/Sprites ainsi qu'une banque d'Icônes en mémoire et passer de l'une à l'autre. Un utilitaire de rotation a été ajouté, permettant de faire pivoter les images avec une précision d'un dixième de degré (plus de détails à ce sujet dans un instant). De manière générale, plusieurs fonctions existantes ont été améliorées. Il y a une fonction Auto Scrunch qui compresse automatiquement les Bobs lorsqu'ils sont extraits de la banque, ce qui fait gagner du temps lorsqu'on travaille sur des Bobs capturés depuis des écrans IFF.
Nouveaux boutons
Load Sprite/Icon bank
C'est la même chose que la touche L du clavier. Elle charge les Sprites dans la banque 1, ou les Icônes dans la banque 2. Pour éditer les Icônes, il faut les transférer dans la banque 1 avec le bouton SWAP.
Save Sprite Bank
Cela sauvegarde la banque 1 sur disque, équivalent à la touche S.
Append Sprite/Icon bank
Charge une nouvelle banque et l'ajoute à celle actuellement en mémoire.
Sprite Grabber
C'est le même que l'ancien programme de capture de Sprites. Il vous permet de capturer des Sprites depuis des images IFF en toute simplicité.
Swap Icons/Sprite banks
Cette fonction permute les banques 1 et 2, de sorte que vous puissiez éditer l'une ou l'autre.
Save Icon Bank
Comme pour Save Sprite Bank, mais cela sauvegarde la banque 2 (Icônes).
Sprite/Bob Palette
Permet de basculer entre la palette normale des Bobs/écran et la palette spéciale des Sprites.
Animator
Vous permet de tester les animations de vos Sprites, en avant, en arrière, et une image à la fois.
Niceness Mods
Dans SpriteX, le bouton NICE correspondait aux préférences internes de SpriteX. L'option Niceness a été légèrement modifiée dans la version actuelle, avec une nouvelle fonction ajoutée. L'affichage de la mémoire libre montre maintenant uniquement la quantité de mémoire CHIP, car bien entendu, c'est la seule mémoire pertinente pour les Bobs, Icônes et Sprites.
Le nouveau bouton du menu NICE est l'option Auto Squash. Lorsqu'elle est activée, tout Bob extrait de la banque pour être édité est automatiquement compressé vers le coin supérieur gauche, et la taille du Bob est automatiquement réduite. Cela vous évite d'avoir à utiliser le bouton Squash pour chacun des 128 Sprites que vous avez capturés depuis votre image IFF.
Il existe une autre option pour effectuer ce travail : appuyer sur la touche Z lors de l'édition afin que SpriteX passe en revue toute la banque et compresse automatiquement chaque Bob pour vous.
The Rotator
Le bouton Rotate a maintenant été divisé en deux. Le côté gauche fait pivoter l'image de 90 degrés, et le côté droit donne accès au Rotator, un utilitaire puissant pour faire pivoter les images. Dans le Rotator, il y a trois boutons d'options, ainsi que Cancel et OK. Voici leur description :
Number of Rotations
Peut être défini de 1 à 64.
Rotation Angle
Ceci est défini en degrés, et peut aller de 0 à 360.
In 360
Ce bouton calcule l'angle requis pour le nombre de rotations
spécifié dans un cercle de 360 degrés. Par exemple, si vous avez défini
le nombre de rotations à 16 et que vous appuyez sur le bouton In 360,
le Rotator déterminera que chaque rotation doit être de 22,5 degrés,
et ajustera l'angle de rotation en conséquence. Lorsque vous appuyez
sur le bouton OK, le Rotator calculera toutes les rotations nécessaires
et les insérera dans la banque de Sprites.
Ce n'est ni aussi rapide ni aussi précis que les routines de rotation de certains logiciels de dessin, mais cela fait pratiquement tout pour vous. Même le point chaud (hotspot) de l'image est ajusté à la bonne position !
C?mere, There?s More
Quelques autres fonctionnalités ont été ajoutées pour vous faciliter la vie. Toutes les fonctions qui déplacent l'image, telles que le retournement horizontal/vertical, la rotation (y compris le Rotator) et l'écrasement (Squash), ajusteront automatiquement le point chaud.
Vous devez maintenir le bouton droit de la souris enfoncé sur les boutons d'affichage des Sprites pour pouvoir les visualiser. Également, lorsque vous faites défiler les Sprites avec le bouton gauche, maintenir aussi le bouton droit enfoncé (maintenez d'abord le gauche, puis cliquez avec le droit) vous permettra de faire défiler 10 Sprites à la fois.
Le mode haute résolution 2 couleurs a été remplacé par le mode basse résolution 4 couleurs (utile pour travailler sur les pointeurs de souris). Les boîtes d'alerte ont été remplacées par de meilleures issues d?AMOS TOME.
How Does That Grabber You?
Le module Grabber de SpriteX est une évolution de l'ancien Sprite Grabber, d'abord fourni comme programme séparé du SpriteX principal, maintenant intégré dans le programme principal. Le Grabber a reçu quelques modifications et comprend maintenant une fonction supplémentaire appelée Line Grab.
Pour ceux d'entre vous qui n'ont jamais utilisé le Sprite Grabber, GrabberX sert à capturer des images depuis des images IFF ou des images AMOS compactées, pour les utiliser en tant que Bobs ou Icônes. Cela se fait en chargeant l'image, en cliquant sur les ciseaux ou le bouton cut, puis en délimitant la zone à capturer. Pour la plupart des images, il est préférable de marquer une zone plus grande que celle souhaitée, puis de l'optimiser via le menu principal pour supprimer les espaces inutiles. Pour certaines images trop grandes pour être éditées, par exemple, vous pouvez utiliser les touches fléchées pour affiner la zone de capture.Si vous appuyez sur les touches fléchées haut/bas, vous pouvez déplacer la barre d'icônes verticalement sur l'écran afin de visualiser et capturer différentes zones, y compris des zones plus grandes. Cliquer sur l'icône Cut permet de capturer une seule image et de l'enregistrer dans la banque de Sprites à la position actuelle, qui est modifiée via les boutons fléchés.
Cliquer sur l'icône Cut Line vous permet de capturer toute une rangée d'images en une seule fois. Ceci est particulièrement utile lors de l'utilisation de SpriteX avec CText, car vous pouvez ainsi capturer une grande partie d'un alphabet en une seule ligne. La seule règle avec cette fonction est que les images doivent être espacées d'au moins un pixel. Il suffit de déplacer la boîte sur la zone souhaitée, et GrabberX capturera toute la zone et la divisera horizontalement en images distinctes.
Enfin, vous disposez d'un outil pour tester les animations de Sprites grâce au module ANIMX. Le testeur d'animation ANIMX est conçu pour vous permettre de tester vos Bobs afin de vérifier qu'ils s'animent correctement. Vous pouvez animer jusqu'à 16 Bobs sur 51 images. Pour utiliser ANIMX, vous contrôlez le numéro de l'image (Frame Number), le numéro du Bob (Bob Number) et le numéro d'image pour chaque Bob grâce aux trois contrôleurs situés en haut de l'écran.
Le bouton en bas à gauche permet de charger un écran d'arrière-plan sur lequel animer les Bobs, et il y a quatre autres boutons de contrôle : Wipe, INS et deux flèches :
Comme avec GrabberX, la barre de contrôle peut être déplacée vers le haut ou vers le bas avec les touches fléchées du clavier.
Sur la disquette de SpriteX 1.32, en plus du meilleur créateur de Sprites, Bobs et Icônes pour AMOS au monde, vous trouverez en bonus le programme Rem Maker.AMOS (pour concevoir des instructions REM sophistiquées introduisant votre programme), ainsi qu'une paire de jeux à 10 lignes, Logger Larry et Ping. Pourquoi 10 lignes ? Eh bien, ils ne contiennent que 10 lignes de code, voilà pourquoi. Ces 10 lignes apparaissent fréquemment dans le bulletin du Club AMOS, et en plus d'être d'excellents exemples de la manière de coder un jeu de façon concise et astucieuse, ce sont de véritables sources d'information sur la manière de tirer le meilleur parti d'un jeu avec un minimum de code.
Les détails complets sur la façon d'obtenir une copie de SpriteX figurent à la fin de ce chapitre. Mais qu'entends-je à propos d'une nouvelle version bientôt disponible ?
Bientôt disponible sur un système Amiga basé sur AMOS près de chez vous, accessible en mise à jour via le Club AMOS, voici SpriteX 2.0. Elle n'était pas encore disponible au moment de la mise sous presse, mais Aaron a eu la gentillesse de me donner un aperçu. La figure 21.2 montre le nouvel écran.
Ce programme est une mise à jour avec de nombreuses nouvelles fonctionnalités dignes d'intérêt. Il peut maintenant éditer des Bobs, des Sprites, des Icônes AMOS, des Icônes Workbench et des écrans. Oui, vous pouvez désormais créer des icônes pour les programmes ainsi que les icônes AMOS pour les arrière-plans de jeux. Et tout ce qui va jusqu'à un écran complet peut être utilisé et édité, ce qui signifie que vous pouvez capturer des Bobs à partir d'un écran complet ou avoir un écran complet comme Bob !
Il y a maintenant presque deux fois plus d'options d'édition que dans la version originale dont j'ai parlé dans ce chapitre, c'est-à-dire la version 1.32 ou une version approchante.
La fonction de test d'animation a été étendue pour devenir une page d'animation complète (qui pourrait aussi faire office d'éditeur AMAL), incluant la génération de trajectoires pour vos Sprites selon des ondes sinusoïdales ou circulaires. (Une belle touche, cela.)
La nouvelle version du Grabber est dotée d'une intelligence artificielle, c'est-à-dire que vous pouvez le lancer pour capturer tout un écran rempli de petits Sprites pendant que vous partez vous faire une tasse de thé. Quand vous revenez, tout est terminé et vous n'avez plus qu'à sauvegarder sur disque. Les algorithmes utilisés sont très avancés, et Aaron en est à juste titre très fier. Les fractales y sont impliquées d'une manière ou d'une autre, je ne sais pas comment cela fonctionne. (Adhérez au Club AMOS et ils vous l'expliqueront sans doute.) Le Grabber coupe aussi automatiquement les repères que vous avez utilisés sur vos images, et définit un point chaud sur le Sprite. En d'autres termes : « Vous pouvez passer de l'écran au jeu sans rien avoir à éditer », selon Shadow Software.
Enfin, il y a une nouvelle page de gestion d'arrangement d'images où vous pouvez réorganiser et permuter toutes les images dans les 11 banques que SpriteX 2 peut maintenir en mémoire simultanément.
Le programme original SpriteX 1.32 est un logiciel sous licence, disponible pour une somme modique via Deja Vu Professional Licensed Software.
SpriteX 2.0 est disponible en tant que mise à jour pour £10 auprès du Club AMOS, et uniquement accessible aux membres du club.