Journal de bord

Journal de bord

Par Swing Swing Submarine Blog créé le 08/01/10 Mis à jour le 05/04/15 à 22h03

Ajouter aux favoris
Signaler
Seasons after Fall

Il nous reste moins d'un mois pour finir la démo donc pas de temps à perdre : voici la troisième semaine de notre compte-rendu sur le développement de la démo Seasons pour le Festival du Jeu Vidéo !

Côté programmation

Vibrations

Comme nous n'aurons pas de partie sonore dans la démo présentée à Paris en Septembre (c'était prévu comme ça, mais oui ça craint), on s'est dit qu'il fallait trouver un autre moyen de donner des feedbacks au joueur.
J'ai donc pensé qu'intégrer le support des vibrations de la manette (XBox) ne serait pas un mal.

Nous avons 2 types de vibrations possible :

- Les vibrations générées grâce à du code moteur. Le tout relié à la machine à états du renard pour savoir quand les déclencher. Par exemple, si le renard fait une chute plus ou moins haute, on déclenche une vibration plus ou moins longue de la manette.

On trouve ci-dessous un schéma partiel de la machine à états finie (FMS/Finite State Machine) qui gère les mouvements et animations du renard. Le point noir indique l'état initial du renard (en l'occurrence ici "Standing", soit immobile). Les divers états sont représentés par des rectangles aux coins arrondis. Les flèches entre les états sont des transitions et elles ne sont valides que si la condition textuelle attachée est valide.
Le commentaire en forme de post-it indique l'endroit où nous intercallons la gestion des vibrations dans le cas d'une chute.



Machine à états finie partielle


- Les vibrations animées

Quand nous animons des objets, on aimerait parfois associer des vibrations à certains moments de l'animation. Au lieu de gérer ces vibrations avec du code côté moteur, j'ai décidé de réutiliser les bons vieux Path intégrés la semaine dernière pour y raccorder les vibrations.
Un exemple valant mieux qu'un long discours, on trouve ci-dessous une scène mettant en avant l'animation d'un objet rouge qui tombe sur le côté (oui, j'aime bien faire des scènes abstraites de programmeur), illustrant l'utilisation des "vibrations animées" :


Vibration et animation

Les vibrations ne sont cependant pas jouées automatiquement avec l'animation. C'est un script qui autorise ou non les vibrations de se jouer. Car si d'autres vibrations plus importantes sont en cours de diffusion par d'autres objets (objets qui peuvent être plus proches du renard, par exemple), alors on doit annuler ou atténuer les potentielles nouvelles vibrations.

Secousses caméra

Pour accompagner les vibrations, j'ai implémenté un système de secousses très simple se résumant à secouer la caméra en X et Y selon une amplitude, une atténuation et une durée. Ces secousses sont accessibles depuis les scripts et peuvent être déclenchées, par exemple, lorsque la manette se met à vibrer au delà d'une limite, ou lors d'un évènement tout autre.
Pour l'instant, je n'ai pas relié les fameux Paths aux secousses caméra, mais peut-être en aurons nous besoin plus tard.

Script gameplay

J'ai passé la majeure partie de la semaine à implémenter des scripts pour donner vie aux objets (animés pour la plupart) conçus par William. J'ai aussi fait quelques scripts génériques pour d'autres objets qui seront créés sous peu (j'ai donc pu exprimer ma créativité en terme de conception de niveau à base d'objets carrés et rouges).

Je ne voudrais pas spoiler trop le contenu de la démo, alors je vais me contenter de 4 captures d'écrans non commentées issues de quelques scripts implémentés cette semaine. A vous de deviner de quoi il s'agit.


Divers scripts gameplay

Côté LD/GD/ART

Cette semaine a été dédié au travail d'animation.
Je me répète, mais comme je ne suis pas très bon dessinateur il est parfois frustrant pour moi de ne dessiner que ce que je peux et non ce que je veux. En animation, pourtant, j'ai l'impression de pouvoir créer ce qui me plait (avec du temps) et du coup j'aime beaucoup animer des trucs et des machins. L'avantage de notre "direction artistique" à base d'aplats de couleur, c'est qu'en cas de difficultés je peux un peu m'arranger comme je veux et tricher sur les formes que j'anime.

J'ai principalement travaillé sur 4 éléments de décors intéractifs : un arbre qui tombe, un arbre penché, un arbre qui pousse et une structure plus humaine dont je ne peux vous expliquer le fonctionnement exact sans vous spoiler une partie de la démo. Ceci dit, ce n'est pas trop difficile de deviner quelle est cet élément de décor, n'est-ce pas ?


Que de mystère !

L'arbre qui pousse étant le plus intéressant des 3 arbres cités plus haut, c'est de lui que je vais vous parler plus en détails.

Peut-être avez-vous déjà vu un arbre qui pousse dans une de nos vidéos précédemment postées : le bac à sable du programmeur.
A l'origine, cet arbre a été conçu pour notre renard précédent qui était plus grand et surtout qui sauter plus haut que le petit renard actuel. La branche de cet arbre était à 3 mètres du sol, et notre petit renard ne saute qu'àune hauteur d'1,5 mètre.

Ma pemière idée était de prendre l'arbre déjà existant, avec une seule branche, et de placer un rocher en dessous de sorte que le renard puisse sauter sur le rocher et atteindre ensuite la branche. Le soucis, c'est que le joueur peut planter et faire pousser ce type d'arbre, et placer un rocher près de chaque zone où le joueur peut faire pousser un arbre ne serait franchement pas subtil...

La deuxième idée aurait pu être, toujours avec le même arbre, de deplacer la branche vers le bas, mais alors le résultat esthétique ne serait pas naturel. De plus, je commence à détester de plus en plus l'aspect de cet arbre, bien trop simple et trop carré.

Au final, donc, la meilleur chose à faire était de créer un nouvel arbre, avec deux branches et des lignes plus organiques. La démo ne possédera qu'un type d'arbre à faire pousser mais il y en aura plusieurs dans le jeu final, bien entendu.


Tailles d'arbres et hauteurs de branches

Nous n'avons pas le temps de vous faire une vidéo des éléments animés, désolé.
Il reste encore plein de travail donc on s'arrête là pour l'instant et on retourne à Blender.
A la semaine prochaine !

Ajouter à mes favoris Commenter (14)

Commentaires

Enimal
Signaler
Enimal
pour ne pas faire doublon, je vous ai répondu sur mon blog :)
SeeDreeks
Signaler
SeeDreeks
Guillaume > Oh merci pour le lien, je ne comprends pas encore bien la chose mais je vais essayé de m'y mettre sérieusement, j'ai envie de m'entrainer là dessus.
Pour blender ne t'en fait pas comme tu le sais j'ai peu de temps à moi. Je pense que si je touche à Flash je vais déjà pouvoir faire quelques animations sympa.
Swing Swing Submarine
Signaler
Swing Swing Submarine
ooops, Edward c'est que ça se passe :/
Swing Swing Submarine
Signaler
Swing Swing Submarine
Merci à vous tous pour vos messages pleins de vie :)

@sun34: on va essayer de pas te décevoir :), sincèrement.

@SeeDreeks: oué je sais j'assure pas, je te dois toujours un tuto Blender pour importer les objets dans Unity assez "correctement". Sinon pour Flash, ça peut être pas mal. William avait fait son jeu Leaving avec [url="http://edward.sophiehoulden.com/index.php?title=Main_Page%5DEdward%5B/url%5D. C'est un tas de code Action SCript, avec une bibliothèque d'objets qui ont des comportements de ce que tu trouves dans un plateformer, et y'a des pages de paramétrages pour régler un peu les comportement. Du coup avec un peu de chance tu touches pas trop au code :)
Merci pour le feedback du petit renard.

@Yao: j'avoue c'est un peu du chinois, mais on a pas trop le temps de faire dans d'autre types de posts. Et on voulait vous tenir au courant, donc on fait au plus simple en expliquant juste ce que l'on fait sur le moment.
Merci pour la bonne bouille du renard ;) On verra s'il obtient les mêmes remarques en septembre.

@Enimal: hehe William power :) On va monter un fan club du William style :P Sinon merci pour le renard. Et William vient de me montrer ton articles sur le daltonisme, et j'avoue que j'avais pas trop conscience que dans les jeux, bah fallait faire gaffe. Du coup je vais me renseigner un peu plus sur comment je pourrais faire pour corriger les couleurs. Mais bon, je garantie rien mais ça me tiendrais à coeur de réussir à proposer une option :)

@beauregard: merci pour l'info sonore ^^. Sinon pour le comment on fait, on s'est mis des horaires d'été "8h00-20h00" et ça permet de faire plus de truc. Et puis le blog ça nous motive à faire ces trucs, sinon on a rien a raconter ^^. Mais bon là j'avoue que ce soir j'ai du mal, ça commence à forcer (c'est peut être surement aussi parce qu'hier je me suis couché à pas d'heure).

Guillaume, qui va pas tarder à rentrer.
beauregard
Signaler
beauregard
Les bruitages seraient de toute façon à peine audible, même avec les hauts parleurs à fond.
Je ne sais pas comment vous faites, pour trouver le temps de tenir à jour le blog, ça doit être chaud bouillant là ! ;)
Enimal
Signaler
Enimal
Finalement moi aussi je l'aime bien ce petit renard.
Et je suis d'accord avec Guillaume, William s'en sort très bien en dessin.
SeeDreeks
Signaler
SeeDreeks
Yao > Non mais mon cher je suis à mille lieu de toi, tu me surpasse en tout point. Bande d'otak à toi tout seul. ^__^
Yao
Signaler
Yao
Wé le kitsune est tout "kawaii" (non mais mister Dreeks, un pro jap comme toi !! Ò 3 Ó). Il a une bonne bouille ! Voilà, c'est tout sinon c'est du chinois pour moi ce que vous dites !!


Bande de Geek !!! ° 3 °
SeeDreeks
Signaler
SeeDreeks
Dur dur ! j'aimerais bien essayé de me mettre un peu sur Blender suite au petit tuto bien sympa sur Unity (que j'aimerais retoucher aussi).
Je pense que je vais déjà essayé de m'amuser avec ce que j'ai appris dernièrement sur flash mais je bute à chaque fois qu'il y a de la programmation...

Aller courage les gars, vous assurez grave ! Tiens au passage je confirme que ce petit renard kawai passe très bien.
sun34
Signaler
sun34
Hate de voir ce que ça donne
Swing Swing Submarine
Signaler
Swing Swing Submarine
Oué je suis d'accord, Blender vaincra ^^

Merci de venir nous lire !
Et pas de quoi pour le partage, ça nous motive bien aussi.

Guillaume
kald
Signaler
kald
Blender Powa!!! (désolé pour ce commentaire pas très constructif...)

En tout cas merci de partager tout ça avec nous, c'est génial!
Swing Swing Submarine
Signaler
Swing Swing Submarine
Hehe, moi j'ai pas de problème avec mes carrés et triangles rouges. C'est exactement ce que je veux :] (en fait même pas... mais je fais style).

Sinon je trouve que William s'en sort bien, je pourrais trop pas faire ce qu'il accompli là.

Merci pour ton commentaire Tiris :)

Guillaume
Tiris
Signaler
Tiris
"comme je ne suis pas très bon dessinateur il est parfois frustrant pour moi de ne dessiner que ce que je peux et non ce que je veux"

Je me retrouve un peu là-dedans tiens, malgré les cours de dessins que j'ai pris, ça me frustre parfois de perdre du temps à cause de cette lacune quand je dois faire passer une idée justement par un dessin ^^.


Bonne chance pour la démo :).

Édito

Grâce à ce mini-devblog en français, vous pourrez suivre l'activité de notre minuscule studio de développement indépendant Swing Swing Submarine.

Nous sommes une petite équipe d'hommes et de chats passionnés qui souhaitent partager de nouvelles expériences interactives avec les joueurs du monde entier, et ceux de Gameblog en font bien évidemment partie !

--------------------------------------------------------

Quelques liens utiles :

> Site officiel <

> Twitter <

> Facebook <

Archives

Favoris