REMARQUES IMPORTANTES


Remarques importantes:

Ce site a été conçu dans le seul but de donner des indications et des routines pour tous ceux qui aiment la programmation en C et assembleur et qui aiment autre chose que seulement des jeux en 3D.
Toutes les routines font référence à Totalwar, un jeu de tir à scrolling vertical parallax que je suis en train de développer depuis près de 2 ans en collaboration avec Alexandre (quand il n'est pas interdit de PC par son père Mich'touille !).

Pour comprendre l'utilisation des routines, il faut comprendre le concept de programmation de Totalwar.

Totalwar a été initialement programmé sur Atari ST. La plupart de ses routines viennent de celui-ci et on été améliorées surtout en évitant de refaire les mêmes erreurs.
Quand je suis passé sur PC, voilà 4 ans, je voulais programmer mais je n'avais pas de langage correct. De plus, il me fallait certains sources pour comprendre comment exploiter le clavier, le joystick, la carte son. Internet m'a offert tout ça avec en plus DJGPP dont on peut remercier son créateur ainsi que celui de RHIDE, l'IDE pour DJGPP et celui de la bibliothèque ALLEGRO.
Quand je programme un jeu, je me sers d'un buffer qui contient tous les éléments du jeu et qui est adressable par une seule et unique adresse. Voici le pourquoi du buffer de 900Ko qui contient les décors de fond, parallax, l'image des sprites, les cartes des décors ainsi que différentes zones (flag) qui influencent le déroulement du programme.
Ce style de conception peut heurter certains programmeurs. Pour ma part, ça me permet de localiser toutes les données dans un endroit unique et surtout de ne gérer qu'une seule adresse pour les fonctions. Je ne me sers pas non plus des fonctions d'Allegro car je préfère gérer mon programme en profondeur. Il est vrai qu'en contrepartie, ces fonctions d'affichage ne fonctionne qu'en mode 0x13 (320x200x256c).

Dans ce site, ces adresses (offsets) sont indiquées pour que vous puissiez les modifier à votre convenance. Par ailleurs vous pouvez obtenir le plan complet du buffer soit en le téléchargeant ici ou l'afficher en cliquant ici.

Certaines des routines utilisent cette zone comme mémoire temporaire. Ceci pourra être modifier dans le futur dés que j'aurai plus de connaissance sur DGJPP et son interface avec l'assembleur.

Les exemples fournis fonctionnent sous windows mais nécessite CWSDMPI.EXE dans le même répertoire pour fonctionner sous DOS. Cet exécutable est un serveur DMPI. Je n'en suis pas l'auteur.

Pour vous convaince de la rapidité des routines, lancer TOTALWAR. Toutes les routines viennent de lui.

Note: Je ne suis pas graphiste !. Donc si quelqu'un sait faire mieux, qu'il me le dise !.
Il s'avère que sous windows 98 le jeu saccade. Ce n'est pas de ma faute. Il fonctionne très bien sous 95. Donc, si c'est gênant pour vous, passez sous DOS sans oublier de placer le serveur DMPI dans le même repertoire (CWSDMPI.EXE). Si j'en ai envie, je pense le passer sous Windows mais ça, c'est une autre histoire .... et pour Linux ... on verra vraiment plus tard :-).

Je me réfère beaucoup aux bornes d'arcade car c'est grâce à elle que j'ai trouvé la plupart des algorithmes pour les jeux, ceci en réfléchissant devant beaucoup de bière :-).

J'espère que ce site vous donnera l'occasion de programmer. N'hésitez pas à m'écrire pour toutes suggestions ou améliorations (adresse en page NEWS).

 

JFM