par Julien COPPOLANI

Introduction | Performances | Contrôles | Editer son circuit | Améliorations futures | Code source | Auteur




  Introduction

Ce jeu est l'adaptation du jeu babal développé sur les calculatrices HP-48 par U-FOOT et disponible sur sa page web : http://www.ufoot.org/babal/.
Le principe est de diriger une balle le plus loin possible sur un parcours composé de dalles carrées tout en allant le plus vite possible.

Je l'ai programmé en C avec la librairie GLUT (OpenGL Utility Toolkit), ce qui simplifie beaucoup la programmation, et par ailleurs le code est portable (sans aucune modification) sur d'autres systèmes où GLUT a été implémenté (OS/2, NT, Mac, X Window System...).

Par ailleurs le jeu n'est pas une version finale et présente pa mal d'imperfections, (bug dans la rotation de la balle par exemple...). Mais cela n'affecte pas trop la jouabilité qui à mon goût, est bonne.
Si vous avez noté des anomalies importantes ou si vous avez des suggestions, merci de me l'informer par mail.

Remarque : le jeu babal de U-FOOT est inspiré du jeu TrailBlazer (Plus d'infos) qui existait sur les Commodore 64. Il existe actuellement 2 excellents remakes de ce dernier : (en freeware)
- Void Runner. Page de l'auteur : mordred.hit.bg/vr.htm
- Blazing Trails. Page de l'auteur : www.btinternet.com/~Allan.Bentham/blazingtrails.htm.


  Performances

Les performances sont littéralement démultipliées si l'on possède une carte graphique avec accélération 3d.
Sur mon pentium 225mmx (200mhz overclocké à 225mhz) muni d'une carte 3dfx voodoo3 2000, ça affiche en début de partie 225 fps !!!
Par ailleurs on peut redimensionner la fenêtre à sa guise (de taille 512 * 512 par défaut), et la réduire augmente les performances.
Réduire le nombre de facettes de la sphère augmente également les performances.


  Contrôles

Le jeu se joue au clavier, mais la plupart des options sont accessibles avec un clic droit de la souris.

clavier :
- touches directionnelles [Haut], [Bas], [Gauche] et [Droite] pour se diriger
- [Espace] pour sauter
- [p] pour pause
- [i] pour changer la couleur du fond (noir->blanc ou blanc->noir)
- [v] pour afficher en haut à droite la vitesse instantanée de la balle

souris :
- clic gauche : changer l'angle de vue !
- clic droit : accès au menu

Le menu dispose des options ci-dessous :
- Invert colors Même chose que la touche [i] du clavier
- Display/Hide FPS Affichage du FPS (frames per second ou images par secondes) dans la barre de titre
- Display/Hide Score Score (par défaut désactivé) ; Attention, c'est très gourmand en puissance !
- Bouncing on/off Active/désactive le rebond : si activé, la balle fait 3 rebonds. (par défaut désactivé)
- Acceleration > Permet de choisir l'accélération (l'accélération de la balle (5 par défaut) ainsi que la gravitation (10 par défaut). Rmq: cette valeur correspond à des m.s-² et la vitesse à des m.s-¹ si on considère que la balle fait 1 mètre de diamètre. Par ailleurs la vitesse de saut initiale (verticale) est fonction de la gravitation pour que la balle saute toujours 1 seconde.
- View > Choix entre une vue courte (par défaut) ou une vue un peu plus éloignée
- Sphere > Choix de sa couleur (par défaut rouge), de sa taille (par défaut 0.5), ainsi que de sa résolution en nombre de facette (par défaut 8 * 16 = 128 facettes)
- Texture > Choix de 11 textures différentes (par défaut c'est la première)


  Editer son circuit

Le circuit principal est le fichier 'ciruit.raw' présent dans le répertoire 'circuits'. (Il faudrait que je l'intègre dans l'exécutable)
Vous pouvez créer votre propre cicuit sans modifier l'original. Il suffit pour cela de créer un fichier 'circuit0.raw', lequel sera ouvert par défaut.
- Edition du circuit : (c'est hyper simple) :
Créez une nouvelle image de Largeur 16, et de Hauteur une valeur quelconque inférieure à 1024 et de fond blanc.
Je vous conseille de commencer à l'éditer par le bas (c'est plus intuitif) : chaque pixel noir ou rouge de l'image (couleur 0x000000 ou 0xFF0000) représentera une dalle dans le jeu.
La couleur rouge sert de point de repère lorsque l'on perd : c'est au point de repère le plus proche en arrière que la balle sera remise. S'il n'y en a pas, c'est au début que l'on recommence. Bien entendu, plus il y a de points de repères, plus le niveau est facile.
Enfin, pour remettre l'image dans le bon sens, faites un retournement gauche-droite puis un renversement haut-bas de l'image.(Ctrl-m et Ctrl-i sous Paint Shop Pro).
Puis enregistrez-la : c'est là qu'il vous faudra peut-être Paint Shop Pro car pour des raisons de simplicité (du point de vue de la programmation), le format d'enregistrement est le format 'raw' (image seule), format que Paint Shop Pro gère très bien.
Donc sélectionnez le format 'raw', et vérifiez dans les options d'enregistrement :
Taille d'en tête : 0
Options 24 bits : mode entrelacé
ordre RVB
voilà !


  Améliorations futures

(si un jour je prend le temps d'y consacrer un peu de temps...)
- rotation correcte de la sphère lorsqu'elle se déplace latéralement


  Code Source

Je fournis grâcieusement le code source !
Cliquez ici

  Auteur

Julien COPPOLANI
Email : julien.coppolani@gmail.com
Haut