dimanche 29 avril 2012

Toujours dans les temps ?

Pour faire simple voici ou j'en suis rendue :

J'ai les blocking de mes deux mouvements de dance, celui du BBoy étant pas loin du final ( une passe de polish serait nécessaire mais ça dépendra du temps.... qui manque en ces temps terribles de fin de session...)

Maintenant ce qui me reste a faire d'ici demain soir...

  • Je doit intégrer la foule : j'ai déjà skinner les perso de Neptune avec un biped complet, il faut donc que je fasse prendre la pose puis que je simplifie leur rig). C'est la première chose que je fais aujourd'hui, dans max une heure et demi c'est fini. 
  • Je dois faire un idle pour chaque danseurs. Ici je prévois de faire de 'vrai' idle : dans le sens de ils vont vraiment pas faire grand chose x). Ça ne devrait pas être trop long non plus. 
  • Enfin je dois amener le mouvement de la BGirl au meme niveau que son adversaire et trouver le temps de polish les deux ensuite. 
Work, work, work ! 


lundi 23 avril 2012

Streetdance - update rapide

Salut,

Avancement de la semaine, ou plutôt de la journée (nos autres projets sont dus dans une semaine également :s).

J'ai pas mal avancé sur la danseuse. Je prend mes références dans les vidéos de IGlide et Non-Stop.


Voici mon blocking dans son état actuel (non terminé) :
Le timing n'est pas fait et la fin a été rushée mais j'y travaille ;) 

J'ai intégrer ça dans la scène UDK. Première chose a changer au plus vite : la tourner vers les camera, elle est trop de profil, on voit rien xD


lundi 9 avril 2012

Contrainte 3

Une nouvelle contrainte !
Je finirais de vous parlez de contrainte 2 plus tard : pour l'instant je vais vous expliquer rapidement quelle ets notre troisième te dernière contrainte.

Ça s'appelle Streetdance.

En temps qu'animatrice je dois animer une partie d'une foule plus faire une anim de dance et un idle pour chacun des deux personnages principaux. Les animations de la foule doivent être réparties sur trois rigs avec un nombre limité de bones.

J'ai décidé de donner trois bones aux personnages les plus éloignés, 7 à ceux un peu plus près et 20 pour ceux qui seront vraiment proche du stage.
J'ai commencer par celui du premier rang et ensuite j'ai posé les deux autres, colapsé le skin et je les ai reskinné avec beaucoup moins de bones.

Voila ce que ça donnait hier soir. Je suis en charge des personnages verts.

Contrainte 2 - retour sur ce qui a été acompli

Salut,

Notre prototype de Vulturine est maintenant terminé (ou du moins nous n'avons plus le temps de continuer), la présentation devant Ubi est mercredi... hopefully on vous dira jeudi que ça s'est bien passé, mais reste qu'on est confiants et fiers de ce qu'on a réussi à livrer ! 

Je vais maintenant repasser sur les aspects sur lesquels j'ai travaillé pendant ces deux mois. 

Animation

Mon rôle principale étant animatrice j'ai réalisé le tiers des animations de Joanna et de Bird ( les deux autres tiers ont étaient réalisé par Micheal et Youssef ). Joanna a été particulièrement agréable à animer grâce au rig faciale de Youssef. C'est la première fois que j'utilisais ce genre de rig, il rend Joanna bien plus vivante. 

[vidéo s'en vient bientôt]



Set up des maps

Je me suis également occupé de séparé nos map en différents levels pour nous permettre de travaillé tous en même temps sur nos layers respectifs. Je trouve que c'est vraiment une bonne façon de travailler, elle nous à permet d'avancer rapidement, chacun sur nos choses. Nous avons séparer nos maps de la façon suivante : 
      • LA : pour tout l'environnement et le lightning (par viro)
      • LD : pour le Kismet (puzzles, navigation, pieges, Bird, par Youssef et moi)
      • FX : pour les particules et les destruction (par Micheal et Agustin)


Kismet

J'ai passé beaucoup de temps à rendre le prototype jouable avec le plus des mécaniques que l'on voudrait avoir dans le jeu final. Nous n'avons pas de programmeurs sur le projet, la plupart de ces mécaniques sont donc faites grâce à du Kismet. Je vais expliquer rapidement comment j'ai fait marcher quelques unes de nos mécaniques. 
    • Puzzles
C'était notre principale mécanique de la première partie de nos niveaux et le kismet le plus imposant. Accrochez vous ;) 



La base de ce kismet vient de scripts trouver sur internet (ici http://www.hourences.com/tutorials-ue3-kismet-interface/) qui permettent de créer un interface dans Kismet. Attention, cette façon de faire est extrêmement lourde et instable (je m'en suis rendu compte quand le Kismet commençait à prendre de l'ampleur), ça marche pour notre proto mais il nous faudra faire ça autrement pour le jeu final. 

















Ici on voit la première partie du Kismet : lorsque Joanna arrive dans un trigger proche de l'altar, le joueur peut appuyer "E". Il se passe alors plusieurs choses : 
  • #1. On retire le contrôle de Joanna au joueur et on change la camera pour une cam contextuelle au puzzle. Cela fait on render le HUD qui permet au joueur de résoudre le puzzle. 
  • #2. En même temps on lance le remote event "puzzle 2" qui permet à des partie de kismet complètement différentes (le comportement de Bird en l'occurence) de partir à ce moment là. Très pratique pour garder un Kismet ordonné (shortcut : Ctrl+R+click pour créer un remote event)
  • #3. Joanna est téléporté devant l'altar (des fois que le joueur ait appuyé E lorsqu'elle ne se trouvait pas à la bonne place. Personne ne s'en rendra compte car cet téléportation se fait en même temps qu'un cut de caméra). Puis Joanna joue les anim demandées (ici 'mettre la clé' puis son 'idle de puzzle'). Vous pouvez vous référer aux post de contrainte 1 (Chase : Gang of New York) sur le pawn anim pour plus d'info sur comment fonctionnent ces nodes. 
  • #4. Node de Hourences, allez voir sur son site pour les détails de leur fonctionnement. J'ai utiliser deux Render Texture, un pour chaque icone (chaque groupe de bloc) et un Render Mouse. 

D'après notre gamedesign, les bloc se déplacent sur des trajets pré-définis et s’arrêtent sur des position pré-définies elles aussi. J'ai donc commencé par décider d'un chiffre pour chaque position de chaque bloc et leur attribué un 'int' variable selon leur position de départ. 
  • #1. Avec une switch sans increment amount je track la position du bloc. 
  • #2. Variable qui contient la position du bloc. 
  • #3. Je set la nouvelle position du bloc puis joue le matinée qui l’amènera au bon endroit. 
  • #4. Selon la position du bloc et le click du joueur (gauche ou droite) je joue le matinée qui place les bloc à sa nouvelle position. Dans les settings du matinée Rewind on Play et No Reset on Rewind doivent être coché pour que le matinée puisse jouer plus qu'une fois et que le bloc effectue le mouvement de l'endroit ou il se trouve au moment du click. 
Dans certains cas il faut aller un peu plus loin : si un bloc est dans le chemin de celui qui doit bouger ce dernier restera sur place. Il faut donc vérifier la position des autres blocs avant de faire avancer ou pas le morceau choisi. Ici l'utilisation des 'Named variables' est très importante, pour garder le kismet propre mais surtout pour ne pas se perdre. 




Une autre sécurité importante : anti-button smacher security. En effet si le joueur envoie des commandes répétées avant que les blocs aient fini leurs mouvements, ils enchaînerons sur le mouvement suivant en cour de route et se retrouveront dans des positions assez random, complètement hors des tracks. Le trick est  de simplement bloquer les intervention du joueur pendant 1 seconde (le temps des animation des blocs). 


Enfin dernière étape : repérer la fin du puzzle lorsque les blocs sont à la bonne place et redonner le contrôle de Joanna au joueur. 
Cette séquence est lancé dès le début du puzzle et vérifie à chaque instant si les blocs sont tous à la bonne place. 

Petit mot de fin : avec ce genre de Kismet monstre, il est important de rester organisé, vive les sub-séquences. 

    • Corruption et limite de temps




    • Monkey bars



 



[WIP, le reste arrive d'ici demain]