Jwolfenstein 3d !

Description

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 ;)

Source / Exemple :


La source est dans le ZIP. C'est pour Java 6 (pas testé sur le 5)
Le projet est un projet Eclipse.

Pas besoin de compiler, tout est déjà compilé dans le répertoire bin.

MAJ du 13/03/2009:
-Le projet est désormais sous licence GNU GPL v3
-le curseur disparait (nouveau paramètre dans le fichier de configuration) et amélioration de la visée avec la souris
-Applet régénérée (par contre l'amélioration de la visée fait "ramer" l'applet, je corrigerai plus tard)

NOTE : suite a cette mise à jour, j'ai du enlever l'applet (JWolfenstein.jar), il faut la regénérer (voir le fichier source org/jwolfenstein/main/MainApplet.java pour voir comment)

MAJ du 21/01/2009 :
On peut modifier certains paramètres du jeu en modifiant le fichier de configuration gameConfig.xml. ATTENTION : la moindre erreur fait planter le jeu.
Pour changer la taille de la fenêtre : modifier les valeurs width et height dans le fichier. 

MAJ du 29/01/2009 :
Désormais, le jeu peut se lancer dans une applet d'une page Web. Ouvrir la page JWolfenstein.html pour visualiser dans un navigateur. Vous devez accepter le certificat.
Note : je sais pas pourquoi, parfois, a la première exécution dans le navigateur, la page reste blanche après l'acceptation du certificat, faites F5 (Rafraichir) dans le navigateur et ça marche ! :)

Codes Sources

A voir également

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.