Myrne 6312

Un shooter en vue du haut et en coop, développé en 72h dans le cadre du 26e Ludum Dare

Song of the Myrne: What Lies Beneath

Un action-RPG en pixel-art

vendredi 23 octobre 2015

3e anniversaire de développement de What Lies Beneath


Salut les petits ! (et les autres aussi)

Aujourd'hui, ça fait à peu près (le 23 octobre est la date la plus ancienne que j'ai) 3 ans que j'ai commencé le développement de Song of the Myrne, ce jeu méga trop ambitieux qui devait un jour mener à What Lies Beneath.

Et pour fêter ça j'ai décidé de release toutes les musiques du jeu gratuitement, pour tout le monde.

Elle est pas belle la vie ?^^


J'espère que ça vous plaira.

Si vous les aviez déjà, ce sont des versions un peu améliorées (quelques pistes en plus, amélioration du tagging des fichiers et ajout/amélioration des images de pochette aux fichiers) donc ça vaut la peine de remplacer vos vieux dossiers :)

Je vous invite aussi à jeter un oeil à l'album de photos du jeu avec des images depuis le début de ces 3 ans. C'était bien moche avant :D

Voilà voilà.

A la prochaine !


mardi 6 octobre 2015

Myrne: Beyond - Stuff, stuff, stuff... et de l'animation


Hello les lecteurs !

Vous êtes prêts pour quelques nouvelles ? *Regarde de quoi on a parlé dans le dernier billet*

Allez, c'est parti !

Animations



La dernière fois je vous parlais de nouvelles animations, donc on va directement partir là-dessus. En gros j'ai bien galérer aujourd'hui puisque j'ai du refaire (plus ou moins) toutes les animations du joueur. Je devrai sans doute aussi refaire celle des PNJs.

Pourquoi ?
Hmm... C'est assez compliqué à expliquer rapidement mais en gros, et vous l'aurez peut-être déjà remarqué dans les vidéos que je poste, bien souvent les animations des personnages entrent en conflit. Concrètement ça fait que lorsque l'on attaque tout en marchant par exemple, le temps de l'attaque, nos pieds sont remis en position de départ et cessent donc de bouger... En gros on glisse sur le sol le temps de finir l'attaque. Pas très classe (d'ailleurs c'est un problème récurrent dans les "jeux" pourris qu'on trouve sur Steam Greenlight).

Je vais pas m'attarder sur les raisons de ce truc mais le soucis est maintenant réglé pour Beyond. J'ai trouvé une solution qui m'a d'abord paru pourrie et peu élégante mais au final elle me donne beaucoup plus de contrôle sur les animations donc c'est pas mal. En fait, au lieu d'utiliser une animation par action qui va dire à toutes les parties du corps ce qu'elles doivent faire (ex: les jambes, vous bougez quand le perso se déplace, la tête, tu bouges de haut en bas,...), j'utilise maintenant une animation par action ET par partie du corps. C'est lourd à configurer, ce n'est pas du tout élégant... mais au final c'est plutôt pratique car il devient alors très simple de dire à chaque partie du corps ce qu'elle doit faire dans telle ou telle situation.

Un exemple: l'attaque, en principe fait bouger le bras qui frappe, l'autre bras bouge un tout petit peu sur le côté ainsi que la tête du perso. Quand le perso marche, il bouge ses bras d'avant en arrière et hoche également la tête. Et bien avec le nouveau système je peux désormais dire facilement au bras ne tenant pas l'arme de plutôt suivre l'animation de marche (d'avant en arrière) lorsque le perso frappe et marche en même temps. Ça rend l'animation du jeu un peu moins rigide.

Le stuff



Je savais bien que ça m'arriverait un jour ! J'ai craqué !

J'ai ajouté les épaulières à l'équipement^^ 

En gros je n'étais pas très satisfait de l’apparence des armures à épaulières parce qu'elles donnaient l'impression d'être déconnectées de l'équipement (on dirait un peu qu'elles volent à côté et puis ça fait des angles droit, c'est pas super naturel).

Donc j'ai ouvert l'armure de fer sous Blender et j'ai commencé à la retoucher pour pivoter un peu les épaulières... Quand j'ai vu le temps que ça prenait... Et qu'en plus je devrais faire ça pour chaque armure à épaulières... Ben je me suis rendu compte que j'irais carrément plus vite en ajoutant directement les épaulières en tant qu'objets du jeu (donc pas besoin de faire des modifs d'armures sous Blender, je peux simplement créer une épaulière et c'est alors bien plus simple à manipuler).

Classe, hein ? :)


Une fois lancé on ne m'arrête plus donc j'ai aussi ajouté des capes en jeu. Pour le moment c'est uniquement un objet cosmétique, je ne sais pas encore si elles auront un effet plus tard. En tout cas elles n'ajouteront pas de valeur d'armures mais elles pourraient bien modifier nos stats ou quoi, on verra^^.

Ah oui ! J'ai aussi changé le fonctionnement des boucliers. Plutôt qu'ajouter de la valeur d'armure, ils ont maintenant un pourcentage de chance de bloquer les attaques. Un skill "Maniement du bouclier" est associé à ça et augmente encore les chances de parade.



Quelques vidéos



Si vous êtes attentif, vous aurez remarqué que je suis actuellement dans ma zone de test (le décor blanc avec du stuff qui traîne partout par terre^^). Ce qui veut dire que je crée toute sorte de trucs et de machins.

Voilà quelques sorts de protection et aussi la vidéo d'ambiance que je vous avais promis la dernière fois.




Voilà voilà !

J'espère que tout ça vous plait^^. J'ai pas su bosser énormément ce mois-ci parce que j'avais beaucoup de cours au début de l'année scolaire mais j'ai réussi à chopper quelques dispenses de cours et je suis très content de mon rythme de travail depuis.


vendredi 11 septembre 2015

Myrne: Beyond - Un peu de mouvement


Hello les enfants !

Vous savez quel jour on est ?

VIDEODRI !

...Je suis sincèrement désolé pour ce jeu de mot naze de chez naze...

Bref, aujourd'hui c'est vidéos, ouais ouais, vous n'avez pas le choix, c'est comme ça^^

On commence avec la plus ancienne. J'avais fait ça en août puis je ne l'ai jamais postée, je ne sais pas trop pourquoi (pro-tip: abonnez-vous à ma chaîne youtube si vous ne voulez rien manquer^^)



C'est une vidéo pour montrer quelques meubles avec lesquels on peut interagir. J'avais fait tester le début du jeu à deux amis et je trouvais que ça manquait un peu d’interactivité. Ils avaient l'air de vouloir ouvrir la commode et c'était pas possible. Un peu dommage pour un jeu-vidéo^^

Je me suis sorti les doigts et j'ai créé quelques armoires dans lesquelles je peux stocker des objets plutôt que de tout mettre dans des coffres.

Comme vous le voyez y'a aussi des objets qui permettent de poper d'autres objets (la bourse d'or), histoire de ne pas ramasser tout l'or du jeu pièce par pièce ;) (à la base j'ai surtout créé ça pour gérer l'achat et le loot de flèches)

Si j'ai l'air de galérer dans cette vidéo c'est parce que ça lag à mort quand je capture de la vidéo. Je tâtonne encore sous OBS pour arriver à faire de meilleures vidéos mais du coup j'ai du trop pousser une des options. Je vais essayer de faire des vidéos plus souvent pour m’entraîner.

On passe à la suite !

Ouais, ouais, ça rigole plus, j'ai carrément fait de l'édition vidéo pour celle-ci :D
J'ai encore du progrès a faire^^'

Pareil qu'au-dessus, les lags sont dû à la capture. A part le gros lag du milieu (j'ai du faire une coupure au montage tellement il a duré 3 ans), j'enquête pour trouver sa source^^'

En gros, ce que montre cette vidéo un peu chiante c'est que j'ai apporté quelques modifs à la manière dont sont présentés les dialogues. C'est le système de What Lies Beneath mais j'ai un peu amélioré tout ça :

Le texte s'affiche caractère par caractère plutôt que d’apparaître d'un coup, et comme on doit attendre qu'il finisse pour pouvoir choisir une réponse, ça devrait éviter de cliquer deux fois de suite et passer une ligne par accident. Faut encore que je peaufine tout ça, je suis pas très satisfait par la vitesse de défilement. J'essayerai de faire en sorte qu'on puisse cliquer pour afficher directement tout le texte sans attendre.

Et puis surtout, y'a du son ! Yay !

Je réfléchis à ce soucis depuis des semaines (voir un mois ou deux). J'avais envie d'avoir du son quand les PNJs parlent, mais pas une voix qui lise le texte, parce que ça fait trop réaliste et que ça pose plein de soucis techniques (un mauvais doublage peut ruiner un bon jeu, ça rend difficile les modifs de dialogue et les mises à jour, etc...). Donc je pensais ajouter un truc à la Animal Crossing ou quoi mais sans jamais trouver de bonne idée (et le plagiat c'est un peu moyen :D)

J'ai tenté d'enregistrer des "Hey", "Ohoh",... à la Zelda Wind Waker mais c'était vraiment pourri...

Alors j'ai voulu faire un truc un peu comme dans Jumanji (le dessin animé) où une tribu de masques (ouep) parlent avec des claquements de langues et divers bruits de bouche bizarre... Et pendant mes tests j'ai fini par faire ce que vous avez entendu dans la vidéo.

C'est juste 4 claquements de langues joués aléatoirement et je suis plutôt content du résultat. J'en ai fait plusieurs versions pour que les persos aient des "voix" un peu différentes.

Conclusionation




Voilà voilà, j'avais une troisième vidéo montrant un peu l'ambiance de la dernière image que j'avais postée dans le dernier billet (l'église de nuit, avec les feuilles qui tombent des arbres et les flambeaux) mais j'ai un truc qui tourne sur le PC de manière intensive et qui m'empêche de faire le rendu de la vidéo... J'essayerai de la poster un de ces jours.


vendredi 21 août 2015

Myrne: Beyond - Pas mal de changements


Hello les gens !

Ça fait déjà presque un mois que je ne vous ait plus parlé de Beyond, en un mois y'a le temps de bien avancer... Et ça tombe bien car c'est ce que j'ai fait^^

Le premier truc est un assez gros changement. J'ai dû changer quelque peu le style graphique pour remédier à un truc un peu lourd qui m'ennuie depuis le début du développement.

Je ne sais pas vraiment mettre de nom dessus mais cette image devrait vous éclairer sur ce que je veux dire :

Cliquez dessus pour voir les images en grand
Parfois, on ne voit pas la dénivellation du terrain qui se trouve devant nous, pénible

Effectivement, c'est gênant... Et la solution ?

Là aussi une image vaut mieux que cent mots (vous aurez quand-même droit à un pavé de texte :D) :

Tadaa !

Le soucis c'est que ça change pas mal le visuel du jeu. Ça me dérangeait un peu au début mais depuis je me suis habitué et j'aime bien le nouveau style un peu cartoon.

En parlant du style j'ai un peu retravaillé les arbres pour que des feuilles (petits cubes) tombent de temps en temps au sol et le résultat est excellent par rapport au peu de travail que ça a demandé. J'ai également rajouté quelques plantes en jeu pour apporter plus de variation aux décors.


A part ça j'ai travaillé sur les boucliers.

Ce n'est pas encore terminé mais en gros je vais ajouter une compétence "utilisation de bouclier". Le bouclier fonctionnera comme une armure normale, régie par les skills armure légère, intermédiaire et lourde... mais la compétence bouclier entrera également en jeu et donnera une chance d'annuler les dégâts d'une attaque.

Du coup ça sera un skill passif plutôt qu'un skill avec une touche pour lever le bouclier qui compliquerait trop le travail d'animation (je vous ait dit que je détestait le système d'animation d'Unity3D ?^^). Mais ce n'est pas dit que je ne changerai pas ça une fois le jeu sorti, comme je l'avais fait pour What Lies Beneath.

Oh... On ne pourra plus renvoyer les projectiles des ennemis :'(
Je vais probablement ajouter un sort pour faire ça :)

En parlant de magie j'ai aussi un peu re-penser à cet aspect du jeu et j'ai eu une idée assez chouette. Ce n'est pas encore implémenté par contre donc je ne vous en parle pas trop mais l'idée c'est d'ajouter des grimoires en jeu dans lesquels on copiera les parchemins qu'on trouve.

L'utilisation de parchemin sera un skill différent (l'avantage étant qu'il ne sera pas lié à l'école de magie du sort qu'on lance et ne consommera pas de mana) mais les parchemins auront une durée de vie très limitée. Les grimoires par contre donneront des buffs et ne s’abîmeront beaucoup moins vite. Le but est de pousser le joueur à bien choisir quel sort il veut mettre dans son Super Grimoire Ecole de Feu +10.

Au niveau des maps sinon je ne sais pas trop où j'en suis. J'ai pas mal avancé mais je me suis rendu compte que les maps s'exploraient bien plus vite que dans What Lies Beneath (le perso avance plus vite et est plus mobile grâce au saut). Du coup je devrai p'tet agrandir la carte que j'avais prévu au départ, on verra... le jeu est assez nerveux et les combats agréables donc je peux sans doute me permettre des donjons assez grands et pas trop scénarisés.

Enfin voilà... J'avais d'autres trucs à dire mais une araignée géante dont j'ai foiré l'écrasement m'a fait perdre le fil de ma pensée et je me demande maintenant si je vais vraiment dormir dans cette pièce (elle était vraiment très, très moche cette araignée).

Je vais probablement devoir brûler toute la maison...

mardi 28 juillet 2015

Myrne: Beyond - Noix de coco !


Hello tout le monde.

Aujourd'hui et hier j'ai énormément avancé sur Beyond.

Comme je vous l’annonçais il y a quelques jours dans un petit billet récapitulatif de l'avancée générale du jeu (que je vous conseille de lire^^), le jeu commence à former un tout cohérent et fonctionnel et c'est vraiment cool de bosser dessus sans avoir l'impression que tout reste à faire, qu'on ne le finira jamais, et en jonglant entre 500 programmes différents pour remplir le moindre mètre carré de terrain^^ (avant de tout recommencer parce que le résultat n'est pas satisfaisant).

Bref, ce que j'ai fait durant ces quelques jours :

Les armures


J'ai mis la touche finale (sans compter les petits ajustements qui viendront petit à petit) au système d'armures.

Je ne sais pas pourquoi mais je ne l'avais pas encore fait jusqu'ici. C'est à dire que tout fonctionnait, le jeu donnait pas mal de chiffres, le poids fonctionnait aussi, l'équipement se détériorait... mais concrètement au moment de prendre un coup bah y'avait aucune réduction...

Mais c'est maintenant chose faite ! Du coup équilibrer le jeu est nettement plus facile d'un coup... J'aurais du faire ça plus tôt^^.

C'est quoi cette histoire de poids d'équipement ?
Les pièces d'armures équipées ont un poids afin d'éviter les archers en plates :)

Quoi ?! Mais on est pas libre de faire son perso comme on veut ? C'est nul !
Pas de panique, si ça vous botte vous pourrez bien entendu mettre des points en force pour que votre mage porte une grosse armure. Mais je voulais un moyen de "punir" le port d'armure lourde pour éviter que certaines armures soient purement meilleures que d'autres.

En principe ça se fera aussi via les compétences puisque vos stats de base (que vous pourrez augmenter à chaque level up) limiteront leur niveau maximum. Donc par exemple si vous n'avez que 10 points en dextérité (la valeur de départ), vous ne pourrez pas augmenter votre compétence Archerie plus haut que 10.

J'ai presque terminé la première zone de jeu


C'est à dire le bateau (intérieur et extérieur) puis la zone suivante où vous lancerez vos premières noix de coco à la tête de vos ennemis (hé oui).

Il reste encore des détails à régler à gauche et à droite (un dialogue, la cabine du capitaine,...) mais globalement c'est complet. Du coup j'ai pu jouer un peu au jeu pendant plus que 15 secondes et c'est vraiment fun^^

Lancer des noix de coco est bien plus marrant que prévu...

Faire cette map m'a pris grosso modo deux "jours". Ce n'est pas une très grande map donc les autres prendront sans doute plus de temps (surtout qu'une plage c'est très plat). Je suis vraiment content de ce timing parce que la plage donne bien sans avoir demandé trop de boulot, je pense que j'ai trouvé la bonne manière de bosser les extérieurs.

L'interface


Je suis un peu repassé dessus.

Jusqu'ici l'équipement était décrit par des icônes, ce qui n'est pas super clair (...mais il faut reconnaître que ça fait joli).

Du coup j'ai ajouté un petit descriptif à côté de l'icône (on pourra le désactiver via les options en principe).

J'ai aussi déplacé la fenêtre de description de l'objet vers le milieur de l'écran pour éviter les torticolis

La prise en main était parfois un soucis sur What Lies Beneath mais je compte bien améliorer ce point dans Beyond (histoire de ne plus poster 5 gifs par jour sur les forums Steam pour expliquer aux gens qu'ils doivent remettre leur skill "Attaque de base" dans la barre de raccourcis et non pas leur arme^^').

La vision des PNJ


Les monstres pourront maintenant vous voir même si vous n'êtes pas à la même hauteur qu'eux, trop fou :D

J'avais codé leur ligne de vue un peu n'importe comment, du coup j'ai bien pris le temps de tout re-coder proprement. Au passage j'en ai profité pour augmenter la hauteur à laquelle ils peuvent vous mettre des coups. Se percher pour les frapper tranquille est un peu plus chaud qu'avant.

Je ne suis pas encore satisfait à 100% du truc par contre, je vais probablement apprendre aux PNJs à sauter pour vous rejoindre, à un moment. Ça parait idiot à faire, mais en vrai pas tellement, parce que j'utilise le système de pathfinding d'Unity qui permet aux mobs de trouver un chemin jusqu'à vous, même si vous êtes 3 pièces plus loin plutôt que de se cogner dans tous les murs. Du coup les mobs et PNJs évoluent plus ou moins sur des rails (en vrai une surface qu'on appelle un navmesh) et je vais probablement devoir leur apprendre à sortir de ces rails et gérer leur comportement lorsqu'ils ne sont pas dessus.

Donc tout un nouveau pan de l'IA ainsi que la gestion quitter/rejoindre le navmesh (c'est pas aussi simple que juste placer le PNJ dessus^^).

Ça annonce pas mal de travail donc on verra ce que ça donnera. L'IA est déjà très satisfaisante actuellement donc ce n'est pas du tout une priorité. Pour le moment je m’attelle surtout à développer les maps et les quêtes pour avoir un jeu jouable et pouvoir filer des copies de test aussi tôt que possible (ne vous excitez pas, c'est vraiment pas pour tout de suite :S).

Et pleins de petits trucs


Quelques nouveaux mobs, des objets, dialogues,...

Et surtout, SURTOUT ! La noix de coco dont je suis très fier, ce qui me ferait presque questionner mon choix de carrière^^

Oh boy !

Allez, à la prochaine pour d'autres aventuuuuuures !

Hiarrr !


vendredi 24 juillet 2015

Myrne: Beyond - Hiarrr !


Salut les lecteurs !

Un mois depuis le dernier billet^^. Mais ne vous en faites pas, je ne suis pas encore mort.

Alors, quoi de neuf sur Beyond ?
Un paquet de trucs^^

Le développement avance progressivement mais je ne peux pas vraiment vous faire un compte-rendu au jour par jour comme je le faisais pour What Lies Beneath parce que c'est serait vraiment de la redite :S

Donc je vais profiter de ce billet pour faire le point des derniers mois.

En bref, ça avance. Il y a 36 000 détails qui sont ajoutés/améliorés à chaque fois que je touche au projet. Aujourd'hui par exemple j'ai pas mal bossé sur l'eau (mouvement des vagues, changement de la vue et de la physique une fois sous l'eau,...), hier j'ai bossé sur les collisions de la caméra à la 3e personne et j'ai bien avancé sur l'extérieur du bateau dont l'image est plus bas. Cette caméra est une véritable crasse et je commence a jeter un oeil du côté de plugins qui géreraient ça à ma place^^'.

Cliquez pour voir en plus grand ou cliquez carrément là pour une meilleure qualité
Les fameuses vagues

Pendant ce mois j'ai aussi essayé de bosser sur les niveaux et c'était pas une partie de plaisir :S

Autant j'arrivais à faire des extérieurs assez cools, autant des maps ouvertes comme ça sont ingérables niveau spawn de monstre et limitations du joueur, comme pour l'empêcher d'accéder à une certaine zone sans passer par un tunnel-donjon avant, par exemple.

Du coup je suis retourné à la planche à idées pour les extérieurs du jeu. D'abord je me suis dit que je pourrais faire des îles volantes reliées entre elles par des ponts ou quoi (j'ai même testé des jumpers à la Unreal Tournament mais c'était un peu trop n'importe quoi :D). Mais au final c'était pas terrible et faire les île sous Magica Voxel est une véritable plaie.

Au final je suis revenu sur ce que je sais faire à la base, des maps à la WLB^^.

Cliquez sur les images pour les voir en grand

Des niveaux pas trop grands mais ouverts, avec des murs de végétations/montagnes pour vous bloquer, le tout se passant sur une île pour que l’océan délimite le tout (cette fois on pourra nager par contre, voilà de quoi ajouter quelques challenges dans les donjons).

C'est une disposition que j'aime assez bien parce que ça permet de faire facilement un jeu de base (rappelez-vous des premières versions jouables de WLB: c'était juste un village, un donjon et le chemin vers notre maison) puis d'ensuite étendre ce jeu via des mises à jour gratuites qui apportent vraiment beaucoup (les nouveaux boss de WLB, les nouvelles maps, les quêtes secondaires, etc...).

Du coup j'ai ré-écrit le pitch du jeu aussi (ça m'arrive à peu près tous les mois :D). Les morceaux des îles volantes que j'avais faites se retrouveront bien entendu dans le jeu aussi donc je n'ai pas perdu mon temps pendant que je testais des concepts d'extérieurs.

Et bref, j'ai commencé à bosser sur le début du jeu et ça progresse bien.

On commence dans un bateau

En gros, après ça je dois créer 5-6 maps similaires à celles de WLB (qui en avait 2 dans sa première version release: notre maison et la forêt), un village et 3-4 donjons. WLB n'offrait qu'un donjon en première release mais il était assez grand et les donjons que je vais faire ici seront plus petits. Donc si on considère qu'un étage du donjon principal de WLB = un donjon de Beyond. Bah ça fait qu'il y avait à peu près 3-4 donjons aussi dans WLB 1.0.

Ces donjons-ci seront sans doute plus variés parce que la 3D offre vraiment plein de nouvelles possibilitées (des archers planqués en hauteur qui vous pourrissent la vie, des parties de donjons inondées, un peu de parkour...). Au final je pense que le jeu sera très similaire à un WLB 3D, j'espère que vous ne m'en voudrez pas trop de ne pas innover plus que ça, je ne peux malheureusement pas trop me le permettre avec le passage à la 3D qui l'air de rien ajoute beaucoup de travail supplémentaire.

J'ai plein d'idées plus originales pour après la sortie du jeu. Je préfère ne pas faire trop ambitieux pour commencer, on a vu ce que ça avait donné lorsque je travaillais sur Song of the Myrne (pas WLB)^^.

La sortie n'est donc pas pour tout de suite^^.

L'intérieur du bateau pirate

Niveau features tout commence à plutôt bien tourner. J'ai appris aux PNJ a attaquer à distance l'autre jour et je suis très satisfait de ces mobs.
Comme toujours il reste des tonnes et des tonnes de petits "détails" à régler à gauche et à droite (animation de nage, réglages de caméras, créations d'icônes pour tous les objets,...) et c'est un des trucs qui prend le plus de temps.

Au niveau contenu c'est là qu'il reste la blinde à faire. Il faut plus de mobs (ça prend une éternité à faire), plus d'armes, d'armures, etc... Je passe aussi pas mal de temps à toujours créer de nouveaux meubles et objets (c'est ce que je préfère faire) pour que chaque map ait une ambiance unique.
Il y aura aussi toute la partie dialogues et écriture diverses.

Voilà voilà, comme ça vous voyez un peu où en est le développement concrètement.

A la prochaine !

samedi 4 juillet 2015

Créer un bon tutorial dans votre jeu-vidéo


Salut les gens, il fait chaud et c'est pas facile de travailler. Du coup je vais plutôt vous partager un truc auquel je pensais hier.

Qu'est-ce qui fait un bon tutorial dans un jeu-vidéo ?

Quelques précisions avant de commencer


Je vais principalement me concentrer sur les jeux "d'aventures" (que ce soit des FPS, des RPG, point'n'click,...). Si vous prévoyez de faire un puzzle game ou un clone de Tetris, il y a de forte chance que mes conseils ne vous servent à rien (mais quand-même un peu).

Par tutorial j'entends non seulement l'explication au joueur des concepts du jeu mais aussi la présentation de l'univers, donc on en parlera un peu.

Je vais vous présenter "mes" idées à partir d'un exemple que je vais décortiquer, pour que tout soit bien clair.

Vous êtes prêts ? Alors on y va.

Un bon tuto



Je sais, je vous en parle souvent... Une fois encore je vais vous saouler à propos de... Morrowind ! C'est un RPG open-world dans lequel vous êtes totalement libre.

Ce jeu propose un des meilleurs tutos auxquels il m'ait été donné d'être confronté et j'ai en fait mis pas mal d'années pour me rendre compte que le début était un tutorial.

Et ça, c'est la base d'un bon tuto: le joueur ne dois pas sentir qu'il est dans un tutorial.

Allez, on va suivre ça étape par étape et voir pourquoi il est si bon.

Ne brusquons pas le joueur



Quand le joueur débarque dans votre jeu, il ne connait rien. Et c'est dans la nature humaine de ne pas aimer être en position de faiblesse. Il est donc extrêmement important de ménager le joueur et de ne pas l'écraser sous des informations inutiles dont il n'aura besoin que bien plus tard.

Si vous ne faites pas ça, il risque de se sentir stupide et être frustré ("je ne comprend rien à ce jeu") et quittera simplement le jeu en se disant "bon bah j'y rejouerai plus tard"... Ce qu'il ne fera jamais^^.

Voyons comment les devs de Morrowind on choisi d'introduire leur jeu (ce n'est pas sale).

Vous commencez dans la cale d'un bateau, en face d'un PNJ (Jiub) qui vous parle: "Nous sommes arrivés en Morrowind". Vous ne pouvez pas encore bouger mais vous pouvez regardez autour de vous.

Parfait ! *clap clap, 10/10.



C'est un avis personnel et je ne suis pas certain que tous les game designers le partageront mais je pense qu'il est extrêmement important de placer le joueur directement dans son personnage plutôt que de lancer 40 cinématiques en début du jeu (bon, techniquement, il y a une cinématique de début dans Morrowind mais on nous parle en "tu" et puisque c'est un rêve que notre personnage fait, je considère qu'on est déjà dans la peau du perso même sans être aux commandes).

Je trouve ça important car ça permet aussi de régler les options du jeu (vidéo, sensibilité de la souris, etc...) dès le début et de voir directement s'il y a un soucis technique (bug d'affichage ou quoi).

Cette courte phase est aussi l'occasion de nous donner un peu d'infos sur l'univers dans lequel on va évoluer: "Nous sommes arrivés en Morrowind". C'est toujours mieux de donner l'info au joueur par le biais de personnages plutôt que par une cinématique ou pire, du texte. Le joueur a plus de chance de prêter attention à ce que vous lui dites puisqu'il est dans le perso et c'est plus immersif.

Jiub vous fait rapidement la causette avant de s'interrompre. "Silence, voilà le garde".

Une fois encore on nous donne de manière subtile des infos sur notre personnage et l'univers. On est donc un prisonnier. Je ne vous le dirai plus mais vous remarquerez dans la suite que c'est typique de cet excellent tuto, on vous donne les infos sur le monde petit à petit, pour bien vous laisser le temps de digérer.

Le garde vous demande de le suivre. Tadaaa ! Vous pouvez maintenant marcher ! Un peu plus loin il s'arrête devant une échelle surplombée d'une trappe. "Montez sur le pont et blablabla".

Encore une bonne leçon pour votre tuto. Cette courte phase n'a l'air de rien mais le jeu vient de vous apprendre de manière totalement immersive à vous déplacer et à interagir avec les objets (ici la trappe). Je parle d’immersion car on a choisi de ne pas vous donner l'info directement. Dans un jeu moderne (où les tutos ont tendance à nous prendre pour un con et à nous noyer sous le texte), il y a de fortes chances pour que le jeu se soit mis en pause et qu'une fenêtre soit apparue pour vous dire "Utilisez les touches Z, S, Q et D pour vous déplacer", "Appuyez sur 'E' pour ouvrir la trappe"...

Mais ici non. On vous dit simplement aller, suis mois, puis ouvre cette trappe. Ça peut paraître moins bien que de dire au joueur sur quelle touche appuyer mais ce qu'on y gagne c'est qu'on ne sort pas du personnage. On ne te sors pas de la fiction pour te dire "tu est dans un jeu-vidéo, utilise ton clavier".

Bien contrôler le joueur avant de le livrer à lui-même



L'astuce c'est que tout ça se passe dans un espace confiné avec aucune autre interaction possible. En principe le joueur n'aura aucun mal a effectuer ces actions simples. On s'assure aussi qu'il maîtrisera les concepts de base (marcher, utiliser) dans la prochaine section puisqu'il est impossible d'y accéder sans maîtriser ses concepts (là où un tuto uniquement sous forme de texte échouera lamentablement).

Une fois sur le pont du bateau, vous n'avez pas 36 endroits où aller, un garde sur le quai vous attends (et bloque le passage). Des murs invisibles vous empêchent de sauter du bateau et de partir n'importe où. Je ne suis pas fan du concept de mur invisible mais c'est le seul endroit du jeu où il y en aura, on pardonnera donc ça^^. Vous parlez au garde (apprentissage: la touche action permet de parler) et créez votre personnage.

Rien de spécial à dire ici, c'est juste la création du perso. Ça peut se faire de plusieurs manières pour s'adapter au niveau du joueur (si vous découvrez le jeu, vous pouvez prendre une classe pré-faite).

On vous demande ensuite de vous rendre au bureau de recensement. Pas difficile c'est le seule endroit où vous pouvez vous rendre. Vous entrez dans le bâtiment et...

Vous êtes libre, pour la première fois. Un tout petit peu libre... Ce qui m'amène à un aspect du tuto Morrowind vraiment génial.

Ça vous aura peut-être frappé en me lisant mais je vous ait dit plus haut que Morrowind était un jeu à monde ouvert dans lequel on est très libre. Hors depuis le début du tuto vous êtes sur rails... C'est pourri, non ?

Ben en fait pas vraiment. Déjà si c'est long à lire ici, tout ça se passe en 5 min grand max en jeu (sauf la création de perso si vous êtes perfectionniste comme moi^^). Mais surtout c'est un truc important lorsque l'on traite du monde ouvert. Si vous lâchez votre joueur au milieu du monde vous allez vraiment galérer pour lui apprendre quoi que ce soit. En fait vous seriez probablement obligé de recourir à des fenêtres de texte et vous auriez du malà vérifier que le joueur a bien compris un truc avant de passer au suivant.

Même si Arcanum est un jeu génial, la première fois que j'y ait joué je n'ai pas été capable de jouer plus de 5 minutes parce que le jeu nous lâche littéralement au milieu des bois sans aucune piste (ou presque) d'où aller. C'est bien plus tard (en années) que je l'ai relancé et ait réussi à franchir le cap du "pas de tutorial".



Donc même si ça peut paraître un peu nul, c'est important de confiner le joueur dans des espaces clos et de le forcer à faire ce que vous attendez de lui avant de passer à la zone suivante. Rappelez-vous juste comme je l'ai dit au début de ménager le joueur, n'exigez pas de lui de faire des actions complexes qu'il ne devra maitriser qu'à la fin du jeu... Vous aurez tout le jeu pour lui apprendre ça, concentrez-vous sur la base.

Le but est de lâcher le joueur aussi vite que possible (tout en s'assurant qu'il maîtrise ce que vous lui avez appris). Gardez toujours en tête qu'un tuto, aussi bon soit-il est ennuyant. Un bon tuto doit être court. Quitte à refaire une voir plusieurs petites phases de tutos avancés plus tard dans le jeu.

Dans le bureau de recensement. On vous apprend encore des trucs sur votre situation: vous avez été libéré sur demande de l'empereur. Et là vous commencez à comprendre que Morrowind est en fait inspirée de l'empire romain. Le PNJ à qui vous devez parler achève la création de perso (elle est coupée en deux pour permettre au joueur de souffler, encore un bon point pour le jeu) puis vous apprend à ramasser un objet (un papier reprenant vos infos de perso).

Comme j'ai dit, vous êtes libre dans cette pièce. Et en principe tout joueur de RPG va donc commencer à looter tout ce qu'il voit... et se faire engueuler et confisquer la marchandise par le garde de la pièce.

Le jeu vient encore de vous apprendre un truc, subtilement et sans casser l'immersion. Le vol dans le jeu est puni. Les devs du jeu ont choisi de mettre cette pièce avec ce garde spécial (il ne vous arrête pas, pas d'amende, pas de bain de sang^^) plutôt que de vous laisser apprendre ça à la dure dans "le monde réel du jeu". Je le redis, c'est une très bonne idée d'utiliser des espaces confinés et contrôlés (par vous, le développeur du jeu) pour apprendre des trucs au joueurs.

Étendre le champs d'action



Vous l'aurez peut-être remarqué, mais le tuto de Morrowind, bien que très linéaire, ouvre progressivement la zone de jeu. Il n'y a pas si longtemps, vous ne pouviez pas bouger, puis vous avez pu marcher dans la cale sans interactions possibles... Puis vous êtes montés sur le pont où on vous a montré le monde mais sans vous laissez y gambader... Pour enfin vous vous retrouvez dans une pièce où vous pouvez interagir avec divers objets mais sous le contrôle de PNJs.

Muni de votre ordre de libération, vous passez dans la pièce suivante. La zone de jeu s'élargit encore. Cette zone est constituée de deux pièces, la folie furieuse^^. Ici pas de PNJ, vous êtes libre de prendre tout ce que vous voulez, notamment votre première arme, et le jeu vous apprend quelques nouveaux trucs comme crocheter un coffre verrouillé. Ces actions deviennent plus complexe donc il y a tout de même une pause avec fenêtre de texte mais c'est très concis et simple, on ne vous noie pas sous l'info.

Dans la pièce suivante (après une petite sortie dans une cour extérieure pour varier les environnements) vous donnez l'ordre de libération à un mec, qui vous donne un paquet pour Caius Cossades (et plein d'infos sur le monde), un PNJ important du jeu. Vous sortez et CA Y EST ! Cette fois vous êtes vraiment libre d'aller où vous le souhaitez et de faire ce que vous voulez !

Ah ouf, ce tuto est enfin fini alors !

Heu... Pas vraiment^^

Le tuto après le tuto



C'est ici que le génie du jeu commence. Je vous disais au début que j'ai mis du temps à comprendre que le tuto de Morrowind en était un... Et vous avez du vous dire que j'étais stupide, tout ce qu'on a fait jusqu’ici, bien qu’immersif et non insultant envers l'intelligence du joueur (important^^) sentait quand-même le tuto.

Mais maintenant qu'on est totalement libre, c'est là qu'on ne se rend plus compte de l'aspect tutorial de la suite des événements. C'est reparti^^.

Vous êtes dans le petit village de Seyda Nihyn et il vous reste plein de trucs à apprendre. Le contrôle et l'espace confiné c'est bien pour vous, développeur. Mais pas top pour le joueur. Les mecs qui ont fait Morrowind l'ont bien compris et ils ont décidé de vous lâcher dans la nature.

Mais ça ne veut pas dire qu'ils vous ont abandonné à votre sort. Ce premier village n'en a pas l'air mais il fait toujours partie du tutorial.

Premièrement on doit se poser une question cruciale: est-on vraiment libre ?

Oui... et non !


En fait ce petit village a une situation particulière sur la carte. D'un côté on est sur la côte, ce qui retire pas mal de directions possibles où aller. On est aussi au milieu de marais, ce qui décourage un peu l'exploration sauvage. Il n'y a qu'une route et on se retrouvera rapidement devant un panneau nous parlant de Balmora... Ça tombe bien, c'est là qu'on nous a dit de livrer le paquet.

Mais le village lui-même a encore des trucs à nous apprendre. On y fera notre première quête qui va nous apprendre entre autre à attendre x temps, on y visitera notre premier magasin, on aura des choix de dialogues, des PNJ nous proposent déjà de l'entrainement contre quelques pièces,... Tout ça dans un tout petit village donc le joueur n'est pas perdu.

On part ensuite pour Balmora. On peut considérer que le tuto prend fin lorsque l'on quitte Seyda Nihyn mais je considère qu'il continue jusqu'à Balmora. Arrivé là-bas vous remettez le paquet (ce qui vous demande un peu de recherche pour trouver Caius) et Caius vous parle des guildes (on peut rejoidre plusieurs guildes dans le jeu: guilde des mages, des guerriers...) qui sont un excellent moyen de se lancer dans le jeu.

Caius vous donne aussi votre première vraie quête... Mais on vous a conseillé d'aller rejoindre une guilde, c'est important ! Car lorsque vous faites sa quête. Vous allez rapidement vous faire DE-MO-LIRE par un ennemi qui surveille l'entrée des ruines où il faut aller.

J'estime que le tuto prend fin à ce moment là. Les développeurs vous poussent du nid, assez brutalement pour bien vous faire comprendre que le "je te tiens par la main" c'est fini. On vous a donné quelques pistes mais vous êtes à présent réellement libre et vous avez toutes les clés en main pour vous amuser sans prise de tête.

On conclut ?



C'était long, hein ?^^

Ce qu'il faut retenir d'un bon tuto :


  • L'immersion est importante. Un joueur ne sera pas trop dérangé par un tutorial du moment que vous ne rendez pas évident le fait que c'est un tuto. Placez le aux commandes le plus rapidement possible, évitez les cinématiques ou textes d'intro trop longs.
  • Soyez bref, allez droit au but. Un tutorial trop long va décourager le joueur. Certaines personnes n'ont le temps de jouer qu'une heure ou deux de temps en temps, ne leur volez pas ce temps libre en faisant un tuto d'une heure. Je vous parle de Morrowind et pas d'Oblivion et Skyrim pour une bonne raison. Leurs tutos sont longs et ennuyants...
  • Gardez le joueur sous contrôle. Veillez à ce qu'il maîtrise ce que vous lui avez appris avant de passer au truc suivant. Je vous conseille pour ça d'utiliser des petits espaces où les possibilités d’interactions sont limitées à ce que vous apprenez au joueur.
  • Ménagez le joueur. Faites des pauses au milieu de votre tuto pour le laisser digérer l'info.
  • Donnez-lui de plus en plus de liberté. Être enfermé dans un tuto n'est pas très agréable mais c'est nécessaire, ouvrez l'environnement et les possibilités d'action petit à petit.
  • N'apprenez pas d'actions trop complexes et présentement inutiles au joueur. Surcharger votre tutorial est une très mauvaise idée. Au pire, aménagez une seconde phase de tuto plus loin dans le jeu pour apprendre les actions complexes. Si le joueur se sent écrasé par tout ce qu'il doit apprendre, il ne va pas s'amuser.
Et voilà ! J'espère que ça vous aidera et que plus jamais... PLUS JAMAIS, je n'aurai à subir un tuto comme celui de The Witcher 2 ! J'écrirai peut-être un billet bonus pour vous parler des mauvais tutos et voir ce qu'il faut éviter.

Beaucoup de développeurs ont tendance à laisser le tutorial de côté et à l'ajouter à l'arrache lorsqu’ils ont fini leur jeu. C'est une très mauvaise décision. C'est certain que ce n'est pas la partie du jeu la plus passionnante à créer, mais c'est la première chose que verront les joueurs lorsqu'ils lanceront une partie. Comme pour tout, la première impression est extrêmement importante et ça serait une erreur de ne pas soigner son tutorial.

En attendant, amusez-vous bien et développez de bons jeux :)


vendredi 26 juin 2015

Myrne: Beyond - Cuisiner


Salut les lecteurs !

Quelques news à propos de Beyond aujourd'hui. Pour le moment je travaille à un bon rythme sur le jeu (et ouais, c'est les vacances^^).

Du coup j'ai pu "terminer" la sauvegarde. J'en suis pas encore super satisfait mais on peut passer d'un niveau à un autre, bouger des objets, en prendre dans un level, les déposer dans un autre... sans que ça ne pose problème ou que les trucs soient réinitialisés/dédoublés/etc...

Donc c'est plutôt cool.

J'ai aussi ajouté un genre de journal de quête en jeu et j'ai pris à peu près 500 ans pour l'animer^^ (et c'est encore un peu brusque comme animation). Vous verrez ça dans la vidéo un peu plus bas.

J'ai aussi commencé à réfléchir au crafting.

Comme je l'ai probablement déjà écrit quelque part sur ce blog, j'aimerais bien éviter autant que possible les interactions avec des menus pour plus d'immersion.

Bon, je suis pas un gros fifou donc s'il faut vraiment un menu pour un truc, je préfère en mettre un plutôt que de mettre un système soi disant immersif qui est au final juste pénible et lent à utiliser... Ce qui fait que je dois pas mal réfléchir sur comment je vais implémenter le crafting^^.

Voilà ce que ça donnera pour la cuisine en tout cas :



En principe tout ce qui est création simple et destruction d'objets devraient consister à lancer un truc sur/dans un autre machin^^.

Par exemple lancer un bâton sur une machine à scier le bois pourrait vous donner du bois. Je vais juste devoir trouver un moyen pour que le résultat de l'opération soit clair pour le joueur.

Pour la création d'objets par contre je devrai sans doute utiliser un menu, je ne sais pas encore.

Enfin, je pense que le crafting sera moins important/fréquent que dans What Lies Beneath. On verra^^.

Bref, c'est tout pour aujourd'hui. A la prochaine !

mercredi 3 juin 2015

Myrne: Beyond - Les news "un peu nulles mais en fait non" du jour


Salut les lecteurs !

Aujourd'hui j'ai fait une grosse, grosse, avancée dans le développement du jeu...

J'aimerais vous montrer plein d'images, de vidéos et de trucs cool, vous faire comprendre à quel point c'est génial et à quel point c'est un vrai soulagement d'enfin avoir trouvé une solution facile à ce problème qui me stresse depuis quasiment le tout début du projet mais...

...Mais cette avancée est un peu nulle en fait vue du côté utilisateur... Bref, c'est une news technique aujourd'hui donc si vous n'êtes pas intéressés par ce genre de billets, retenez juste que j'ai travaillé sur la sauvegarde et partez donc regarder Kung Fury pendant que je raconte ma vie ;)

Voilà quand-même de quoi étancher votre soif d'images inédites (kinda) ^^

Pour ceux qui restent, la sauvegarde !

C'est un soucis assez épineux sur lequel je réfléchis depuis un moment. Comment gérer le chargement d'une sauvegarde quand le joueur a amené des objets d'un niveau dans un autre ? Comment rendre son équipement au joueur lors du chargement d'une partie ?

Ben quoi, tu l'as pas déjà fait pour What Lies Beneath ?

Oui et non. Dans What Lies Beneath, je pense vous en avoir déjà parlé mais les objets sont simplement représentés par des chaines de caractères, ou des mots si vous préférez ("epeeFer", "bouclierBois",...). Ce qui les rend assez simples à gérer puisque du coup sauvegarder et charger l'inventaire du joueur consiste simplement à écrire ces mots dans un fichier, puis lorsqu'on charge une partie, lire le fichier et écrire les mots dans l'inventaire du joueur.

Mais dans Beyond, un objet est beaucoup plus complexe que ça puisque~

Bah c'est débile, t'aurais du utiliser le même système que dans WLB !

Hé non^^. Ce qu'on gagne en simplicité dans WLB, on le perd en complexité et en flexibilité. Dans WLB, une épée en fer ne sera jamais différente d'une autre. Comme je l'ai dit, le jeu ne retiens que "epeeFer". Lorsqu'on la ramasse sur le corps encore chaud froid d'un squelette et qu'on jette un oeil à ses stats, le jeu va regarder dans un script tout ce qui concerne "epeeFer": son image, sa puissance, son nom, le jeu de mot vaseux lui servant de description, etc...

Bref, dans What Lies Beneath, les objets sont figés, ils n'ont pas vraiment d'existence physique en dehors de l'interface et des effets qu'ils ont sur les stats de notre perso. C'est donc extrêmement simple de les "transporter" d'une scène à une autre (un coffre ne contient par exemple qu'une liste de mots, qu'on va effacer si on le loot).

Mais dans Beyond, on a besoin que certains objets soient uniques, sans s'amuser à ré-écrire une liste de caractéristiques pour chacune de ses formes. Courage, je vais m'expliquer^^. Pour reprendre l'exemple de notre épée en fer, dans Beyond, le stuff a une durabilité. Notre épée va s’abîmer en combat, puis on va la réparer, ce qui va baisser sa durabilité totale mais l'empêcher de se casser tout de suite, etc... Les objets n'ont plus des valeurs figées qu'on peut aller lire dans une liste, ils sont dynamiques.

Imaginez que je veuille créer une épée en fer un peu spéciale. C'est celle de notre père. Elle est en tous points identique à une épée en fer normale, sauf qu'au lieu de s’appeler "Epée en fer", elle s'appelle "Epée de papa".

Dans WLB, je devrais éditer ma liste d'objets, copier/coller tout ce qui concerne "epeeFer" dans un nouveau truc "epeeFerPapa" juste pour changer le nom (bon en vrai je m'y prendrais un peu différemment mais vous voyez l'idée: pour chaque épée un tout petit peu différente, je devrais aller éditer un script, recompiler le projet, etc...). Imaginez le bordel absolu si je commence à ajouter la possibilité d'enchanter son équipement, sa durabilité comme dans Beyond, etc...

Bref, dans Beyond, il n'y a pas de listes décrivant un objet, les infos sont directement écrites dans l'objet.

Cliquez pour voir en grand


Ça permet de faire pleiiiin de chouettes choses, et ça rend l'ajout d'objets en jeu beaucoup plus rapide et agréable :)

...et ça rend la sauvegarde difficile, apparemment...

Oui. On ne peut donc plus se contenter d'écrire des mots dans un fichier... On va écrire toutes les stats des objets du joueur dans un fichier. Ce n'est pas très difficile à faire, c'est exactement la même chose pour la sauvegarde des stats, skills, etc dans WLB.

Avec juste un soucis... Comment va-t-on faire pour que l'objet apparaisse en jeu ? C'est ça la vraie "difficulté" (bon en vrai c'était facile mais il a fallu apprendre comment faire^^). En gros, comment savoir au moment où on recharge la partie, quel préfab (modèle d'objet, une épée en fer, par exemple^^) on doit spawner pour ensuite lui appliquer les caractéristiques enregistrées (genre le fait que l'objet soit à moitié pété contrairement au modèle par défaut ou qu'il ait une description différente) avant de la mettre dans l'inventaire du joueur ?

Il y a deux solutions :

La première, la plus classique dans la manière dont on travaille avec Unity, serait de garder une liste de tous les objets pouvant être manipulés par le joueur... Et ensuite lier cet objet (ce préfab) à quelque chose qu'on écrirait dans notre fichier de sauvegarde... Comme... un mot !

Ça voudrait dire donner un nom unique à chacun de mes objets, comme "epeeFerPapa" puis établir dans un script que l'objet "epeeFerPapa" est lié au prefab de l'épée en fer... Hé mais ! Mais c'est pas ce qu'on voulait éviter ?!

Si si^^. Ça fonctionnerait mais ça serait (presque) aussi contraignant que tenir à jour la liste des objets de What Lies Beneath ! Heureusement il y a une deuxième solution, sinon je n'écrirais pas ce billet ;)

On va apprendre à l'objet quel est le préfab (qui est en fait un fichier) qui lui est lié. Et lorsqu'on sauvegardera toutes les infos sur l'objet, on va sauvegarder ce nom de fichier avec les autres infos (puissance, nom, description,...).

Problème réglé !

Au moment où on charge la partie, on lit les infos de l'inventaire du player. Pour chaque objet on trouve le nom de son prefab (de fichier) on charge ce prefab dans le monde puis on a plus qu'à lui appliquer toutes ses caractéristiques et à le mettre dans l'inventaire. Yay!

La seule contrainte c'est d'écrire le nom du fichier dans l'objet, ce qui se résume à un copier/coller vite fait. C'est mieux que de tenir une liste de tous les objets existants à jour, pas vrai ?^^

Mais euh, au final c'est si terrible d'utiliser une liste comme dans WLB ?

OUI ! WLB est devenu un gros projet avec le temps, le temps de compilation (temps pour que je puisse lancer le jeu dans l'éditeur après avoir modifié un script) est assez conséquent et c'est vraiment pénible de devoir patienter plusieurs dizaines de secondes sans pouvoir rien faire simplement parce que j'ai corrigé une faute d’orthographe dans la description d'un objet.

A force d'ajouter des objets, la fameuse liste est aussi devenue très très grosse, ce qui pose des soucis lorsque je veux compiler le jeu en version navigateur web (pour The Sorcerer donc).

Enfin, du fait que tout soit hardcodé dans un script, ça ne laisse aucune place au modding. Je ne pense pas que Beyond sera moddable, mais cette manière de gérer les objets est un premier pas dans cette direction, un jour mes jeux seront moddables, c'est promis^^

Conclusion



Et voilà. Il reste encore pas mal de travail pour que la sauvegarde soit opérationnelle mais l'étape la plus difficile est passée et c'est un vrai soulagement pour moi :)

Désolé pour ce billet très technique, je pense qu'il y en aura encore pas mal vu qu'il reste pas mal à faire au niveau du core du jeu.

Je crée un peu de contenu aussi pendant ce temps là mais je suis arrivé à un point où il et difficile de progresser sans implémenter des changements de scène corrects (si je passe d'une carte à une autre, je dois éviter que les objets ramassés par le joueurs réapparaissent, que les PNJ reprennent leur dialogue à zéro comme si on ne leur avait jamais parlé, etc...).


vendredi 22 mai 2015

Myrne: Beyond - Nouvelle interface utilisateur


Hello les lecteurs !

Un billet plein de petits détails aujourd'hui pour vous montrer un peu ce que j'ai fait ces derniers temps. Si vous n'aimez pas lire, jetez quand-même un petit coup d'oeil à l'image de l'interface, plus bas, avant de partir^^.

J'ai principalement continué à implémenter les compétences et le fonctionnement du leveling. Tout semble maintenant fonctionner correctement (un ennemi ne prend plus plein de dégâts parce qu'on lui a mis un coup d'armure à grosse valeur d'armure^^) et j'ai commencé à travailler sur les types d'armures.

Quand on se fait taper, nos compétences augmentent maintenant selon le type d'armure(s) qu'on porte. Si vous avez pour habitude de vous promener avec des pièces d'un peu tout type d'armure, vos compétences augmenteront un peu dans tout. Si par contre vous ne portez essentiellement que de l'armure légère, cette compétence augmentera beaucoup plus vite, logique.

Le choix de la compétence qui augmente se fait via un random. Le jeu prend une de vos pièces d'armure au hasard et augmente la compétence associée à cette pièce (la pièce principale, le torse, a toujours plus de chance d'être choisie). C'est également cette pièce qui perd un point de durabilité (rappel: votre stuff ne durera pas éternellement). L'idée c'est qu'on considère que c'est là que l'ennemi vous a touché.

En principe je pense ajouter une limite de poids de l'équipement que vous pouvez porter. Vu que je ne compte pas limiter l'inventaire j'ai du trouver un moyen de "donner un coût" à l'utilisation d'armures lourdes.

Bref, tout ce pavé ennuyant pour vous montrer la nouvelle interface :)

Jusqu'ici elle faisait un peu sci-fi parce que c'était la direction prise par le jeu à la base. Vu qu'on reste finalement dans de la fantasy classique, retour au brun ;)

Vu que toute la transparence partout rendait souvent la lecture de l'interface difficile, j'ai aussi ajouté des images de fond aux éléments de l'interface. C'était super chiant à faire mais je voulais un truc un peu plus joli que ce que je faisais jusqu'ici (dans What Lies Beneath par exemple). Et je pense que c'est réussi^^.

J'ai pioché des idées à droite et à gauche et j'ai finalement accouché de ceci :

Cliquez pour voir en grand
Tadaa !

Elle changera sans doute encore pas mal au niveau de l'arrangement et du contenu durant le développement j'imagine (elle ne supporte pas du tout le changement de résolution en ce moment) mais je crois que le style graphique s'approche de la version définitive.

Conclusion

Le fonctionnement du personnage, les dégats, etc... avancent bien. Le tout me semble cohérent et équilibré (on verra avec le temps^^) et en principe la montée en puissance de votre perso devrait se faire de manière assez progressive. Je voulais éviter un système comme celui de WLB où on sent une grosse différence avant/après quand on monte de niveau.

Rassurez-vous, si tout ce système semble passif, vous aurez votre mot à dire au moment du level up. Vous aurez des points (5?) à répartir dans les stats de base (force, dex, agilité, magie, et peut-être d'autres plus tard...).

Ses stats influencent le jeu directement évidemment (force augmente les dégâts de votre massue préférée,...) mais aussi les compétences qui sont liées à cette stat. Par exemple, avec une dextérité de 10 comme sur ce screenshot, vous ne serez pas capable d'augmenter votre tir à l'arc au delà de 10.

dimanche 17 mai 2015

Myrne: Beyond - Yay, des news!


Salut les lecteurs !

Ça fait longtemps. Je suis passé par une agréable petite phase de "je n'ai aucune idée de ce que je suis en train de faire, c'est stressant, jouons plutôt à GTA et à Dark Souls 2 à la place de travailler".

Heureusement, modifier l'éditeur de dialogues pour qu'il fonctionne avec le "nouveau" système de dialogues de Beyond (vous ne devriez pas vraiment voir de différence avec les dialogues de WLB mais dans les coulisses, ça fonctionne mieux^^) m'a un peu remis sur les rails (je vois mieux l'avancement du jeu).

J'ai continué a bosser sur divers trucs importants (le fonctionnement du leveling) et moins importants genre le sang.

J'aimais bien l'effet des persos qui se brisent en petits triangles à la mort mais ça a tendance a planter je ne sais pas trop pourquoi (c'était pas mon script, je suis pas très à l'aise quand il s'agit de toucher à de la géométrie en code^^). Du coup j'ai plutôt remplacé ça par des petits cubes rouges (pour les créatures qui saignent rouge en tout cas) qui giclent partout, ce qui donne assez bien. Puis un jeu Myrne sans un peu de gore, ce n'est pas un jeu Myrne^^. Les petits triangles sont toujours utilisés lorsqu'une arme ou projectile se brise.

En parlant d'effets visuels, j'ai changé les effets de feu pour qu'ils respectent beaucoup mieux l’aspect graphique du jeu.



J'ai continué à bosser sur l'équipement, pour le moment il ne fonctionne pas mais il s'affiche sur le perso et on peut voir l’allure de son héros dans la fenêtre d'inventaire. J'ajouterai sans doute une caméra à la 3e personne à un moment.

Et je crois que c'est à peu près tout ce qui est digne d’intérêt (je ne vais pas vous parler de portes ou des trucs copiés/collés depuis Song of the Myrne^^).

Je vous laisse voir tout ça dans cette vidéo.


A la prochaine !


mercredi 15 avril 2015

Myrne: Beyond - Hop hop hop


Hello les lecteurs.

Aujourd'hui, vidéo ! Yay !

Je travaille en ce moment sur un des donjon du jeu. C'est l'occasion de profiter un peu de la 3D pour faire suer le joueur^^

Je vous rassure c'est pas terminé, vous ne vous retrouverez jamais dans le vide intersidéral à sauter de bloc volant en bloc volant dans le jeu final (en principe^^)

Et c'est tout pour aujourd'hui, je ne veux pas spoiler ce donjon en vous en montrant plus.


jeudi 9 avril 2015

Myrne: Beyond - L'île + remaniements divers


Hello les gens !

J'espère que la démo / chasse aux œufs vous a plu. J'avais préparé ça un peu à l'arrache mais les retours que j'en ai eu sont positifs, yay !

Le développement du jeu a été pas mal lent ces derniers jours, j'ai commencé à re-réfléchir au projet et à ce que je comptais faire exactement, mais c'est encore un peu flou :S

Je me suis rendu compte que la vision que j'ai du jeu risque d'être un peu chaude à développer tout seul^^
Du coup j'ai fait un petit retour au drawing board et j'ai coupé à la machette dans ce que j'avais prévu de faire. Un peu comme ce que j'ai fait pour passer de SotM à WLB en fait :)

Mais j'ai aussi fait quelques trucs concrets (principalement du level-design), je vous rassure !


Voilà la carte du "monde" telle qu'elle est actuellement. Elle fait à peu près la même taille que l'île de WLB avant la sortie Steam (donc avant les quêtes annexes et la plage, les montagnes et les forêts au nord de notre maison).

Il me reste encore quelques plaques à ajouter (vous pouvez voir la taille d'une plaque avec celle pas finie en haut à gauche de l'image), au final je pense que cette île fera la même taille que celle de WLB (version actuelle).

En principe tout l'extérieur tournera sans temps de chargement, c'est assez difficile à dire tant qu'il n'y a pas de PNJs, animaux, etc... Mais en cas de soucis il faudra juste charger/décharger ces trucs là en temps réel, donc rien de trop problématique.

Mais c'est fort petit, non ?
Oui, je préfère créer un petit monde maîtrisé et rempli (/hi Morrowind), plutôt qu'une grande carte toute vide dans laquelle on s'ennuie (ceci n'est pas du tout une pique lancée vers Skyrim... hum hum...).

Du coup l'extérieur servira un peu de gros hub où faire ses achats et prendre des quêtes, un peu comme le village de Namok dans WLB, mais en beaucoup plus grand donc, tandis que l'essentiel du gameplay (combats, plateformes, quêtes,...) se déroulera principalement dans des donjons (y'aura aussi ça en extérieur mais les 3/4 du jeux se passeront sans doute en donjon).

Voilà pour ça^^.

Pour le reste dont j'ai déjà parlé, tout va probablement changer donc oubliez tout ce que j'ai dit jusqu'ici sur le jeu :D

Je ne pense pas que je vais garder l'idée de la science-fantasy par exemple. Elle me pose pas mal de soucis au niveau de l'écriture du scénario.

J'ai ajouté des nuages sinon ;)

En fait je crois que je vais me concentrer sur l’aspect action-RPG et offrir un truc assez classique (un genre de WLB 2) pour plus tard, éventuellement, reprendre l'idée une fois le jeu sortit et proposer une "suite" science-fantasy lorsque je maîtriserai mieux ce nouveau framework (= ~"espace de travail", c'est comme ça que j'appelle Unity + mes scripts et assets + programmes externes que j'utilise, je risque de ré-employer ce mot souvent^^).

L'avantage c'est qu'à ce moment là j'aurai tout ce qu'il me faut niveau assets fatasy, et je pourrai alors me concentrer entièrement sur l’aspect technologie et faire un beau mix des deux. Mais bref, c'est dans longtemps donc n'en parlons plus d'ici là^^'.

Je réfléchit aussi à comment vont fonctionner les dialogues. Je pense qu'il y aura le système de WLB que j'ai reprit comme je vous l’annonçais l'autre jour, mais aussi probablement un autre système pour que les PNJ non importants disent des trucs marrants sans couper l'action en vous arrêtant et en affichant une boite de dialogue.

Les PNJ et les débilités qu'ils racontent sont le centre de WLB pour moi donc c'est un aspect de ce jeu auquel je vais faire très attention. Beyond sera plus (+) tourné action mais je compte bien garder un taux de stupidité à la minute très élevé^^

Conclusionnationage


En résumé, je revois mes ambitions à la baisse. Ça peut sembler être un truc négatif mais en fait pas du tout, c'est une étape nécessaire de tout projet qu'on espère terminer un jour, surtout pour moi qui ait trop d'imagination^^'.

J'espère que vous ne serez pas trop déçu de la perte de l'aspect science-fiction, c'est un thème qui me tient très à cœur donc je le ferai un jour, quand je serai prêt :)


lundi 6 avril 2015

Myrne: Beyond - La démo technique de Pâques


Hello les lecteurs.

Vous êtes prêts pour une chasse aux oeufs ?

J'espère bien que oui parce que c'est tout ce que j'ai à vous proposer aujourd'hui (ça et quelques news^^)


Il s'agit d'une très courte démo dans laquelle vous devez ramasser des oeufs de Pâques et tuer quelques cinglés de cultistes (c'est un peu les mages de cette planète, il faut toujours que des gens viennent pourrir l'ambiance).

Pour ce qui est de l'avancement du jeu j'ai commencé les maps intérieures (le château) et la gestion du changement de level. La sauvegarde est un peu plus difficile à mettre en place que pour WLB donc ça progresse assez lentement.

J'ai aussi mis en place le système de dialogues. J'ai repris le système de What Lies Beneath mais j'en ai profité pour l'améliorer en le rendant plus flexible et en corrigeant quelques erreurs faites à l'époque (genre celle qui m'a vraiment compliqué la tâche au moment d'ajouter le support souris).



Ça fait que je vais aussi devoir ré-écrire l'éditeur de dialogues (du moins en partie)... C'est pénible mais ça vaut le coût. Les PNJ pourront dire plus de deux phrases à la fois et ça me facilitera vraiment l'écriture.

Voilà pour aujourd'hui.

Joyeuses Pâques :)

mardi 31 mars 2015

Myrne: Beyond - Enfin des extérieurs finaux ?


Salut les lecteurs !

Vous vous rappelez de tout ce que j'avais dit (hier) que j'allais faire cette nuit ?

J'ai menti ! Mouahahaha !

Plus sérieusement j'ai passé pas mal de temps a faire des essais de terrains. Le château que je vous ait montré hier est bien joli mais les 4km d'herbe autour pas tellement.

Ce fut long et difficile mais au final je suis arrivé à un résultat dont je suis très, très fier^^.

Cliquez pour voir en grand
Le paisible village de Tycho, il n'est bien-sûr pas terminé ^^

En principe vous êtes en face du style graphique final du jeu :)
(les détails en moins, évidemment, là c'est un peu le désert et y'a encore quelques trucs de base d'Unity qui doivent partir, ça se voit pas trop parce que ça date de pas longtemps mais vous serez bientôt dégoutté de voir ce ciel dans tous les mauvais jeux^^)

A la prochaine pour d'autres aventuuuures (les intérieurs du château j'espère cette fois^^).

lundi 30 mars 2015

Myrne: Beyond - Le Chateau Tycho


Vais sans doute changer cette image bientôt. Beyond sera bien un jeu de science-fantasy mais c'est vraiment la fantasy qui aura le premier rôle^^

Salut les lecteurs !

Cette nuit j'ai travaillé sur la première "vraie" map extérieure du jeu (le level extérieur que j'avais montré précédemment ne se retrouvera pas dans le jeu final je pense, en tout cas pas sous cette forme).

Voilà ce que ça donne :


Plus tard on pourra entrer dans les bâtiments, je vais sans doute ajouter ça cette nuit.

Je commence aussi à réfléchir à comment je vais gérer le changement de maps. Je vais regarder s'il y a moyen de les charger dynamiquement pour faire un "vrai" open-world, maintenant que j'ai accès à toutes les features d'Unity.

Si c'est un peu trop chaud, je fonctionnerai de la même façon que pour What Lies Beneath, c'est à dire avec des maps totalement ouvertes mais dont le changement se fait par des points de passage (ouverture dans la foret, portails de tp, etc...).

Avoir un monde ouvert à la Elder Scrolls serait vraiment awesome mais j'ai assez peu d'espoir d'arriver à faire ça sur mon premier vrai jeu 3D^^.

Et c'est tout pour aujourd'hui. Faire cette zone m'a pris énormément de temps mais au fur-et-à-mesure que j'avancerai dans le jeu ça devrait aller plus vite vu que je pourrai réutiliser certains assets.

Prochainement je m'attaquerai donc aux intérieurs de cette map. A partir de là je devrais commencer à bosser sur le système de dialogues.

dimanche 29 mars 2015

Myrne: Beyond - Un peu de gameplay + quelques news


Hello les lecteurs.

C'est la loose intégrale (si j'exagère un peu vous me le dites)... J'ai fait une vidéo de gameplay de Beyond... l'ait posté absolument partout... mais apparemment j'ai oublié de la poster sur le blog^^

Du coup ben la voilà. Y'a rien de vraiment neuf dedans mais on peut voir ce que donne le jeu quand on y joue vraiment, plutôt que de ne voir qu'une fonctionnalité à la fois comme sur les autres vidéos.

Y'a eu quelques nouveautés mineures depuis.
Les PNJ peuvent maintenant ouvrir les portes (s'ils ont des bras et qu'ils poursuivent une cible, si on ne les dérange pas ils restent dans leur pièce^^).
Ensuite j'ai commencé à implémenter le système de stats et de compétences.
Je me suis inspiré du système de Morrowind. Donc :
Vous avez des compétences (lames, bâton, mains nues, différentes écoles de magie,...) qui sont chacune liées à une statistique (force, magie, dextérité, agilité).
Les compétences s'améliorent à l'usage (si vous portez tout le temps une armure lourde, vous deviendrez plus fort avec ce type d'armure). Elles ne peuvent pas passer au dessus de la stat de base à laquelle elle correspond (par exemple, si vous avez 58 en magie, votre compétence Guérison ne pourra pas passer à 59). Et enfin, la progression se fait de plus en plus lente.
Les stats de base s'améliorent lorsqu'on monte de niveau, vous aurez des points à répartir.
En principe ça devrait donner une progression du personnage plus fluide que dans What Lies Beneath. Vous ne sentirez pas vraiment de différence en mettant un seul point en force par exemple.
J'adore ce système parce qu'il permet de re-spécialisé son personnage sans trop de soucis.
Et voilà, c'est tout pour le moment. J'espère bientôt commencer le début du jeu, avec les PNJ alliés qui pourront nous dire des débilités.

jeudi 19 mars 2015

Myrne: Beyond - Du loot !


¡ Holà !

Hey Beldir ! Alors, quoi de neuf sur Beyond ?

Hey hey jeune lecteur arrivant à point pour me servir d'intro^^

Aujourd'hui j'ai retravaillé les PNJ (persos non-joueurs). Le mage que j'avais fait est bien joli, mais le modifier sous Blender (je crée d'abord mes modèles en voxels sous MagicaVoxel) prend énormément de temps, l'animer ensuite sous Unity encore plus... et ce n'est pas vraiment des bases saines pour créer un jeu (sauf si on prévoit de ne mettre que deux types d'ennemis quoi^^).

Bref, plutôt que d'importer des PNJ complets, j'ai préféré construire un PNJ de base avec des objets vides dans lesquels j'ajoute ensuite différents morceaux tels que le visage, les mains, le stuff, etc...

Les avantages


  • Un workflow beaucoup plus rapide
  • Plus besoin d'animer dix mille fois la même chose
Une fois qu'une animation est faite sur le PNJ de base, elle fonctionne pour tous les autres du moment qu'ils n'ont pas 4 bras et des tentacules (mais Beyond n'est pas un J-RPG donc ça devrait pas poser de soucis).

  • Si un PNJ porte une robe bleue, elle est du coup disponible et utilisable en jeu
J'en ai profité pour construire le système de loot des PNJ. Lors de la mort ils éclatent toujours en milles morceaux mais laissent désormais leur stuff en partant dans l'au-delà (Ils rejoignent leur dieu "Destroy()").

Ça signifie aussi que tout ce que vous voyez sur un PNJ est obtenable. Envie d'obtenir cette jolie épée que le roi possède? J'imagine que c'est le moment de commettre un petit meurtre (je ne sais pas encore si on pourra attaquer les alliés ou non mais j'aimerais bien).


Les désavantages


Bah y'en a pas :D

Le mot de la fin


Je dois encore modifier le joueur pour qu'il utilise ce système.

Pour le moment on est juste une caméra qui vole dans les airs mais naturellement vous pourrez voir à quel point vous avez la classe avec cette couronne de roi et votre [botte droite de la chouette +10] en jetant un oeil à votre perso (sans doute avec une vue de face comme dans Fable 1).

J'aimerais aussi qu'on puisse voir son corps en baissant la tête mais c'est quelque chose de difficile à réaliser donc je ne peux rien promettre à ce niveau là ;)