Bonjour,
voici une implémentation très rapide en Java du célèbre Wolfenstein 3D !!!
Le jeu n'est pas complet, on peut seulement se balader dans un niveau et tirer sur les ennemis. J'ai pas encore eu le temps de permettre aux ennemis de vous tirer dessus (actuellement, ils vous ignore !) ! Si quelqu'un est motivé !
Il y a un éditeur de niveau fourni avec. Attention pas trop de critique sur l'éditeur : je l'ai fait rapidement et donc niveau ergonomie et affichage, on fait mieux :) L'important c'est qu'il soit a peu près fonctionnel !
Le moteur du jeu fonctionne pas trop mal, il reste de nombreux bugs a corriger : des bugs d'affichage des objets et des murs, la précision des tirs etc... si j'ai un peu de temps, j'essaierai d'améliorer tous ça!
La technique de Raycasting (technique pour afficher les murs en "3D") s'inspire d'un article que j'avais trouvé par hasard sur le web : http://www.permadi.com/tutorial/raycast/
Note sur les performances : j'ai remarqué sur mes 2 machines de développement, une sous XP et une sous Vista que pour une raison inconnue, le jeu ramait a mort sous XP (a peine 5 images par secondes), apparemment, ça serait DirectX qui bugue. En effet, par défaut sous Windows, Java utilise par défaut DirectX pour l'affichage, en activant l'OpenGL (rajouter l'option -Dsun.java2d.opengl=True au lancement de l'application par Java), il n'y a plus de prb de performances... Les scripts pour exécuter le jeu incluent cette option (ne devrait pas avoir d'incidence sous Vista et Linux, a confirmer...).
Note sur les sources : j'ai essayé de commenter et de faire un code a peu prés propre et structuré, a force de tripatouiller, certaines sources sont un peu crados :) De plus, au début j'avais codé les noms des fonctions et variables en français, en cours de route j'ai changé en anglais donc il doit y avoir des oublis franglais !
Pour ceux que ça interresse, l'éditeur est fait sur le schéma MVC (Modèle Vue Contrôleur).
Touches : (suite MAJ du 26/01/2009)
ESC : quitte le jeu
Avancer : flèche haut du clavier
Reculer : flèche bas du clavier
Pas de coté vers la gauche : flèche gauche du clavier
Pas de coté vers la droite: flèche droite du clavier
Tourner la tête (dirige le personnage) : déplacer la souris
Tirer : espace ou bouton gauche de la souris
Quitter : fermer la fenêtre ou bien Echap.
Afficher le nombre d'images par secondes : appuyer sur la touche f
Pour lancer :
j'ai fait des script BAT pour Windows. Pour Linux, il suffit de reprendre la même commande que dans ces fichiers !
editor.bat : lance l'éditeur de niveau
launch.bat : lance le jeu en mode fenêtré avec une map par défaut (dans le répertoire maps)
launchChoice.bat : lance le jeu en mode fenêtré et donne la possibilité de choisir une carte
launchFullScreen.bat : identique a launch.bat mais le jeu est lancé en plein écran
launchChoiceFullScreen.bat : identique a launchFullScreen.bat mais le jeu est lancé en plein écran
JWolfenstein.html : version applet (cf. plus bas)
Voili c'est tout ;)