flossmanualsfr / peril-en-daiza

Jeu 3D créé avec Blender / 3D Game Created With Blender
http://perilendaiza.com/
GNU General Public License v2.0
5 stars 1 forks source link

Faire un retour au niveau ou au menu du jeu en cas d'emprisonnement #8

Closed zeauro closed 10 years ago

zeauro commented 10 years ago

Quand on est pris u piège derrière une porte; on doit carrément quitter le jeu pour pouvoir recommencer la partie. Alors que quand on meurt; on recommence au même niveau. Je dirais qu'il y a une assymétrie dans la sanction.

qbolsee commented 10 years ago

A ce sujet, dans le menu, il faudrait qu'on puisse sélectionner le niveau directement sans passer par le 1er à chaque fois. C'est tout de suite assez compliqué parcequ'il faut générer une liste de niveau et l'afficher à l'écran et vu qu'on peut rajouter ses propres niveaux (donc scènes), il faudrait pour ça scanner toutes les scènes présentes dans le .blend

nylnook commented 10 years ago

Là il faudra faire un menu en OpenGL ou en objets textes... On peut pas faire une image à chaque fois ;p Sinon il y a l'option que le jeu se souvienne du dernier niveau joué dans le fichier de config... ça voudrait dire qu'il faudrait juste ajouté un bouton "Reprendre la partie" dans le menu de départ.

ça veut dire aussi que c'est facile de tricher, en changeant juste un chiffre dans le fichier de config.

XAMEUS commented 10 years ago

il faudrait pour ça scanner toutes les scènes présentes dans le .blend

Ou tout simplement placer les map dans un dossier ./maps/; facilement lisible en python et chargeable avec LibLoad (oh yeah !). Donc pas compliqué du tout ! ;)

Sinon il y a l'option que le jeu se souvienne du dernier niveau joué dans le fichier de config...

Solution la plus simple à mettre en oeuvre ! ^^

Sinon c'est play > nouveau menu avec la liste des fichiers dans ./maps/ (on peut même pousser le truc plus loin avec des images automatiques prises lord du premier lancement du niveau, et puis on chargera nom_du_niveau.png les prochaines fois). Encore une fois, ce n'est pas trop compliqué.

Du coup il faudra créer une issue Menu+. (là on se perd un peu entre les différents titres)

qbolsee commented 10 years ago

Ca supposerait que pour chaque niveau (scène) du jeu, il existe un fichier de niveau externe qui va avec, mais ce n'est pas forcément le cas: le blend est viable tout seul (si ce n'est les textures/sons)

XAMEUS commented 10 years ago

le blend est viable tout seul (si ce n'est les textures/sons)

Et maintenant il a les fichiers de langues et de configurations... Le .blend seul n'est pas la bonne distribution.

On pourrait donc imaginer, au passage, tout sortir du .blend (scripts, images, maps, sons, etc.); ça permettrait de travailler plus proprement, sans avoir à écraser le .blend principal parce qu'on a fait un petit changement dans un seul script (-> voir https://github.com/flossmanualsfr/peril-en-daiza/issues/9 ).

XAMEUS commented 10 years ago

Et pour répondre à la question (parce qu'on a totalement dévié, parler de menu et tout...) :+1:

Quand on est pris u piège derrière une porte; on doit carrément quitter le jeu pour pouvoir recommencer la partie. Alors que quand on meurt; on recommence au même niveau. Je dirais qu'il y a une assymétrie dans la sanction.

Je pense qu'on pourrait définir une touche qui ferait tout simplement un KX_Scene.restart().

On s'éparpille beaucoup sur les issues. Il faudrait en faire des différentes, avec les bons tags. (ordonner un peu le travail)

qbolsee commented 10 years ago

tout sortir du .blend (scripts, images, maps, sons, etc.)

Impossible pour les maps: elles ne sont pas lues in-game mais bien à l'avance, pour générer des scènes. C'est ça qui me dérange pour la liste des niveaux: les fichiers de niveaux n'ont rien à voir avec les scènes dans le .blend, ils ne servent que de backup si on veut à nouveau les générer.

nylnook commented 10 years ago

Pour revenir au bug de Zeauro, je suis d'accord avec Xameus... un appui sur la touche R (pour "Recommencer" ou "Restart") ?

XAMEUS commented 10 years ago

Ajouté ! Il faut mettre à jour le script panda_player.py ; touche 'R' pour un KX_Scene.restart !

nylnook commented 10 years ago

je viens de tester, ça marche, merci beaucoup !

nylnook commented 10 years ago

TODO

XAMEUS commented 10 years ago

Ajouté au README.