[Update] Template - Jeu d'aventure à la 3ème personne (Zelda)

Posté par cray le 13/2/2009 17:32:22


Bonjour à tous,

voici un template pour Jeu d'aventure à la 3ème personne[/url] (Zelda-like) que j'ai commencé à développer il y a près d'un mois.
Il est destiné aux débutants comme moi comme support d'apprentissage, mais je serais ravi de voir des jeux développés à partir de celui-ci.

J'ajoute que je n'ai découvert Blender qu'en novembre et le Game Engine en janvier (+Python) et il est fort probable que vous penserez que certaines choses auraient pu/dû être traitées différemment.
N'hésitez pas à ajouter vos propres améliorations.

J'ai bénéficié de l'aide de plusieurs personnes ici et sur BlenderArtists, notamment de PhilB (BA) qui a aussi travaillé dessus.
Merci aux personnes qui ont contribué en répondant à mes questions ou en proposant des bouts de scripts.

ps : Ne touchez pas les plateformes rouges.


TELECHARGEMENT version 01 - 20/02/2009

TELECHARGEMENT version 00 - 13/02/2009


::::::::::::::::::::::::::::::::::::::::::::::::::::::
: D E S C R I P T I O N
::::::::::::::::::::::::::::::::::::::::::::::::::::::


Caractéristiques

- Déplacements en Servo motion
- Vue à la souris : la caméra se déplace en rotation autour du personnage
- Le personnage tourne (à l'aide de la souris) lorsqu'il se déplace.
- La rotation de la caméra se fait indépendamment lorsqu'aucune touche n'est pressée.
- La caméra gère les collisions
- Les sensors/controllers/actuators sont nommés de manière intuitive afin que la configuration soit facilement compréhensible
- Téléporteurs de base
- Jumpers de base
- Clic-droit -> vue à la première personne(en mouvement on peut presque imaginer un Mirror's Edge like :) )
- Death state (cube rouge = Message de 'Game Over')
Les plateformes rouges vous tueront -> Death State -> Message de Game over -> La scène est réinitialisée
- Auto Jump (Cette option peut facilement être désactivée. Les instructions se trouvent dans le _ReadMe)

- Le personnage devient transparent lorsque la camera est trop proche (Alpha Ipo)

- States

+ Ajout d'un state victoire 'win_state'

- J'ai ajouté des pièces à ramasser, et des plateformes "tueuses" en mouvement




pièce jaune = 10... rubis
pièce bleue = 50 rubis
piève verte = 100 rubis

Je n'ai fait aucune optimisation (textures, animations) donc il est possible que le fichier soit plus lourd qu'auparavant. N'hésitez pas à supprimer des pièces si l'ensemble devient trop lent.

- J'ai ajouté un script pour le ramassage des pièces, et un calculateur (nombre de rubis en votre possession).
L'exemple proposé concerne des rubis, mais vous pouvez aussi utiliser ce script très simple pour ajouter de la vie, en faire perdre, augmenter les capacités d'un personnage, changer de niveau... il suffit d'adapter en fonction de vos besoins, changer la propriété concernée, etc...
Vous pouvez aussi ouvrir des portes verrouillées lorsque tous les items dans une pièce ont été ramassés (vous aurez besoin d'un compteur supplémentaire ou d'un script), ou tous les ennemis tués, etc...

- Si vous ramassez plus de 850 rubis (propriété money_count) une récompense apparaîtra (un coffre, une princesse, des Ferrero).
Cette valeur peut être modifiée en changeant la valeur Min du sensor Property "big_prize_condition" connecté au 'Main_character'.
Ce trigger peut être utilisé pour toute sorte de choses, level up, power up, troisième oeil, ce que vous voulez.





:::::::::::::::::::::::::

Notes

- AutoJump : vous pouvez adapter la fonction auto jump à vos besoins en changeant la value du sensor 'high'. (Cela vous permettra de déterminer dans quelles conditions l'auto jump sera validé : escaliers = pas de saut, falaise = saut)

- Si vous avez besoin d"append" la configuration du personnage dans votre propre scène, il vous suffit de sélectionner "Group > Full_Character"

Si vous voulez ajouter le comptage de rubis à votre jeu :
- Créez un objet (pièce, coeur, pomme)
- Donnez lui une propriété "money" et une valeur. Cette valeur doit être une nombre. "Beaucoup" n'est pas une valeur.
- Ajoutez une propriété "money_counr" au mesh qui contient la logique de collisions ("Main_character" pour ce template).
- Connectez un 'controller' Python (Script : Money_count) à un sensor Collision sensor , qui lui vérifie si l'élément entré en collision contient la propriété "money", en Pulse Mode (''' activé).


:::::::::::::::::::::::::

Problèmes connus

- Plateformes en mouvement :


Bien que j'aie eu de l'aide ici et sur BA, je n'ai toujours pas trouvé de solutions pour que le personnage ne subisse pas l'accélération de la plateforme, et qu'il puisse se déplacer librement dessus (cf Mario).

Toute contribution serait la bienvenue!


:::::::::::::::::::::::::

Caractéristiques attendues


Quelques choses qui pourraient être ajoutées, je me répète mais toute contribution serait la bienvenue :


- Possibilité de s'accrocher aux rebords comme dans Yo! Frankie
- Swimming state (nager)


Capture d'écran





:::::::::::::::::::::::::

Credits


Les credits sont donnés dans le _ReadMe (Text).
Si vous utilisez ce template, veuillez citer les personnes à l'origine des scripts (les noms sont donnés dans la partie 'credits' du _ReadMe, ceci est aussi valable pour PhilB et Cray - moi-même).


J'espère que vous trouverez ce template utile!

Cette contribution était de : http://blenderclan.tuxfamily.org/html/newbb/viewtopic.php?forum=3&topic_id=18168&post_id=225759