CubesMayhem
(Anciennement FunBlobReturn)
Un jeu fait par Volatile Dove.
I ) Configuration nécessaire (estimation) :
- Un ordinateur doté d'un processeur 400 Mhz ou supérieur
- Windows (98 à Vista), ou Linux avec X11
- Le support de OpenGL, aussi bien au niveau de la carte graphique qu'au niveau des pilotes (ou bien le support de DirectX8.1 sur Windows)
- 64 Mo de mémoire vive, en plus de ce qu'il faut pour le système d'exploitation
- Carte graphique assez bonne (GeForce 4 ou Radeon 9000 recommandée)
Tests sur ordinateurs (benchmarks):
Processeur | RAM (mémoire) | Carte graphique | Système d'exploitation | Test (avec la configuration par défaut si non spécifié) |
Atlon 3000+ | 512 Mo | Radeon 9600 | Windows XP | Le jeu marche bien et charge vite (OpenGL: 60<FPS<80 ; Direct3D: 170<FPS<200) |
Atlon 3000+ | 512 Mo | Radeon 9600 | Linux Mandrake 10.0 | Le jeu marche assez bien et charge vite (60<FPS<90) |
Atlon 3000+ | 512 Mo | Radeon 9600 | Microsoft Windows 98 SE émulé par Wine 20050419 sur Linux Mandrake 10.0 | Le jeu marche assez bien et charge vite (OpenGL: 60<FPS<80 ; Direct3D ne marche pas) |
~ 500 mhz | 128 Mo | carte graphique intégrée | Windows | Le jeu marche assez bien et charge vite en mode fenêtré |
R4 CPU 1.80 Ghz | 256 Mo | inconnue | Windows 2000 (serveur universitaire) | Le jeu prend un temps long pour le chargement initial (à cause des meshs), mais fonctionne parfaitement à partir de là |
~ 2 Ghz | 256 Mo | inconnue | Linux Debian (serveur universitaire) | Le jeu marche assez bien et charge vite |
R4 CPU 2.80 Ghz | 512 Mo | inconnue | Windows 2000 (serveur universitaire) | Un temps de chargement initial étrangement long (plusieurs minutes) et le jeu rame horriblement en mode plein écran (étrange ...). Marche très bien à partir du moment où c'est en mode fenêtré et à partir du moment où les meshes sont chargées. |
II ) Le jeu :
Dans tous les cas, dézippez tout d'abord le fichier zip.
(a) Lancer le jeu sous Linux :
- Lancez un terminal quelconque (pour Mandrake 10.0, c'est quelque chose comme clik sur menu demarrer de Linux, puis sur "Système", puis sur "Terminaux", puis sur "Konsole", "Gnome terminal" ou "XTerm")
- Accedez au dossier du jeu (tapez "cd le-dossier-du-jeu")
- Tapez "./CubesMayhem.sh"
Remarque : il se peut que le jeu ou/et le setup ne marchent pas s'il sont lancés directement à partir d'un explorateur de fichier comme Konqueror ou Nautilus.
(a) Lancer le jeu sous Windows :
Double-cliquez juste sur FBR_Windows.bat
(c) Configurer le jeu / solutions aux problèmes :
Pour configurer le jeu (ou pour essayer de faire qu'il marche si jamais il plante au démarrage), lancez FBR_Windows_Setup.bat sous Windows ou ./FBR_Linux_Setup.sh sous Linux. Ceci permet de choisir vous-même la langue du jeu, la résolution d'affichage, le pilote, etc... Si votre ordinateur a quelques problèmes (FPS trop bas), vous pouvez aussi essayer de remplacer le fichier config.xml par config.xml.safemode.
Si les couleurs ne sont pas aussi jolies qu'attendu, configurez le jeu en 32 bits (et mettez éventuellement les paramètres d'affichage de Windows en 32 bits).
(d) Le jeu :
Après avoir appuyé sur Entrée, vous vous retrouvez directement dans le jeu.
Le but du jeu est de trouver la fin du niveau. Pour ce faire, reférez-vous à l'indicateur de distance en bas de l'écran (appuyez sur F2 pour avoir la distance en 2D sans la hauteur, appuyez sur F3 pour avoir la distance en 3D). Le déplacement peut se faire par plusieurs moyens : avec les touches de direction normales, et PagePrécédente/PageSuivante pour regarder en haut/bas. Vous pouvez aussi utiliser les touches O,K,L,M. Les touches R,D,F,G permettent en outre un mouvement latéral, et vous pouvez utiliser la souris (quoique la prise en charge de la souris n'est pas encore parfaite). Utilisez SHIFT ou ESPACE ou click droit pour sauter.
Le niveau est complètement aléatoire, et la fin du niveau n'est pas toujours accessible. Si vous pensez que vous êtes bloqué, appuyez sur TABULATION : vous vous retrouverez dans un nouveau niveau, mais vous aurez perdu une vie. La même chose arrivera si vous tombez dans le vide.
Si vous réussissez à passer un niveau, le décor change, et vous gagnez une vie.
Pour activer/désactiver le son, appuyez sur les touches B/N.
Pour changer la distance focale, utilisez le scroll de la souris.
III ) Realisation / modification du jeu / :
(a) Droits :
Ce jeu est sous license GPL.
(b) Modifier le code source du jeu :
Ce jeu a été fait avec la bibliothèque Irrlicht et OpenAL (alut) pour le son.
Vous devez installer ces bibliothèques pour recompiler le jeu.
Le code source a été entièrement rédigé par moi avec Dev-C++ 4.9.9.0, puis recompilé sur Linux. La nouvelle version se base sur Visual Studio 2008 Express.
Attention: Le code est très vieux et n'est pas du tout un exemple à suivre en matière de modularité (je ne code plus comme ça :p). Le jeu est structuré en modules de la manière suivante :
- const.h :Fichier définissant les constantes générales au programme.
- object :Module définissant un objet 3D composé d'une mesh et d'une texture. Sert pour le module player.
- player :Créé et gère le personnage incarné par le joueur.
- settings :Gère les paramètres du programme qui sont stockés dans le fichier xml.
- tableworld :Gère le tableau de collision du monde 3D.
- util :Gère des fonctions utilitaires (qui peuvent être utilisées pour d'autres applications). Recouvre la bibliothèque Irrlicht. Sert pour quasiment tous les modules.
- soundbank :Gère le son.
- world :Créé et gère le monde en 3D. Utilise les modules player et tableworld.
- main.cpp :Fichier principal. Définit le gestionnaire d'évenements, définit le setup permettant de changer les paramètres, et utilise le module world.
(c) Graphismes et sons :
Ont étés employés pour les graphismes et la 3D :
Adobe PhotoShop 7.0, Terragen, 3dsMax, Paint 5.1, etc ...
Certains décors peuvent être partiellement tirés de jeux que j'ai fait avant, en particulier FunBlobRevolution.
Sons extraits de http://www.koumis.com/soundfx.htm et modifiés avec SoundForge.
IV) Avertissement sur l'épilepsie
Merci de lire avant d'utiliser ce jeu vidéo ou autoriser votre enfant à l'utiliser. Certaines personnes sont susceptibles de faire des crises d'épilepsie ou d'avoir des pertes de conscience à la vue de certains types de lumières clignotantes ou d'éléments fréquents dans notre environnement quotidien.
Ces personnes s'exposent à des crises lorsqu'elles jouent à certains jeux vidéo. Ces phénomènes peuvent apparaître alors même que le sujet n'a pas d'antécédent médical ou n'a jamais été confronté à une crise d'épilepsie.
Si vous avez déjà présenté des symptômes liés à l'épilepsie (crise ou perte de conscience) en présence de stimulation lumineuse, veuillez consultez votre médecin avant toute utilisation. En tout état de cause, veuillez respectez les règles suivantes lors de l'utilisation d'un jeu vidéo :
- Ne vous placez pas trop près de l'écran.
- Evitez de jouer si vous êtes fatigué ou si vous manquez de sommeil.
- Assurez-vous que vous jouez dans une pièce bien éclairée.
- En cours d'utilisation, faites des pauses de dix à quinze minutes toutes les heures.
V ) Historique :
Version 2.0.1 :
Le jeu est maintenant GPL.
Version 2.0.0 :
- Jeu renommé en CubeMayhem
- Jeu recompilé avec Irrlicht 1.5 et Visual Studio
- Modifications diverses
- Maintenant l'objectif est visible à partir de n'importe où et à travers les murs.
Version 1.6.3 :
Paramètres par défault changés.
Version 1.6.2 :
Un petit truc a été changé dans les scripts Linux parce que ça posait problème sur une distribution Fedora Core.
Version 1.6.1 :
Mode plein écran remis par défaut dans config.xml (oubli dans la version 1.6.0)
Version 1.6.0 :
- Le mode par défaut utilise Direct3D sur Windows.
- Ajout du son. Vous pouvez l'activer/désactiver avec les touches P/M.
- Ajout du compteur de temps. Configurez le niveau de difficulté dans le setup.
- Ajout du changement de distance focale avec le scroll de la souris.
- Système de changement automatique de la configuration selon le niveau. Mettez "is_autoconfigure" à 0 dans config.xml pour le désactiver.
- Le jeu prend moins de mémoire.
Version 1.5.1 :
- Compilé avec Irrlicht 0.11.0.
- Ajout de "chmod" dans les scripts linux.
Version 1.5.0 :
- Certains cubes bougent maintenant, quand ils sont à une certaine distance du joueur.
- Si vous activez le mode "tremblement", l'ensemble des cubes semble trembler.
Version 1.4.1 :
Rajout de la version avec Irrlicht 0.8 au cas où la 0.10 ne marcherait pas car il semble y avoir un problème sous certains ordis sous Linux avec glXGetProcAddress.
Version 1.4.0 :
- Maintenant, quasiment tous les niveaux sont résolvables, grâce à un algorithme récursif.
- Plus de "saut" de niveau.
- Ajout du mode 1024x960 plein écran.
Version 1.3.0 :
- Le jeu a été recompilé avec Irrlicht 0.10.
- Améliorations au niveau de l'organisation des fichiers.
Version 1.2+ :
Ajout des scripts FunBlobReturnTryAgain et de libXxf86vm.so.1.
Version 1.2 :
Le jeu se relance quand on perd toutes ses vies (au lieu de quitter).
Version 1.1 :
- Importantes modifications au niveau du système de configuration du jeu. L'utilisateur peut maintenant configurer le jeu facilement.
- Le jeu a été recompilé avec Irrlicht 0.8.
- Le jeu supporte maintenant DirectX8 et DirectX9, et de fait peut s'avérer beaucoup plus rapide qu'avant sous windows (lancez le setup pour indiquer que vous voulez utiliser DirectX au lieu de l'OpenGL).
- Il y a maintenant des fondus lorsqu'on perd ou lorsqu'on réussit.
V ) Bugs actuels et problèmes :
Aucun bug n'a été recensé. Si vous en trouvez, veuillez envoyer un message à l'adresse e-mail que vous trouverez sur le site web cité au début de ce fichier.
S'il y a un problème, lisez la procédure de lancement du jeu et les "solutions aux problèmes" (plus haut).