"pongl : origin of power" (light) : un pong en 3d en opengl

Description

"PonGL : Origin of Power" est un projet personnel réalisé juste après les habituels "Hello World" d'opengl qui consistent en des cubes qui tournent ;)

J'ai dû apprendre beaucoup de choses sur le tas ce qui signifie que je n'ai sûrement pas écrit le code de la manière la plus optimale possible. Mais quoi qu'il en soit, j'ai essayé de le commenter un maximum et il devrait convenir à celui qui veut apprendre à programmer en Opengl avec Glut.

J'aimerais préciser dés maintenant que la version de PonGL que j'ai mise ici est une version "Light" car j'ai dû réduire considérablement la résolution des images pour faire rentrer le tout dans 500ko ce qui donne un aspect assez moche des menus... Pour les sources complètes je conseille vivement le pack complet (comprenant : images de bonnes qualités, exécutable et sources) disponible sur le site du jeu :

http://pongl.opengl-fr.com

Bon, maintenant je vous explique brièvement en quoi consiste le jeu :
Je suppose que tout le monde connait le mythique Pong qui fut l'un des premiers jeux créés (le premier ?), PonGL reprend le même principe. C'est à dire deux palettes qui doivent bouger sur un axe pour empecher une balle de passer.
En plus de ça, dans PonGL la caméra bouge pour se positionner à d'autres points de vues ce qui augmente l'effet 3d.
Il y a des systèmes de points différents que l'on joue à deux ou tout seul (contre le mur). Si on joue à deux, chaque joueur possède une jauge qui se remplit ou se vide en fonction de si on gagne ou perd. Le joueur qui a sa jauge complètement pleine gagne et l'autre perd...
Dans le mode 1 joueur, les points se comptent en fonction des rebonds sur les murs et en fonction de la vitesse de la balle (qui augmente avec le temps).

Si vous voulez jouer contre le pc, il y a 5 intelligences artificielles disponibles : de la plus facile à la plus difficile.

Beaucoup d'options sont disponibles pour, par exemple : avoir le jeu en mode filiaire, désactiver l'accélération de la balle, désactiver l'inertie de la palette, etc...

Conclusion :


Les touches utilisées pour jouer sont :

en mode 1 joueur : haut, bas, droite et gauche pour la palette.
en mode 2 joueurs : z, q, s, d pour la palette de gauche et haut, bas, droite et gauche pour la palette de droite
barre d'espace pour lancer la balle si l'option est activée.

J'aimerais, plus tard, faire une version 2.0 qui se jouera en réseau quand j'aurais les bases nécessaires.

J'ai trois petits "appels à l'aide" à faire tant que j'y suis... Ils sont sur mon site dans la partie "téléchargement" mais je les résume ici en quelques mots :

1. La source est comprise entièrement dans un seul fichier .c et j'aimerais la diviser mais je n'ai pas réussi... Si quelqu'un savait m'expliquer ou bien carrément le faire si c'est pas trop difficile (j'apprendrais en regardant).

2. Normalement vu que j'utilise Glut et Fmod qui sont portables, je crois que la source devrait se compiler facilement sous linux... Malheureusement je n'ai pas réussi à installer la librairie Glut dans Gcc sous linux (je débute complètement sur linux). Si quelqu'un a déjà un linux bien propre et prêt à compiler du code, ça serait sympa de le compiler...

3. J'aimerais faire un "pack" propre avec une belle licence (GPL ? GNU ?) mais je n'y connais vraiment pas grand chose... Pareil que tout à l'heure, si quelqu'un sait m'expliquer la manière de procéder... J'ai lu quelques tutoriaux à droite et à gauche mais ce qui me perturbe c'est que j'utilise moi même des librairies sous ces licences (Glut, Fmod) et je ne sais pas comment l'indiquer clairement.

Si vous voulez plus d'infos sur PonGL ou prendre la version complète et non "Light", vous pouvez passer sur le site du jeu qui est vraiment complet :

http://pongl.opengl-fr.com

Codes Sources

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.