Effectivement, ça compile bien avec une version moins récente de ogre (comme celle des dépôts de Natty), mais il est impossible de lancer une partie.
Il n'y a pas vraiment de meilleure façon de procéder que d'utiliser les bibliothèques partagées fournies par le système.
Tu as vraiment besoin de ogre >= 1.7.3 ? (je n'ai pas testé, mais la 1.7.1 est actuellement dans Debian Sid et il n'est pas sûr qu'elle soit mise à jour d'ici la sortie de Ubuntu 11.10)

Sinon c'est sympa, voici quelques retours en vrac :
  • L'IA est bizarre : elle « tremble », elle se coince parfois (particulièrement visible en « very-small ») et elle reste stoïque quand des blocs lui tombent dessus
  • Ça manque de musique !
  • Le terminal est beaucoup trop verbeux (ajouter une option -v si on veut tous les messages, afficher juste les messages d'erreur par défaut ?)
  • Pouvoir régler plus de trucs depuis l'interface (graphisme, clavier...)
  • Gestion de profil avec sauvegarde du score + top 10 en fin de partie ?
Je verrais si j'ai le temps ce week-end pour faire un .deb (ça nécessitera peut-être quelques patchs pour faire ça bien)
Ba en 1.7.1 ça devrait fonctionner sans trop de difficulté je pense, mais vu que la version natty est la 1.6.4 il faudra toujours faire des changements dans les dépots tant que la 11.10 est pas sortie... ça résout pas vraiment le problème. De plus, je trouva ça bete que ce soit la version 1.7.1 qui soit proposé dans les dépots de debian, sur le site de ogre elle n'est même plus proposé vu que la 1.7.3 est une mise à jour mineure de celle-ci...
Je crois que je vais sérieusement me pencher sur la solution de linker ogre en static.. ça sera plus simple pour la distribution ...

Sinon merci pour tes retours, je vais essayer de corriger ces points. Juste pour les profils je ne suis pas sur que ce soit la priorité, mais j'y réfléchi ;-)
(j'ai testé, ça fonctionne avec la 1.7.1)
Le mieux serait de proposer le lien statique en option (script configure ?), dépendre d'une version récente ne pose pas de problème, il suffira d'ajouter les paquets nécessaires dans le PPA (on peut copier les paquets d'un PPA à un autre en quelques clics).

Autre truc, nécessaire au packaging, il manque la possibilité de pouvoir faire un « sudo make install » (ce qui implique de vérifier pas mal de choses, comme le fait de pouvoir modifier les réglages sans être root, de pouvoir lancer le programme en ligne de commande voir aussi depuis un menu...)
Bon si ça pose pas de problème de mettre des paquets récents dans un PPA, c'est sûrement mieux. J'ai compilé ogre pour du link static ça fait une lib de 180Mo, je suis pas très chaud de devoir compiler un binaire de 180Mo à chaque fois ... je pensai pas que ogre était si gros ...

Sinon, j'ai fais en sorte de pouvoir installer après une compilation. Il faut définir la variable d'environnement ROOT .

Par exemple, pour installer dans le système à la racine :
export ROOT=/
make clean
make 
sudo make install
Il doit ensuite être possible de lancer depuis n'importe quel terminal via :
exploTux
Les fichiers de conf modifiables par l'utilisateur sont copiés dans ~/.exploTux/ lors du 1er lancement .

J'ai viré aussi tous les logs de la sortie standard ils sont maintenant dans ~/.exploTux/exploTux.log
Après l'avoir installé je ne peux pas le lancer depuis un autre dossier que celui de compilation.

Il me dit :
cp: impossible d'évaluer «./conf/ogre.cfg»: Aucun fichier ou dossier de ce type
cp: impossible d'évaluer «./conf/input.cfg»: Aucun fichier ou dossier de ce type
An exception has occurred: OGRE EXCEPTION(7:InternalErrorException): ./Ressources/Packs/OgreCore.zip - error whilst opening archive: Unable to read zip file. in ZipArchive::checkZzipError at /build/buildd/ogre-1.7.3/OgreMain/src/OgreZip.cpp (line 280)
Les 2 premières erreurs (copie de la conf) disparaissent après un premier lancement depuis le bon dossier, l'autre subsiste.


Ah, et tant qu'à mettre un « make install », autant prévoir également un « make uninstall » 😛
Bizarre... t'es sur que t'a bien fait
export ROOT=/
et pas
export ROOT=./
Il faut absolument recompiler (make clean; make install ) après avoir setter la variable d'environnement, car elle est ensuite incluse dans le binaire.

Pour le make uninstall, je suis pas certain de comment faire, étant donné qu'on peut l'avoir installé n'importe ou et a différents endroits ... la désinstallation sera dispo quand on aura un package 😉
Ok, je retire ce que j'ai dit, ça « fonctionne ».
(tu devrais exporter la variable ROOT par défaut, la plupart des gens installeront dans / de toute manière et ça n'empêchera pas ceux qui veulent de l'exporter manuellement)

Par contre, ça plante lors du lancement d'une partie (uniquement lancement depuis un autre dossier) :
Texture: BlueHighwayTexture: Loading 1 faces(PF_BYTE_LA,512x512x1) with  hardware generated mipmaps from Image. Internal format is PF_BYTE_LA,512x512x1.
UpdateDisplayTxt a
HumanController setKeyLayout : layoutIdPlayer1
SetPlayerController Human1
UpdateDisplayTxt Human1
createPlayer  Object_2
UpdateDisplayTxt a
terminate called after throwing an instance of 'std::bad_alloc'
  what():  std::bad_alloc
Abandon
Une petite question pour finir :
Le fichier ~/.exploTux/exploTux.log est-il bien nécessaire ? Si on le souhaite il suffit de lancer « explotux -v > fichier.log » , non ?
OK erreur de ma part .. corrigé normalement.
J'ai aussi mis / par défaut pour le make;make install 😉

Pour le log, je suis pas très chaud. C'est pas très gênant (si ?) et ça peut permettre de comprendre certain bugs qui sont pas forcément systématiques. Sinon je peux le mettre dans /tmp ..
Sinon je peux le mettre dans /tmp
Personnellement, je préférerais (si ça finira par être désactivé par défaut lorsque plus stable 😛). À toi de voir.

J'ai fait quelques modifications sur le Makefile. Je crois qu'il n'y a plus vraiment d'obstacle technique pour créer les .deb (et autres formats d'ailleurs, s'il y a des volontaires)

3 choses :
  • Depuis les dernières modifications, « make package » ne fonctionne plus (mais ne sera plus nécessaire avec les .deb ?)
  • Il serait souhaitable de rajouter un fichier README ainsi qu'un fichier AUTHORS
  • Peut-être envisager une mailing list pour éviter de spammer le forum ?
Tu as raison. J'ai créé la mailing explotux-dev at gna.org. Si tu peux t'inscrire, comme ça on continue la discussion dessus .
Pour s'inscrire:
https://mail.gna.org/listinfo/explotux-dev

Bon j'arrive pas bien à la faire fonctionner, je ne reçoi aucun mail mais peut être parcequ'elle est trop récente.
Hop hop Malizor nous a fait un beau PPA pour une installation super facile 🙂
https://launchpad.net/~malizor/+archive/explotux

Au passage, au niveau du jeu, j'ai rajouté la configuration des touches in-game avec la possibilité de configurer 4 joueurs humains, et donc de jouer à 4 sur le même clavier !
2 mois plus tard
Salut,

Ahh un bomberman like français ! 🙂

Bravo, belle initiative !

Si tu veux rendre ton jeu complètement addictif, je te recommande de faire une map "ouverte", cad ne pas inclure d'éléments indestructibles ( ex : poteaux etc.). De cette façon d'énorme combos peuvent être réalisés et le jeu devient par la suite très technique, de plus tu pourras inclure plus de caisses destructibles et donc plus de bonus 🙂

Un jeu coréen auquel j'ai beaucoup joué exploite ce type de map, cf : http://www.youtube.com/watch?v=4pRdLPLk6S0

Ce même jeu possède une autre particularité, c'est de pouvoir être sur 2 "lignes" en même temps permettant ainsi de faire des esquives, feintes etc. On le voit très clairement en 3:52 sec de la vidéo.
2 mois plus tard
Le jeu a maintenant un lanceur/raccourci.

Le PPA est à jour et j'ai ajouté le support de Ubuntu 11.10 (vu qu'il sort bientôt 😉).
5 jours plus tard
6 mois plus tard
Hop, exploTux est dès maintenant disponible pour Ubuntu 12.04 LTS (via le PPA).
Bon jeu !
bonjour,

je viens d'installer explotux qui paraît prometteur (pas de musique mais bon..). J'aimerai pouvoir changer les commandes de direction par les flèches par exemple. Est-ce possible?
@bahoui : Tu peux régler ça dans « Controls Settings » (dans le menu principal).