Tuesday, 30 April 2013

Contrainte 2: Chase - Conclusion




Déjà 3 semaines, c'est finit!

Ça a passé très vite en plus des autres projets de fin de session tous en même temps...

Je n'ai pas pu travailler autant sur les effets sonores que j'aurais voulu, mais j'ai pu explorer ce volet de UDK que je ne conaissais pas.

C'était aussi un bon défi étant donné l'équipe de 13 personnes et que je devais beaucoup collaborer avec tous les animateurs et level artistes.

Donc voici mon implication dans le projet:


Design des niveaux: plans 2D, plans 2D vectoriels à l'échelle, Greybox
Mise en place du Kismet et de la procédure à utiliser pour l'intégration des animations
Marquer le chemin principal avec des lumières placeholder
Streaming des niveaux
Recherche d'effets sonores, mixage
Intégration d'effets sonores dans UDK (Kismet et Unreal Script): FootSteps, Landing, Matinee
Programmation de la caméra, modification des propriétés du Pawn, switch de personnage.

Merci à tout le monde de l'équipe!! Et bon été!!! :)

Monday, 22 April 2013

Clarification du chemin principal




Finalement pour la semaine 2, ajout de points lights dans le chemin principal pour aider les artistes de niveaux à ajuster leur éclairage, qui à son tour aidera à clarifier le chemin à suivre au joueur.


Événements cinématiques Matinee

J'ai mis en place le système de nodes Kismet  que les animateurs devront utiliser pour déclencher leurs animations.




Quand le trigger est touché par le joueur, le mode cinématique est lancé (bloque les contrôles et cache le joueur) et l'acteur cinématique est montré. Le Matinee s'occupe des animations et de la caméra. Le joueur est ensuite téléporté vers le PathNode (j'aime bien les pommes) qui doit être placé à la fin de l'animation Matinee et orientée vers où le joueur va ensuite. Finalement l'acteur cinématique est à nouveau caché et le joueur peut continuer sa course.



Il a aussi fallu modifier un paramètre dans la classe du Pawn pour enlever l'effet spécial de flash de lumière rouge qui se produit lorsque le joueur est téléporté.

Update Blocking de Chloé

Un update du blocking des marchés (Chloé) qui était mal proportionné en général.

Chase: Changement du personnage jouable

3 fois durant le jeu, le personnage principal sera tué et sera remplacé par son assaillant et il deviendra le nouveau personnage jouable.

Pour ce faire, j'ai (miraculeusement) trouvé un script qui fait exactement ça et encore mieux!

Mille merci au dit sauveur (qui ne cite même pas où il a trouver le code lui-même) 


C'est une classe de type Seq_Act (sequence action) qui est directement utilisable dans Kismet. Dans cette classe, chaque aspect du personnage à être changé est déclaré comme variable et des méthodes correspondantes s'occupent d'interchanger ces assets. (anim tree, anim set, skeletal mesh, physical asset)

Je n'ai qu'à utiliser ce nouveau node Kismet avec un trigger pour changer le personnage au moment prévu et j'ai aussi ajouté la fonction de changer de personnage n'importe quand en pesant "Z" pour faciliter les tests.

Monday, 15 April 2013

Chase: Setup des scripts

Les Script Unreal de base sont configurés:

Caméra 3e personne, décalée vers la droite
Vitesse de course à 5m/s
Enlever le double-saut
Le personnage de base de référence est intégré


Chase: Blocking

Voici quelques screenshot du blocking jusqu'à maintenant.

Quartier Riche (Louis-Philippe)


Temple (Pierre)

 Marchés, Bordel (Chloé)
 
 

Quartier Pauvre (Maryse)
 
 

 Égoûts (Alex)
 
 
 

Quartier Portuaire, Quais
(à venir)



Chase: Plan

Voici le plan des niveaux à l'échelle avec le chemin et l'emplacement des événements
(il manque présentement la fin du niveau 5 et le niveau 6)



Saturday, 13 April 2013

Contrainte 2: Chase - Sketchs préliminaires

Voici donc les premiers sketch fait avec les artistes de niveau correspondant ainsi que l'animateur qui est en charge de cette partie du jeu.

Désolé pour le niveau intense de gribouillage, la version au propre sera fait plus tard. Par contre, avec cette méthode, on pouvait rapidement définir le parcours, les différentes zones, les événements possibles et leurs emplacements.

Donc, en ordre:
Partie à Louis-Philippe: Quartiers Riches, Jardins

Partie à Pierre: Le Temple


Partie à Chloé: Le Marché et le Bordel


Partie à Maryse: Quartiers pauvres, ruelles

 Partie à Alex: Égoûts

  Partie à Adam: Quartier portuaire, Quais, Bateau

Contrainte 2: CHASE

Et go! C'est repartit pour la contrainte 2: Une Poursuite.

3 semaines pour: 6 tableaux, 150 mètres par tableau, le personnage parcours environ 5m/s donc environ 30 seconde par tableau.


Ça sera une genre de course à relais car à chaque 1 1/2 niveau, le personnage se fait tuer et on joue ensuite avec le personnage suivant en continuant où on était rendu.

Tout au long du jeu, les autres personnages sèmeront des embûches au personnage principal pour le faire changer de trajectoire.

Sunday, 7 April 2013

Projet Lacerta: Rétrospective



Et voilà, le projet est maintenant officiellement terminé! 
Pour conclure ce blog, voici donc ma contribution au projet Lacerta dans sa totalité:

Game Design:

                - Contribution à l'élaboration des mécaniques de bases et contrôles du jeu
                - Responsable de ces sections dans le GDD

Level Design:

                - Graybox des niveau 

 

                - Intégration et paramétrage des objets physiques déplaçables, destructibles

                - Design d'événements: endroits secrets, destruction passerelle, puzzles, chase finale
                - Streaming des niveaux
                - "Fake" AI
                - Test, débogage, blocking additionnel
                 - Corrections et ajustements suite au rapport des testeurs

Programmation:


                - Intégration des Kit UDK: SimplePlatformGame et MouseInterface
                - Ajustement du saut (hauteur, distance), vitesse de course
                - S'accrocher au parois
                - Plates-formes à collision dynamique
                - Caméra dynamique
                - Système de checkpoints et teleport

FX:

                - FX de matière blanche


Et pour terminer, un dernier vidéo du prototype dans son ensemble!