Obligement - L'Amiga au maximum

Dimanche 23 juillet 2017 - 06:41  

Translate

En De Nl Nl
Es Pt It Nl


Rubriques

 · Accueil
 · A Propos
 · Articles
 · Galeries
 · Glossaire
 · Hit Parade
 · Liens
 · Liste jeux Amiga
 · Quizz
 · Téléchargements
 · Trucs et astuces


Articles

 · Actualité (récente)
 · Actualité (archive)
 · Comparatifs
 · Dossiers
 · Entrevues
 · Matériel (tests)
 · Matériel (bidouilles)
 · Points de vue
 · En pratique
 · Programmation
 · Reportages
 · Tests de jeux
 · Tests de logiciels
 · Tests de compilations
 · Articles divers

 · Articles in english
 · Articles in other languages


Twitter

Suivez-nous sur Twitter




Liens

 · Sites de téléchargements
 · Associations
 · Pages Personnelles
 · Moteurs de recherche
 · Pages de liens
 · Constructeurs matériels
 · Matériel
 · Autres sites de matériel
 · Réparateurs
 · Revendeurs
 · Presse et médias
 · Programmation
 · Développeurs logiciels
 · Logiciels
 · Développeurs de jeux
 · Jeux
 · Autres sites de jeux
 · Scène démo
 · Divers
 · Informatique générale


Jeux Amiga

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Trucs et astuces

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Glossaire

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Partenaires

Annuaire Amiga

Amedia Computer

Relec

Hit Parade


Contact

David Brunet

Courriel

 


Test d'AMOS (préversion)
(Article écrit par ASM et extrait d'A-News (Amiga News) - janvier 1990)


Voici une préversion d'AMOS, langage qui risque fort de bouleverser vos habitudes d'ici peu, que vous soyez déjà programmeurs ou non. Ce genre de produit - en l'occurrence un BASIC, et en plus dédié principalement à la création de jeux - me laisse d'ordinaire d'une humeur assez maussade. Cette fois, après une démo "live" de l'auteur, je dois dire que j'ai été totalement conquis par la simplicité et l'efficacité d'AMOS. Le K-Seka ne quitte plus sa boîte depuis bien longtemps déjà, la disquette du Devpac 2 a de plus en plus de mal à rentrer dans le lecteur, quant au Lattice et à l'Aztec... ils comptent les points (dans ce domaine bien sûr).

First there was STOS

AMOS est la version Amiga du STOS, un BASIC orienté vers la création de jeux sur Atari. Le STOS, sorti en septembre 1988 s'est déjà vendu à 35 000 exemplaires à travers le monde (surtout en Grande-Bretagne) et commence également à montrer le bout de son nez en France. Il bénéficie d'un important soutien de la part de l'éditeur anglais, Mandarin Software, comme nous le verrons à la fin de cet article.

AMOS, bien que reprenant l'idée originale du STOS, à savoir un langage de programmation de jeux aussi efficace que l'assembleur mais simple à utiliser comme le BASIC est totalement différent car complètement réécrit pour tirer parti au maximum des capacités de l'Amiga (listes Copper, Blitter, sprites matériels, musique, etc.).

AMOS

Il devrait être disponible avec sa documentation de 250 pages vers la fin février 1990 en Grande-Bretagne pour environ 49,95 £ et a été entièrement programmé en assembleur par Steve Back. Non ? euh... je disais donc entièrement programmé par David Joiner. Non plus ? euh... David Whittaker peut-être ? Les Bitmap Brothers ? Ackerlight ? Les 101 Dalmatiens ? Que nenni, AMOS a été entièrement programmé par François Lionet, programmeur indépendant bien de chez nous. Ce n'est pas possible ? Mais si c'est possible...

François Lionet : sa vie, ses bogues
  • Nom : Lionet.
  • Prénom : François.
  • Né le 6 juillet 1963.
  • Domicilié en banlieue parisienne.
  • Marié.
  • Diplôme de vétérinaire (!).
  • Auteur indépendant à plein-temps.
  • Signes particuliers : acharné du clavier.
François Lionet a eu l'heureuse idée de programmer tous les après-midis pendant ses études (tiens, ils bossent pas l'après-midi les étudiants vétos ?), ce qui lui a permis de vivre intensément les débuts de la micro-informatique. Il s'en est écoulé du temps depuis le Defender qu'il avait programmé sur sa carte Superboard 6502, et des programmes aussi... Driver, Bombyx et Cockin sur Oric, Olé!, Sérénade, Cockin, Katuvu et l'adaptation de l'Arche Du Capitaine Blood pour Ere Informatique sur C64, Cockin sur Amstrad, re-Blood mais sur PC cette fois, et Expressing, STOS et son compilateur sur Atari.

Il travaille donc depuis mai 1989 sur Amiga et va sortir AMOS, après quoi il s'attaquera au compilateur d'AMOS. Il est actuellement "produit" par JAWX qui est une association de deux commerciaux.

- Au fait, François, avant de nous quitter, qu'est-ce qui t'a posé le plus de problèmes pendant la programmation d'AMOS ?
- Humm... le concept de la mémoire gruyère !
- C'est-à-dire ?
- La gestion de la mémoire sur un ordinateur multitâche comme l'Amiga, où tu peux très bien avoir 1 ko d'occupé, 30 ko de mémoire disponible, puis à nouveau 52 ko d'occupé, etc.
- Ok, et sinon ?
- Les listes Copper, car mon programme les utilise beaucoup et cela a nécessité pas mal de calculs, et aussi le fait qu'il n'y ait pas de façon directe de lire le clavier sans passer par le système. Il faut faire sa propre routine sous interruption, c'est un scandale ! ha ha ha...

Do you speak AMOS ?

Deux éditeurs valent mieux qu'un. Mais à quoi ressemble-t-il AMOS en question ? La première chose que vous apercevez d'un langage, c'est son éditeur. Celui d'AMOS m'a paru particulièrement convivial bien que l'auteur ne soit pas passé par la bibliothèque Intuition mais ait développé ses propres routines. Vous pouvez le configurer comme bon vous semble et de nombreux raccourcis clavier sont apparemment disponibles.

AMOS gère quatre programmes en mémoire simultanément et jusqu'à 12 accessoires (éditeur de sprites, de partitions...). Une option intéressante permet de cacher le contenu des procédures pour ne laisser que leur déclaration, ce qui permet d'avoir une bien meilleure vue globale du programme. Bien sûr, n'ayant pas eu l'occasion de taper un jeu sous AMOS, ce ne sont que des impressions.

A cet éditeur conventionnel, s'ajoute un éditeur en mode "direct" dont les performances m'ont laissé rêveur... Par-dessus votre écran de jeu s'affiche une fenêtre dont la taille est réglable à volonté et qui n'est autre qu'un véritable petit Shell qu'AMOS met à votre disposition. Exemple de séquence typique : vous tapez un programme "classique" sous l'éditeur qui charge une image en provenance de Deluxe Paint 3, l'affiche et la fait défiler indéfiniment (ce qui ne prend pas plus de 10 lignes en AMOS), vous lancez le programme et tapez un sempiternel "PRINT Coucou" dans la fenêtre de l'éditeur en mode direct et zou, voici votre image qui défile et le joli "Coucou" affiché dessus avec. Tiens, faites donc quelques "CD" et quelques "Dir" pour voir ce que vous avez comme musiques en stock, chargez en une and let's dance... Inutile de vous expliquer l'intérêt de telles manoeuvres quand vous voulez tester des déplacements de bobs ou des collisions...

La tradition, ça a du bon

Il serait injuste de présenter AMOS uniquement comme un BASIC pour la création de jeux. En effet, en plus des commandes dédiées au graphisme, à l'animation, ou à la musique, AMOS vous fournit l'ensemble des commandes habituelles d'un BASIC standard comme les tests (IF...THEN...ELSE), les fonctions de répétition (FOR...NEXT, WHILE...WE ND, REPEAT...UNTIL, DO...LOOP) ou encore les GOSUB et les PROCEDURE, etc. Il contiendra en tout plus de 400 instructions.

L'utilisation d'AMOS ne se limite pas à la création de jeux mais pourra se révéler très efficace pour le développement d'éducatifs ou de tout ce que vous avez pu imaginer faire avec ce bon vieux The Director par exemple. Les applications mathématiques sont toutefois à proscrire pour l'instant car le codage en double précision ne sera pas disponible, du moins dans cette première version.

Personnellement, je pense qu'AMOS servira aussi énormément à pallier la frustation de nos programmeurs en herbe par rapport aux inégalables démos teutonnes, et il ne faudrait pas s'étonner de voir fleurir d'ici peu des mégadémos en double tampon mémoire avec défilement parallaxe, collisions de sprites et musiques "soundtrakerisantes" à souhait, ce qui, comme nous allons le voir, est très aisé à réaliser en AMOS.

Graphisme et animation

Dans un jeu, les facettes les plus importantes sont bien sûr le graphisme et l'animation. En tant que BASIC de création de jeux, AMOS ne pouvait pas les ignorer, de même que les fabuleuses possibilités de notre machine en ce domaine.

A travers ses huit écrans disponibles en même temps, AMOS offre toutes les palettes possibles, plus le EHB, le HAM et le suraffichage. A noter toutefois que le mode entrelacé n'est pas disponible, ce qui ne devrait pas être très gênant vues les applications envisagées. Les possibilités de travail sur ces écrans sont très complètes, citons pour l'exemple quelques commandes dont les noms devraient évoquer de longues nuits blanches à ceux d'entre vous qui sont déjà bercés dans l'art de la programmation : Dual Playfield, Load IFF, Screen Offset, Screen Display, Screen Copy... sans oublier des instructions qui vous feront automatiquement des dégradés qui cyclent ou non dans vos listes Copper.

Désormais, charger une image Deluxe Paint prend une ligne et un défilement multidirectionnel se programme pendant le p'tit déj' entre croissant et tartine beurrée. Le listing 1 donne une idée de la facilité de programmation des écrans :

AMOS

On charge une image IFF dans l'écran 0 et on la copie dans les sept autres écrans, ensuite on fait défiler le tout en même temps (les écrans sont décalés ce qui permet de bien les voir tous les huit). J'ai vu tourner ce petit programme, c'est très impressionnant...

Passons aux lutins, si vous le voulez bien. Outre des commandes telles que Double Buffering (double tampon mémoire) qui gère tout seul le... double tapon mémoire, et WaitVbl qui attend... la VBL (vertical blank line). Notez au passage que les noms des commandes sont assez judicieusement choisis ! AMOS comporte tout ce qu'il faut d'instructions et de simplicité pour gérer le déplacement el les collisions de ces sympathiques petites bestioles, qu'il s'agisse de sprites matériels ou de bobs.

Par exemple, vous voulez gérer un petit robot de 64 pixels de côté, en 16 couleurs, et entièrement par sprites matériels car c'est plus rapide. Les programmeurs vous répondront qu'un sprite matériel fait seulement 16 pixels de large et donc qu'il en faudrait quatre accolés et que les sprites étant limités à 4 couleurs, il est nécessaire d'utiliser un mode spécial qui "attache" (c'est le terme employé dans les docs) deux sprites pour obtenir les 16 couleurs désirées, donc un total de 4x2=8 sprites matériels pour le robot.

Eh bien AMOS, lui, s'occupe de tout cela automatiquement. Tout ceci pour vous dire que si vous pensez vous lancer dans la programmation de démos ou de jeux en assembleur, regardez-y en deux fois : AMOS vous évitera de vous abîmer les yeux dans les labyrinthes de structures décrites dans les ROM Kernel ou autres Programmer's Handbooks.

L'AMAL : un langage peut en cacher un autre

Pour ceux qui désirent aller plus loin et faire encore plus fort, il existe à l'intérieur du langage lui-même un autre langage, l'AMAL, qui met à votre disposition des macro-instructions de gestion des interruptions. Le listing 2 illustre ce procédé : il fait défiler et rebondir une image Deluxe Paint entièrement sous interruption, le tout en musique.

AMOS

On affecte une chaîne de caractères à un "canal d'interruption", chaîne contenant les macro-instructions à utiliser. Chaque canal dispose de registres internes pour effectuer des opérations et il existe des registres permettant d'envoyer des données d'un canal à l'autre, par exemple pour synchroniser deux chaînes entre elles comme dans le listing 2. Tout est possible à l'intérieur de ces chaînes : réaliser des tests, faire des boucles, construire des labels, mettre des commentaires, etc. (LET, MOVE, IF, JUMP, FOR...NEXT, etc.).

Le compilateur lira la chaîne de caractère en ne prenant en compte que les caractères passés en majuscules, par exemple la ligne "Sync: If RA=R3 Jump Sync ceci attend l'autre chaîne" sera traduite par "S:IRA=R3JS". Cette possibilité d'AMOS m'a paru suffisamment intéressante pour ne pas être passée sous silence...

Leçon sur le son

Prenez maintenant Xenon 2 ou Beast, sans la musique, sans les bruitages... il manque incontestablement quelque chose. C'est pour que vous ne vous retrouviez pas dans cette situation grotesque qu'AMOS vous proposera un lecteur de musiques réalisées avec Soundtracker, eh oui, rien de moins... Regardez à nouveau le listing 2 : "Reserve as chip 2,80000" nous réserve 80 ko en mémoire Chip pour la banque de mémoire numéro 2, "Bload "amos_mus",2" pour charger la musique dans ladite banque de mémoire, "Led Off" pour enlever le filtre passe-bas et "Music 2" pour envoyer la musique... ça ne sera pas plus compliqué que cela.

Viendront ensuite s'ajouter des priorités entre les sons ; par exemple lors d'un jeu de tir, si on doit entendre une explosion, celle-ci aura priorité sur la musique New-Beatesque qui fait rage à l'arrière-plan sonore.

A propos du lecteur Soundtracker, je dois tout de même émettre quelques réserves : du fait du nombre impressionnant de versions différentes de ce logiciel qui circulent (bien qu'il n'y en ait jamais eu qu'une seule de commercialisée), et du manque de compatibilité de certaines des routines de relecture et surtout de celles à venir (effets plus nombreux, 8 voix... ), AMOS risque fort de ne pas reconnaître de nombreuses musiques. Notez cependant que son propre éditeur de partitions sera sans doute fourni comme accessoire.

Retour vers le futur

Lorsque vous ferez vos premiers pas dans le monde d'AMOS, vous ne pénètrerez pas dans un univers figé. En effet, Mandarin Software prévoit pour AMOS, comme c'est le cas actuellement pour son homologue STOS, nombre impressionnant d'extensions au langage lui-même. Environ trois mois après l'interpréteur sortira AMOS Compiler, ce sera ensuite le tour d'AMOS 3D ou comment réécrire Starglider 2 en dix leçons, suivi d'AMOS Sprites 600 (qui vu la place disponible sur une disquette Amiga risque bien d'être renommé AMOS Sprites 1600, dixit Mandarin Software).

François Lionet prévoit déjà la sortie d'une version 1.1 d'AMOS, cinq mois environ après la première, qui tiendra compte des remarques et des exigences des utilisateurs. "D'ailleurs, me dit-il, si tu penses à une fonction qui manque, dis-le et je la rajoute aussitôt". Mandarin Software fait la même proposition, si vous avez des conseils, des idées à leur donner, des exigences à formuler, contactez-les, vous pourrez même gagner une bouteille de Champagne ou pourquoi pas, être cité dans les crédits... Une belle preuve de bonne volonté, non ?

Pour plus d'informations sur AMOS, vous pouvez contacter Mandarin Software à l'adresse suivante : AMOS Information, Mandarin Software, Europa House, Adlington Park, Adlington, Macclesfield SK10 4NP, England.

Nom : AMOS (préversion).
Développeurs : François Lionet.
Éditeur : Mandarin Software.
Genre : langage de programmation.
Date : 1989.
Configuration minimale : Amiga OCS, 68000, 512 ko de mémoire.
Licence : commercial.
Prix : 49,95 £.


[Retour en haut] / [Retour aux articles]