Premium
Le blog de Tiris, game designer chez Ivory Tower

Le blog de Tiris, game designer chez Ivory Tower

Par Tiris Blog créé le 03/01/10 Mis à jour le 22/03/15 à 23h15

Plongez dans les coulisses du jeu vidéo et de son développement avec Tiris, game designer chez Ivory Tower.

Ajouter aux favoris
Signaler
Ankama (Jeu vidéo)

 Voila, ça faisait longtemps que je n'avais plus parlé de WAKFU (ou pas) et donc je viens vous partager le fruit de longues heures de scripting et de travail d'équipe pour obtenir un sort, en l'occurrence, Fulgurance, le dernier sort de la branche élémentaire de l'air du Sacrieur. Au passage je vous parle plus en profondeur de cette étape dont on ne parle pas souvent au final.

Pour rappel, c'est demain que sort la mise à jour qui vous permettra de jouer enfin le Sacrieur dont je vous ai déjà pas mal parlé sur mon blog. Aujourd'hui, j'ai  enfin terminé le script du sort Fulgurance qui me posait quelques soucis depuis un moment et vu que le sort est particulièrement cool, j'ai fais une petite vidéo pour vous le montrer en avance et en profiter un peu pour parler de ce boulot de scripting plus en profondeur.


Fulgurance a un look très japanimation.

L'idée derrière ce sort était de nouveau de faire référence à un classique du Shonen : Le personnage qui se déplace tellement vite pour donner ces coups qu'il disparait.

Ce sort permet donc au Sacrieur de frapper de nombreuses cible dans une « zone en cercle de taille 2 » et l'effet souhaité était vraiment de le voir apparaitre une fraction de seconde frapper un des adversaire puis à peine disparu être déjà entrain d'en frapper un autre plus loin.

La description de Fulgurance, son icône, son équilibrage : C'est du boulot.

On n'avait pas envie de ne faire qu'une unique animation qui aurait été la même qu'il y ait une seule cible ou 6 cibles dans la zone. De plus, pour avoir un rendu encore plus sympa, on a décidé de faire différente animation de frappe, de sorte que si le sort est lancé 2 fois exactement dans les même conditions, il aura un rendu graphique différent : le Sacrieur n'arrivera plus du même coté pour frapper chaque cible.

A partir de là, les animateurs ont donc créé 5 animations : Une où le Sacrieur bondit vers les cibles (début du sort), 3 animations différentes de frappe où le Sacrieur apparait en plein mouvement « en vol » (ce sont les animations jouées aléatoirement donc) et pour finir, une animation à la fin du sort où le Sacrieur réapparait derrière les cibles (le moment où dans les animés le héros rengaine son sabre et que le sang commence à jaillir des ennemis :D).

Coté GFX (les effets spéciaux quoi), le sort est « léger » vu qu'il se contente de répéter une seule animation d'impact sur chaque cible touchée par l'attaque. Coté graphisme, il reste à faire aussi l'icône du sort et les icônes rattachée au sort, comme les icônes de buff par exemple.

Coté code, il n'y a pas eu de boulot vu qu'on utilisait en gros 3 actions qui existe déjà dans d'autres sorts (à savoir « faire des dégâts », « se téléporter » et « appliquer un état »).

Les traits noirs renforcent le coté déplacement rapide de l'animation.

Il restait donc d'abord à saisir les données du sort, boulot généralement attribué au game designer et c'est donc moi qui l'ai fait. En gros j'utilise les actions codées (évoquées ci-dessus) et j'en définis les paramètres. Je link aussi dans cette étape le sort avec son icône par exemple, mais pas avec les animations et les GFX.

En effet, le link de ces deux éléments se fait dans le script qui accompagne le sort. Dans le cas de WAKFU, il s'agit d'un script en Lua et c'est également moi qui m'en charge d'habitude (d'où l'intérêt pour un game designer de connaitre aussi un peu de programmation). Bon sur ce coup-là, il y avait quelques difficultés supplémentaires et c'est grâce à mes collègues programmeurs sur le code du jeu que j'ai pu m'en sortir.

Ce script donc est surtout fait pour définir quelles animations et GFX le sort doit utiliser et surtout quand et sur qui les appliquer ! Dans ce sort par exemple, il y a un timing dynamique suivant le nombre d'ennemis (on ne veut pas que le Sacrieur se téléporte de l'autre coté de la zone d'effet avant d'avoir fini de frapper les cibles ou trop tard après).

Il y a aussi le GFX d'impact qui ne doit pas être joué sur la cellule ciblée par le sort mais sur toutes les cellules sur lesquelles se trouve une créature touchée par le sort. Tout ça, on le définit grâce au code du Script et c'est également ce code qui nous permet de spécifié au jeu par exemple de choisir une animation de frappe aléatoire pour chaque cible.

C'est pas aussicompliqué que de la programmation "pure", mais ça reste du code ^^.

Bref, celui qui se charge du script joue un peu le rôle de réalisateur sur le sort et c'est lui qui au final détermine le feeling graphique du sort. Pour ma part, je préfère toujours par contre montrer ensuite le sort aux animateurs et graphistes qui ont fournis des ressources pour le sort afin de vérifier qu'il correspond bien à ce que tout le monde imaginait.

Voila, vous en savez un peu plus sur le rôle de scripteur et la différence avec le programmeur. Parfois d'ailleurs on parle aussi de « gameplay programmeur » quand on parle de la personne qui s'occupe de ces scripts, mais souvent ce rôle englobe quand même de la « programmation client » aussi. Bref, j'espère que vous comprenez aussi mieux donc comme je l'ai écrit dans ce ticket pourquoi, selon moi, quand on veut devenir game designer, passer par des études de programmation ne peut être qu'un avantage :

On cherche plus de programmeurs que de game designer, c'est donc un bon point d'entrée dans le milieu (très bien rémunéré en plus par rapport à un game designer). Ensuite cela vous permet si vous ne trouvez pas tout de suite de boulot dans le secteur JV d'avoir un bon travail autre part, et enfin donc, ça vous servira toujours quand vous serez game designer, pour comprendre vos programmeur et pour scripter par exemple des sorts ^^.

Voir aussi

Jeux : 
Wakfu
Ajouter à mes favoris Commenter (26)

Commentaires

ephy
Signaler
ephy
Bonjour, ceci est mon premier reply sur Gameblog, m'étant inscris promptement pour ce ticket.
Concernant la partie graphisme et gestion, je trouve cela vraiment stable. Cela a été vraiment une super idée d'utilise OPENAL avec du Java ( bien que le chargement des textures en mémoire peut être optimisé ( voir le travail de Faurbraush, avec le générateur de texture multi layer ).
Pour la partie LUA, aussi une super idée, car c'est un langage de script très simple à utiliser, ce qui doit ravir le Game Design ( justement :) ). Personnellement je l'ai surtout utilisé pour videolan et différents travails dans le domaine de l'audiovisuel. Avez vous prévu d
Jazp
Signaler
Jazp
Très intéressant tout ça et jolie sort je trouve.

Vous codez sous quel logiciel ? En apprendre plus sur Flash est une bonne idée ou faut-il plus se pencher sur un autre log'/langage en priorité ?

"Pixel" : << Air a définitivement les lauriers. Quand on s'est coltiné un sacri sur 200 level sur Dofus on est convaincu d'être un peu paraplégique, ici on a l'impression de voler et c'est ultra jouissif >>
*Amen* !! :D
pixelmaniac
Signaler
pixelmaniac
Le bon côté, c'est que ça permet de vérifier le déroulement du schmilblick en mode panique :)

Au sujet de tes sacri, j'ai tenté pas mal de builds et j'ai peu de chose à ajouter à ce qui a été dit sur le forum : Terre injouable, Air abusé et Feu follet.

Air a définitivement les lauriers. Quand on s'est coltiné un sacri sur 200 level sur Dofus on est convaincu d'être un peu paraplégique, ici on a l'impression de voler et c'est ultra jouissif :)

Fulgurance est miam, mieux qu'en vidéo, j'avoue l'avoir détourné quelquefois en teleport pour sortir de crise à la xel, j'adore ce sort même si l'anim manque parfois de cohérence dans les sens des attaques (je sais bien que c'est ni la priorité, ni très simple à scripter). D'ailleurs puisque je parle de ce sort, pour ton effet samouraï, je pense qu'il va de soit qu'il faille (désolé) déclencher toutes les pertes de Pdv (dans l'ordre affiché) à la fin de l'anim d'atterrissage pour créer cette impression, sinon ça ressemble plus à du Bruce Lee (avec bruitage à la bouche) qu'à du Kill Bill. J'attends avec impatience les anims 2D finales des autres sorts.

Enfin, concernant l'abus mal des transports, le truc qui m'a scotché c'est que mal des transports s'applique à toutes les cibles sans limite de temps pour 1PW seulement, youhou c'est nowel ! Je pense que c'est là que ce situe le meilleur moyen d'équilibrer le sort. Soit ça s'applique à tout le monde alliés et sacri (répercuté à la chrage pour ses self-dommage) compris, soit ça coute plus cher en PW soit c'est un sort zonné autour du sacri pour 1 tour et 1 utilisation. Mais les dégâts sont bien je pense.

Ha et un dernier mot quand même pour dire que jouer les Super Sayan, ça n'a pas de prix, merci.
Tiris
Signaler
Tiris
@Pïxel : Je demanderai mais je crois qu'on n'a pas le choix.

@Lince : Merci ^^.
Lince
Signaler
Lince
Très jolie animation très Shonen en effet.... mais c'est chiqué, je devrais arriver à suivre le mouvement X)
"(effet de sort ex: (42 " mmmh 42, ça me laisse rêveur.... c'est coupé au bon endroit cette image :@
Un bien joli blog, que je lirais dès que je serais sortis de mes partiels...
pixelmaniac
Signaler
pixelmaniac
@Tiris : Par rapport à la maj et aux futures, je réécris le message que j'ai posté sur le forum Wakfu, qui à cause du flood ressemble plus à une bouteille à la mer qu'à un message : "J'espère que vous reconsidèrerez (ouch) les deadline de maj le mercredi. Ca ne posait pas de problème avant l'open, maintenant ça en est un particulièrement désagréable pour tout le monde. Une avalanche de kikou même prévenu/menacé ca reste ingérable. N'importe quel autre jour de la semaine ferait mieux l'affaire.". Je pense que ça va de soit pour soulager le travail de tout le monde, mais peut-être vous y êtes vous déjà résolu. (le ga komen y parle)
Tiris
Signaler
Tiris
Punaise je me suis fais couper mon poste et j'avais pas vu T_T.

Bon donc je disais aussi en résumé :

@Futeko : C'est notre directeur technique et le lead programmer qui ont fait ces choix.

@ Bambou : attention, il ne s'agit que du langage de scripting, on utilise le JAVA pour le client et le serveur qui est quand même un peu plus complexe ^^.

@Pixel : merci. Par contre la jauge s'enflamme pas encore malheureusement xD. Ça fait partie des choses qui arriveront par après quand toutes les classes seront là ^^.
anotherJack
Signaler
anotherJack
"@AnotherJack : Je me suis posé la question de mettre une condition ou un cas en plus pour éviter ce TP. ensuite je me suis dit que ce n'était au final qu'une TP en ligne droite extrêmement couteux avec une longueur très stricte et surtout que dans la branche air, il y a poing tatoué agrippant qui permet déjà de te déplacer ultra vite. Certes Fulgurance n'a pas besoin d'adversaire comme appui, mais un Sacri veut-il vraiment se TP autre part que proche d'un adversaire ? "
Ben non, clairement, il ne *veut* pas que se téléporter près d'un adversaire, cette téléport devient aussi utile comme sort de dégagement que comme sort de rush ou de défonçage en zone, mais justement, ça fait théoriquement partie des limitations de déplacement propres à la classe, qui impliquent une façon particulière de jouer pour le sacrieur et pour ses adversaires. Un sacrieur n'est pas sensé disposer d'un placement libre façon Iop. Par ex sur dofus, s'éloigner rapidement d'un adversaire un peu trop létal implique d'avoir placé une invoc en retrait (généralement une cawotte) ou d'avoir suffisamment dispatché les adversaires pour pouvoir s'isoler via une coop'.
Par ailleurs, ça a beau être en ligne droite et très coûteux, ça n'a pas de LDV, et t'admettras avec moi que ça a une PO plutôt sympathique :P
Enfin bref, faut test, je garde un ½il dessus.
Et visiblement va falloir garder un ½il sur poing tatoué agrippant également :P
encore que lui implique la présence d'une cible
khalangy
Signaler
khalangy
J'adhère complètement !!

J'ai toujours aimé les Sacrieurs mais là ça dépasse tout le reste il me tarde de pouvoir essayer ça :)

Très beau travail merci x)
atrayakhan
Signaler
atrayakhan
@Dopel : Il gagne 180 sur 7 bouftou frappés, donc ça doit être un seul proc' je pense. Mais ça lui promet tout de même une grosse mobilité dans la branche air =)

@Tiris : Bravo, stoo. Juste que le sort n'a pas l'air d'être évident à placer, on retrouvera rarement 8 bouftous collés ensemble avant de charger. Bravo pour ton boulot sur le sacri et bravo aussi à l'équipe d'anim :)

(j'me rattrape sur les bravo ici, vu que j'arrivais pas à poster avant è_é)
Dopelgingembre
Signaler
Dopelgingembre
Ben , dans le chat de la vidéo , quand le sacri lance un sort à cible unique (Assaut , je suppose?) , il gagne un bonus de 60 d'Esquive sur Habile.

Lorsqu'il lance le sort Fulgurance , il en gagne 180. Il y'a un problème , ou bien sur ton perso de test , la fulgurance applique simplement un boost "Habile" d'un niveau plus élevé que les autres sorts? :°)
Tiris
Signaler
Tiris
Merci à tous pour vos commentaires (bon parfois un peu trop élogieux et qui me mettent chaque fois plus de pression, vivement que je me plante bien donc qu'on reparte avec moins de pression XD) ! ^^ Nan mais ça fait bien plaisir, ça motive le soir pendant les heures sup' ^^.

Je vais essayer de répondre à un maxde questions et dans l'ordre si possible ^^ :

Habile / Malhabile, l'état qui gèrera normalement tous les perte / gain d'esquive maintenant. On homogénéise le tout pour les futurs stuff de boost et de résistance d'application des effets.

@CDXLIV : Une seule fois normalement mais c'est encore un code qui risque de bouger donc, c'est compliqué ces mobs sur plusieurs cases :D.

@AnotherJack : Je me suis posé la question de mettre une condition ou un cas en plus pour éviter ce TP. ensuite je me suis dit que ce n'était au final qu'une TP en ligne droite extrêmement couteux avec une longueur très stricte et surtout que dans la branche air, il y a poing tatoué agrippant qui permet déjà de te déplacer ultra vite. Certes Fulgurance n'a pas besoin d'adversaire comme appui, mais un Sacri veut-il vraiment se TP autre part que proche d'un adversaire ?
En fait je me laisse le "bénéfice du doute". S'il est trop utilisé comme un TP et que ça fais pas Sacri, on trouver une façon dans le code de le bloquer.

@Kryophite : Très bonne question. J'ai hésite longtemps et au final j'ai pas épargné les alliés pour des raisons d'équilibrage, mais si le sort se trouvait être trop faible, c'est la première chose que je changerai.

@Dopelgingembre : heu non il s'applique qu'une fois, ce sont les DMG qui s'appliquent plein de fois, tu as vu ça où (ptetre un bug que j'ai pas vu :s)

@chiko-pops : Le lua c'est vraiment un langage à part fortement typé script de par son niveau de liberté (mais qui du coup l'empêche aussi d'être utilisé dans le moteur du jeu et du serveur où on utilise le Java, bien plus robuste, sécurisé, ...). Le lua est ultra souvent utilisé en jeu vidéo d'ailleurs, un bon langage à apprendre :).

@jinks : A part les deux qui arrivent demain, on a pas encore de date pour les suivantes mais on essaye de tenir le rythme qu'on a pris là ^^.

@gando, c'était pas une question mais comme @ Raganof, ça fait bien plaisir de savoir quand on fait des trucs apprécié. Bon faut aussi accepter quand vous les aimer pas, hein, c'est le jeu :D, mais en l
Minekey
Signaler
Minekey
C'est cool de pouvoir voir les coûts de quelque sort avant la sortie, sa nous fais patienter :P. Fulgu est magnifique, poing tatou agrippant promet de beaux combos. Juste la transposition à 2Pa c'est pas un peu faible ? A moins qu'elle soit limité dans le nombre de lancé par tour je la trouve un chouilla puissante.

Les états que peux prendre le sacri on l'air nombreux aussi, habile, malhabile, chrageur, incurable, échaudé, enflammé, va falloir jonglé ^^

Sinon pixel entièrement d'accord avec toi pour la jauge de chrage, très classe.
pixelmaniac
Signaler
pixelmaniac
Je confirme, la jauge de chrage déchire :) J'imagine qu'elle s'embrase une fois pleine. J'ai hâte de balancer des pains avec les sacri. Sinon ayant entre-aperçu dans la vidéo pas mal de sort, je comprends les sorts en doublons. Ils sont justifiés.
Bambouskay
Signaler
Bambouskay
Donc c'est à ça que ressemble le fameux "code" qui régit wakfu :o Finalement ça ressemble assez à Maple, vous me feriez presque croire que mes cours d'info servent à quelque chose...

+1 anotherjack : je préférerai que le sacri revienne à sa place, le SIP est déjà pas mal baleze là on a le même en pire.

Et question dégâts ça me semble encore trop lourd pour la zone, j'aurai plutôt vu du 50 max pour une branche mobilité/dégâts réduits. M'enfin c'est pas pour discuter de ça qu'est fait le post. Graphiquement c'est classe y'a pas à dire.
Futeko
Signaler
Futeko
Héhé, je viens justement de décrire le rôle de Game Mechanics Programmer dans mon mémoire x)

Tiens petite question : quel membre de l'équipe de développement s'occupe de la définition du langage de script (et/ou de son interprétation) ? On me souffle que ça revient généralement aux programmeurs IA, mais j'aimerais voir comment c'est géré chez vous :3
Gando
Signaler
Gando
Très joli combo! Dommage qu'il faut 11 PA pour le faire... \o

Nan sérieusement, c'est vraiment du beau travail. Ça se voit que tu te mets à fond dedans pour réussir une classe. C'est un bonheur pour le joueur que je suis de voir un game designer si motivé, vraiment.
jinks
Signaler
jinks
Wow super classe le sacrieur me fait de plus en plus envie, par contre y a t'il une date pour les nouvelle classe dans Wakfu??
chiko-pops
Signaler
chiko-pops
Le Lua est un dérivé du Java ? je ne le connais pas du tout ^^.
Je serait super intéressé si tu continuait à nous présenter les différentes facettes de ton boulot entre codes, anim', effets, ...

Sinon l'anim' est vraiment superbe et j'ai bien hâte de monter la branche air du sacrieur pour tester tout ça :P
Dopelgingembre
Signaler
Dopelgingembre
C'est normal que l'état "Habile" (ici , +60 d'Esquive.) proc pour chaque monstre touché dans la zone d'effet?
Kryophite
Signaler
Kryophite
Vu l'anim du sort et l'esprit shonen, est-ce que ça impliquerait que le sacrieur ne tape pas les alliés dans la zone de fulgurance ?
anotherJack
Signaler
anotherJack
Ya juste un truc qui me titille : pas de cible obligatoire, pas de ligne de vue, tel que je le comprends, ce sort peut être utilisé comme un téléport sans LDV, un téléport très cher, on est d'accord, mais un téléport quand même, et ça me semble pas vraiment cadrer avec les principes de mouvement sacrieur qui s'appuient toujours sur un autre personnage, soit par déplacement de la cible, soit par interversion, jamais par déplacement pur du sacrieur "à vide". Je ne sais pas s'il ne faudra pas y faire quelque chose, sous peine de voir ce sort suffire amplement à squeezer toute la phase approche du sacrieur.
Medmed27
Signaler
Medmed27
Le sort a vraiment la classe, en tout cas c'est très bien rendu.
Merci pour cette petite avant-première Tiris ^^
CDXLIV
Signaler
CDXLIV
L'effet est superbe. Cependant, qu'est-ce qui se passera sur les monstres à 4 cases ? Le sacrieur va taper 4fois ou 1fois ?
Raganof
Signaler
Raganof
Ce sort a l'air trop cool ! :D

Sérieusement, je n'ai jamais vraiment aimé le gameplay des sacrieurs, mais si l'ensemble est à la hauteur de celui-ci, je sens que je vais lâcher mon arc ;).

En tout cas félicitation Tiris, aussi appelé l'homme qui rend tout cool, même des bouftous :P

Édito

L'univers du jeu vidéo m'a toujours fasciné et a toujours été source de débats passionnants pour moi, en tant que joueur, puis encore plus en tant que game designer.

Après presque 6 années chez Ankama où j'ai eu l'occasion de travailler sur pas mal de jeux et surtout de diriger le développement de Dofus Arena, j'ai rejoins Ivory Tower à Lyon afin de relever de nouveaux défis.

Tenir un blog est un exercice intéressant. En plus d'être un lieu d'échange avec des gens passionnés, cela me  pousse à essayer de toujours mieux structurer mes idées, de vulgariser des concepts parfois très techniques ou d'essayer de rendre intéressant des sujets qui de prime abord ne le sont pas forcément. C'est en fait un exercice de communication parfait pour un game designer.

J'espère que vous vous plairez à lire ce blog autant que j'ai plaisir à l'écrire !

Hervé Gengler Aka Tiris.

 

 

 

 

Archives

Favoris