Song of the Myrne

Un RPG au style rétro et plein d'humour sur lequel je travaille.

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

Une petite aventure en parallèle de Song of the Myrne

jeudi 21 août 2014

BD Myrne: Maintenance


Et hop, un nouveau petit strip !

Si je ne me lasse pas, je devrais en publier de temps en temps.

Cliquez-ici pour pouvoir mieux lire (ouvre un nouvel onglet)

mercredi 20 août 2014

What Lies Beneath: progression de l'update du jour


Re-salut les n'enfants !

Comme promis, voilà la progression du jour :

J'ai mis les ajouts du jour en foncé

En gros j'ai terminé le "donjon" (c'est très petit) du nouveau boss (il reste juste quelques détails à ajouter) et j'ai entamé ledit boss.

[Attention, petit spoil sur le fonctionnement du boss, sélectionnez le texte pour le lire]

Celui-ci sera vraiment original vu que [ le combat se déroulera à l'aide de leviers servant à diriger un canon. ]

En gros, ce qu'il reste à faire pour cette quête c'est :


  • Finir l'écriture du dialogue (la fin de la quête n'est pas encore écrite en jeu)
  • Ce qui amènera à ajouter deux trois trucs sur la map et gérer quelques événements
  • Terminer le boss : équilibrage, loot, fin de quête, etc...


Voilà voilà.

J'en profite pour vous annoncer que What Lies Beneath est en promo sur IndieGameStand.

Vous pouvez le choper pour 0.99$, autant dire rien du tout^^.


mardi 19 août 2014

Myrne - La BD que personne n'attendait


Non... Il n'a pas osé ?!
Noooooooooooooooooon...
     ~ La première personne ayant posé les yeux sur ce truc

Aujourd'hui j'ai fait un truc un peu différent de d'habitude. J'essaye de m’entraîner un peu au dessin histoire de pouvoir ajouter des cutscenes dans mes jeux sans devoir faire appel à quelqu'un.

Cliquez pour la voir en grand


Comme vous le voyez il reste du boulot :D

J'ai juste dessiné 3 cases, donc pas d’inquiétude, vous n'êtes pas prêt de trouver ça dans votre librairie la plus proche :D

Mais j'en dessinerai probablement d'autres si je suis motivé et que je ne reçois pas de lettres d'insultes chez moi après la publication de cette planche.

Bien entendu j'ai aussi bossé sur l'update de WLB, j'écrirai un billet plus tard pour en parler.


Song of the Myrne et What Lies Beneath: l'update ne recule toujours pas


Hello tout le monde !

J'espère que vous avez passé un bon quinze août. Moi oui en tous cas, ce qui n'a pas vraiment fait avancer la mise à jour 2.0 :'(

Mais rassurez-vous, ça n'a pas reculé non plus.

Voilà la progression de la roadmap aujourd'hui :


Aux dernières nouvelles nous en étions ici :


Donc j'ai fini la petite quête que j'avais ajoutée au jeu. Elle contient le personnage le plus cool jamais créé :)

Demain j'essayerai d'ajouter un nouveau boss et son terrain, histoire de vraiment avancer dans la roadmap.

Sinon j'ai passé une bonne partie de la journée à rendre l'interface plus classe et plus lisible quand on monte de niveau ou qu'on prend / remet une quête.


J'essaye de progressivement supprimer le texte qui pop au-dessus de la tête du perso vu qu'il déconne un peu (la vitesse de défilement du texte n'est pas pareille chez tout le monde) et que ce n'est pas très joli.



mardi 12 août 2014

What Lies Beneath: Progression de l'update


Salut les lecteurs !

Billet ultra-court aujourd'hui.

En gros j'ai bien progressé (bien que j'ai pas du tout fait ce que j'avais dis que je ferais dans le dernier billet :D)

En fait je me tâte sur le fonctionnement du prochain boss, j'ai envie de faire un truc un peu différent mais j'arrive pas à me décider quoi, surtout qu'il est en intérieur, ce qui est toujours plus compliqué (y'a moins de place pour travailler).

Du coup je pense que le truc différent sera plus au niveau de la quête qui va avec que du boss lui-même. En fait la quête m'a tellement inspiré que j'ai commencé à écrire un bouquin qui fait suite au jeu et dans lequel on retrouve un perso de la quête ><'

Ne rêvez pas trop, je le finirai sans doute jamais, et même si je le fais y'a de grandes chances que ça soit nul :D (j'essayerai de publier le premier chapitre ici, si je n'ai pas trop honte à la re-lecture et que j'y pense, au pire rappelez-le moi en commentaire si c'est pas fait avant le prochain billet^^).

Heu, bref, la roadmap.

On l'avait laissée comme ceci, le 27 juillet :


Et la voilà aujourd'hui (déjà 3 semaines ?! WTF ?!):

Pour rappel, ce qui est important c'est que toute la partie bleue claire disparaisse au profit du bleu foncé, le reste c'est pour moi m'y retrouver

Donc on constate que :


  • Un nouveau truc complet (boss, quête/dialogues, map(s) a été terminé
  • J'ai travailler un peu plic-ploc sur le reste
  • J'ai décidé d'ajouter une nouvelle quête secondaire et la map qui va avec et je l'ai déjà presque fini
Voilà voilà, il me semble que j'avais fait un truc important mais je ne sais plus trop quoi donc c'est que ça ne l'était pas tant que ça^^

Pendant que ces parties importantes avancent, le donjon que vous connaissiez change lentement aussi, bien que ça ne se répercute pas sur la roadmap (des bouts de maps sont déplacés ailleurs, de nouveaux types de monstres apparaissent, les Toglodotes deviennent une vraie civilisation organisée, etc...) pour être un peu plus intéressant et rempli.

Actuellement je pense que la durée de vie du jeu a augmenté de moitié.

Bref, voilà pour ce billet *relis plus haut*... "ultra-court"...

Dammit !

dimanche 10 août 2014

Timer.js, un script pour les gouverner tous


Hello tout le monde !

Un billet bien différent de d'habitude aujourd'hui avec un cadeau pour les codeurs qui utilisent Unity.

C'est quoi ?! C'est quoi ?!!!


C'est le script que j'utilise pour gérer tous mes timers, que ce soit pour du fading de trucs divers (musique, transparence d'une image, etc...), pour les cooldowns des sorts, pour les animations de mes personnages, etc...

Ça fait longtemps que je l'utilise et depuis l'horrible première version qui utilisait des numéros d'identification pour désigner les différents timers (genre, timer[0] = le timer de l'animation de marche => bonne chance pour s'y retrouver dans votre code quand vous gérez 30 timers différents^^), ce script a fini par devenir vraiment simple d'utilisation et rudement efficace.

Du coup je me suis dit que ça pourrait en intéresser certains. C'est cadeau !

Les fonctions à connaitre



InitializeTimer(name:String)

Démarre un timer

Cooldown(name:String, timeToWait:float) : boolean

Permet de voir si timeToWait (en secondes) s'est écoulé depuis le lancement du timer

Countdown(name:String, timeToWait:float) : float

Pareil mais renvoie le temps restant (en secondes)

SafeCooldown(name:String, timeToWait:float) : boolean

Idem que Cooldown mais, contrairement à celui-ci, renvoie false si le timer n'a pas été initialisé avant

Utilisation concrète



Vous allez voir que c'est simple comme tout à utiliser, en général je n'utilise que les deux premières fonctions.

La première étape c'est de lier le script à un GameObject et de le déclarer dans le script qui doit l'utiliser. Attention que les timers sont donc partagés dans un même gameObject. Donc si deux scripts présents sur un seul gameObject l'utilisent, attention à ne pas donner deux fois le même nom à deux timers différents.

Ensuite c'est très simple. En fait InitializeTimer() n'est pas vraiment utilisé pour initialiser un timer (en général !) mais plutôt pour le réinitialiser.

On va donc tout de suite partir sur notre fonction Cooldown(). Imaginons qu'on veuille faire une animation de marche ou d'attaque en deux frames.


Rien de plus simple ! On va travailler dans la fonction Update() de notre script de déplacements.

Cliquez sur l'image pour la voir en grand

Et voilà, c'est aussi simple que ça !

Pourquoi on initialise pas le timer avant de l'utiliser ?

En fait, la première fois qu'on va appuyer sur la touche de déplacement, la fonction Cooldown va se rendre compte qu'on a pas initialisé notre timer. Elle va donc renvoyer true, notre animation de marche va se lancer puis on initialise le timer.

Le fait qu'on ne l'ait pas initialisé avant d’appeler Cooldown va simplement faire que dès l'appui sur la touche, l'image du perso va changer.

Parfois, vous voudrez peut-être éviter ça (pour éviter qu'une bombe explose dès que vous la posez par exemple^^). Dans ce cas il suffit d'utiliser SafeCooldown() ou bien d'Initialiser le timer avant d’appeler Cooldown().

Conclusion et download



Voilà voilà, j'espère que j'ai correctement expliqué tout ça. Retenez surtout l'utilisation concrète, c'est ça que j'utilise dans 99% du temps, le reste est assez peu utilisé mais c'est utile de savoir que c'est là pour le jour où vous en avez besoin^^.


Vous pouvez l'utiliser dans tous types de projets (commerciaux ou non), le modifier, le redistribuer, etc... Vous pouvez me citer dans les crédits de votre jeu si vous voulez mais vous n'êtes pas obligés.

(N'hésitez pas à laisser un commentaire si le lien vient à mourir).


jeudi 7 août 2014

Song of the Myrne et What Lies Beneath - La sorcellerie


Re-hello les lecteurs !

Allez, je vous sent un peu tristounets de ne pas avoir eu de news sur Song of the Myrne aujourd'hui^^

Aujourd'hui j'ai enfin pris le temps de terminer la sorcellerie.

Il reste deux trois trucs à régler mais c'est fini à 95%.

Les mobs peuvent maintenant être effrayés et maudits.

Les effrayés s'éloignent du lanceur de sort, tandis que les maudits prennent 50% de dégâts en plus.

Voilà voilà. Sur ce je vais travailler sur un des nouveaux boss et sa zone.