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

dimanche 1 septembre 2013

Guide de survie à l'été: les mouches

Salut les Survivors of the Heat !

Le guide de cette année arrive un peu tard (carrément même :D) mais c'est parce que j'étais trop occupé à tenter d'éradiquer les mouches de la surface de la Terre.

D'ailleurs ça tombe bien les mouches sont le sujet du guide de cette année !



La mouche est un être assez unique, une genre de blague de la nature qui s'est dit: "Est-ce que si je fais une bestiole dont l'objectif principal dans la vie est de se faire massacrer, mais qu'en même temps je lui met une vitesse de propagation "over 9000 !!!!!", va-t-elle survivre à la sélection naturelle ?"

Bon, je le reconnais, l'expérience était intéressante mais bourdayl, mère nature mériterait une grosse paire de claques dans sa t... fa... Elle mériterait une bonne paire de canettes dans une de ses forets ! (ça lui ferait les pie~ ok, laissez tomber...)

Suite à cette expérience voilà de quoi est dotée la mouche afin de tâcher de mourir le plus vite possible:

Détection du danger



Bien que très petit, le cerveau de la mouche est extrêmement évolué. ainsi, la mouche arrive à détecter rapidement quelles sont les menaces les plus grandes pour sa vie... et se précipite rapidement dessus.

Elle est par exemple consciente qu'une vitre est le lieu où un humain pourra la tuer le plus facilement, c'est pourquoi la mouche affectionne particulièrement cet endroit.

En parlant d'humain, la mouche est maline et sait donc que c'est le plus grand danger de la pièce. Son instincts de non-survie se mettra donc directement en marche lors de la présence d'un humain, et la mouche commencera donc à venir se poser sur l'humain. Bien qu'étant dotée d'un poids très faible, son corps est recouvert de Désagréabline, une substance chimique qui pénètre la peau et attaque directement les nerfs lors du contact.

Ainsi la mouche est certaine de se faire écraser dans les 10 minutes (pas de panique, il en viendra d'autres).

Rapport avec la lumière


Le rapport entre la mouche et la lumière est simple et suit simplement la courbe du "Chiantissme Maximal".

Un écran est allumé ? Elle se pose dessus, s'il est allumé c'est forcément qu'il est en utilisation et donc qu'une mouche au milieu sera énervante.



Une pièce est éclairée ? C'estt qu'un humain est dedans, la mouche s'y rend donc.

La lampe vient de s'éteindre mais un humain est toujours dans la pièce ? C'est l'heure de faire du bruit.


Quand je vous dis que la mouche possède un cerveau hors du commun.

Rapport avec le temps


La mouche est une experte dans l'art de saouler les gens.

Elle sait donc que le meilleur moment pour exaspérer quelqu'un c'est quand il fait chaud. C'est pourquoi on ne la voit qu'en été (le reste du temps j'imagine qu'elle va faire chier les animaux qui hibernent dans leur terrier).

La mouche sait aussi que l'humain est facilement énervé par temps d'orage, c'est pourquoi le temps lourd et orageux la met tout de suite en forme et la pousse a faire plus de bruit et a se poser plus souvent sur les gens.

Potentiel bruitationnel


Au niveau sonore il existe deux types de mouches.

On a la petite qui ne fait pas de bruit et qui évite de se poser. Le but de cette mouche est de maintenir la haine viscérale que les humains vouent à sa race en faisant chier un maximum de temps avant de mourir. Elle va donc tâcher de vous over-saouler un max avec les techniques précédemment citées mais est suffisamment agile pour pouvoir survivre assez longtemps pour se reproduire et pour vous faire vraiment haïr les mouches.

Lorsque la mouche non-bruitationnelle vous a suffisamment énervé en venant se poser sur vous de temps en temps, elle décide qu'il est temps d'en finir avec la vie et se suicide en vous faisant passer en mode berseker. Pour cela elle se pose sur votre écran, puis fonce directement vers votre visage. Elle va ensuite se poser gentiment sur une surface plane en attendant la mort.

Puis il y a le tanker, une grosse mouche bien bruyante. Elle possède deux objectifs dans la vie. Le premier c'est de faire diversion pour permettre aux "petites connasses" (nom scientifique de la non-bruitationnelle) d'analyser le terrain.

Jusqu'à ce jour les scientifiques n'ont pas encore compris comment le tanker arrive a faire autant de bruit avec des ailes de cinq millimètres. Si le bruit n'est pas suffisamment énervant pour vous faire bouger de votre chaise ou de votre lit, le tanker se collera alors au carreau le plus proche afin de faire 600 fois plus de bruit (mystère scientifique une fois encore).



Son deuxième objectif est rempli au moment de sa mort, alors qu'elle s'écrase contre votre vitre. Elle prend soin de tout dégueulasser en explosant, vous obligeant a nettoyer les carreaux. Le but est bien évidemment d'alimenter la haine humain -> mouche.

Conclusion de l'étude


La mouche est chiante... Et si vous la haïssez, dites vous bien qu'elle vous déteste elle-aussi, au point où vous faire chier est partie intégrante de son ADN...

Mais alors que faire ?!
Pas de panique, ce ne serait pas un guide de l'été si je ne vous proposais pas de solutions pour "enlargir la qualité de votre vie", comme disent les pubs internet.

Solution 1: Smashhhhh !


C'est purement et simplement la meilleure solution, les écraser... toutes... jusqu'à la dernière.



Personnellement je pense que si on organisait dans le monde entier deux mois de battue chaque été durant lesquels on ne ferait rien d'autre que massacrer des mouches à temps complet. Ça nous gâcherait un peu l'été pendant 2-3 ans mais ensuite la vie serait géniale !


Solution 1: Complément


Bon, bien entendu il faudrait pour bien faire brûler toute maison dans laquelle une mouche serait aperçue une fois les 2-3 ans passés. Comme je l'ai dit ces saloperies se reproduisent vite, puis en plus elles pondent partout. Donc pas le choix, si une mouche refait surface, il faut tout brûler.

Solution 2: L'ère glaciaire


Cette solution est très simple a mettre en place. Il suffit de polluer un max afin de détraquer les saisons et provoquer une ère glaciaire qui endormira les mouches.

Certains travaillent déjà à cette solution, courage les gars ! Plus que quelques années comme ça !

Pour plus d'efficacité, pensez à polluer en vidant des bonbonnes de tue-mouche dans votre maison (si vous êtes à fond dedans vous pouvez aussi mettre un briquet allumé devant la bonbonne afin de coupler toutes mes solutions).

Et ne la ramenez pas avec vos "vous tuez la nature !", elle l'a bien cherché en créant la mouche !

Solution 3: ressortir les vieux articles


Vous pouvez aussi appliquer toutes les solutions que j'avais présenté ici pour un autre problème. Mais ça n'aidera pas a l’éradication les mouches... bande d’égoïstes !!

Il ne me reste qu'a vous souhaiter bonne chance et bon massacre (n'oubliez pas la battue !).

Dessins réalisés par Arnaud.


vendredi 30 août 2013

Quick Review: Spelunky

Salut les gens !

Aujourd'hui je vais vous présenter très rapidement un jeu qui va transformer vos vies en cauchemar. Je parle de Spelunky (la version HD).


En gros il s'agit d'un Roguelike-like. C'est un plateformer 2D dans lequel vous devrez traverser pas mal de niveaux sans mourir, puisque la mort est permanente (bien qu'il y ait un petit système de progression malgré tout).

Voilà pourquoi il rox de la mangouste:

La Quick Review


  • C'est dur !
En haut à gauche de l'écran vous verrez votre vie. Retenez bien ce truc, il ne sert à rien... la plupart des pièges vous tuant en un coup. Bon ok, j'exagère, votre vie vous servira un peu mais elle descend extrêmement vite.


  • Facile a prendre en main, dur a maîtriser
La prise en main est assez simple, il n'y a pas énormément de touches à retenir et les contrôlent répondent très très bien. Ce qui pour moi est obligatoire dans un jeu difficile (c'est pour ça que j'aime pas Dark Souls).

Autrement dit, à chaque fois que vous mourrez, ce sera de votre faute ! C'est vraiment très rare d'être tué par un manque de chance. En général vous prenez des dégâts parce que vous n'avez pas été assez attentif ou par manque de skill.

Cet esclave vous suivra partout et... heu... vous fera probablement tuer tellement il est stupide :D

Du coup on se rend rapidement compte qu'on s'améliore en jouant. Si sortir de la mine vous paraîtra impossible au début, après quelques jours vous devriez pouvoir le faire très facilement, et gagner du skill personnel en jouant, c'est toujours super^^.

  • Secrets, secrets everywhere !
Le jeu est bourré de secrets. Personnages à débloquer, niveaux secrets, etc... 

Dans le même ordre d'idée, le jeu est très complet au niveau des interactions possibles (avec l'environnement, etc). On peux par exemple voler dans les magasins (et en subir les conséquences), faire des trucs drôles impliquant des autel sacrificiels, etc. Si le jeu parait simpliste au premier abord, il est en fait très complet et complexe.

Le coop


Plutôt que de simplement citer le mode coop (jusqu'à 4 joueurs) dans les trucs trop cools du jeu, je préfère faire un petit aparté sur ce mode qui me laisse mi figue, mi raison.

Avoir la possibilité de jouer en coop à un roguelike(-like) c'est vraiment super (d'ailleurs j'en profite pour vous dire que Tower Climb a sorti une maj permettant le jeu en coop), mais... il y a un mais. Plusieurs en fait.

  • Pas de progression
En solo le jeu évolue un peu. Vous pouvez ouvrir des raccourcis vers chaque monde (un monde est constitué de 4 niveaux), débloquer des personnages,...

Le Tunnel Man vous demandera quelques objets pour ouvrir des raccourcis vers les différents mondes

Mais pas en coop. J'ai d'abord trouvé ça logique, en principe en coop le jeu devient plus simple et ce serait logique d'éviter de se pourrir le solo en débloquant tout dans un mode de jeu plus simple... Sauf que non, le mode coop est en fait plus difficile selon moi, pour diverses raisons (notamment le friendly-fire). Donc non, cette limitation n'a aucun sens.

  • La gestion de la caméra
Le fonctionnement du coop me laisse très dubitatif. Les mecs n'ont pas opté pour un split-screen, sans doute pour éviter de gêner la visibilité. Donc voilà comment ça fonctionne:

Au lancement de la partie, le premier joueur a choisir son perso obtient le drapeau. C'est un drapeau blanc qu'il porte dans son dos. C'est ce drapeau que suivra la caméra. S'il meurt, le drapeau viendra se mettre sur un autre joueur. Rester hors écran trop longtemps vous tue.

Un joueur mort reste en jeu sous la forme de fantôme, il peux encore agir un peu sur l'environnement. Il est possible de le ressusciter.

Il y a trois gros problèmes avec ce système (j'aime les listes oui^^):

    • On rate régulièrement ses sauts parce que le mec qui possède le drapeau a bougé la caméra juste au mauvais moment.
    • Si le porteur de drapeau fait une loooongue chute, le joueur resté plus haut doit tenter de le rejoindre complètement à l'aveugle.
    • On meurt parfois en attendant le passage de main du drapeau lorsque le porteur meurt, parce que ce passage se fait super lentement (donc si votre pote est tombé dans un gouffre sans fond, vous devrez attendre 3-4 secondes le drapeau, dans un jeu aussi exigeant c'est très très long.
J'en ai pas parlé mais Spelunky contient un mode Deathmatch assez sympa

Voilà, malgré tout le mode coop reste très plaisant mais j'aurais vraiment apprécié avoir le choix entre ce système et un split-screen classique. Ou à la limite la possibilité de se donner le drapeau en jeu.

Conclusion


Malgré un coop un peu décevant (mais génial quand même !), Spelunky HD est une véritable réussite. La maniabilité est impeccable, c'est plus complexe que ce qu'on peux penser au premier abord et c'est surtout super drôle.

C'est mon gros coup de coeur du moment et je vous le recommande.



Vous pouvez l'acheter sur Steam ou sur GoG mais si vous n'avez pas d'argent ou que vous ne me faites pas confiance (salauds !), vous pouvez aussi jouer à l'ancienne version de Spelunky, qui elle est gratuite. C'est le même jeu mais en moche^^. Je ne sais pas trop si on peux y jouer en coop ni s'il est moins complet ou pas.

Vous pouvez le trouver ici.

Have fun, à la prochaine !


mercredi 21 août 2013

Song of the Myrne: Où l'on parle de monstres et d'optimisation (le plus méchant des deux n'est pas celui qu'on croit)

Salut les lecteurs !

Pas de changements incroyables de la mort qui tue ce soir, mais deux bonnes nouvelles:


  • La première c'est cette image:



Si vous suivez régulièrement ce blog, vous devriez savoir ce que ça signifie^^

...
...
J'utilise des atlas pour faire les mobs et je pourrai donc en créer beaucoup plus vite et facilement...


  • Et la deuxième bonne nouvelle c'est que je m'apprête à faire un truc qui devrait réduire pas mal les lags
En tout cas ça devrait ramener les performances au même niveau qu'avant la refonte graphique.

Voilà voilà, si les détails techniques ne vous intéressent pas, je vous invite à partir maintenant, parce que la suite de cet article risque de vous apprendre des trucs^^.

Mais comme je sais que quelques lecteurs utilisent Unity, je me dis que ça pourrait être sympa de leur éviter les deux jours de galère que je viens de traverser.

Les faits


Song of the Myrne est fait de pleeeeein de petits carrés (qu'on appelle quad). Sur ces quads sont appliquées des textures.

Alors tous ces petits carrés, ils ont beau être en 2D et avoir des textures de 8x8 ou 16x16 (en général), ça n’empêche que vu leurs nombres ils pèsent un peu lourd sur la carte graphique qui doit les afficher un par un (on appelle ça un Draw Call).

Si vous cherchiez sur qui râler quand votre démo de SotM lagge, ne cherchez plus, le nom du coupable principal est entouré^^

Heureusement il existe une technique fantastique que l'on appelle le batching. C'est grâce à cette technique que "la Baie des Bâtisseurs" (un petit jeu que j'ai fait) ne rame pas. Le principe est assez simple:

On prend plusieurs objets (ici nos petits carrés) qui resteront toujours immobiles et qui utilisent la même texture (le même material en fait, j'y reviens), par exemple tous les carrés de sable. Puis on les fusionne ensemble dans un seul gros objet (via un script). 

*PIF POUF MAGIE, ELECTRONIQUE ET BOTANIQUE*

Au lieu de 50 draw calls, on en a plus qu'un. La carte graphique ne doit plus passer sur chaque petit objet et lui appliquer la texture, elle passe sur le gros objet seulement et lui met la texture.

Bref, c'est ce que j'utilise et qui marchait très bien avant la refonte graphique.

Bardaf' c'est l'embardée


Qu'est-ce qui s'est passé concrètement lors de la refonte graphique du jeu ?

Au lieu d'avoir des petits carrés avec une texture dessus qui prend toute la place on a des carrés avec une très grosse textures. Pour les murs par exemple, l'atlas contient tous les cas possibles de ce type de mur: coin bas gauche, coin haut droit, ligne droite en bas,...


Et sur le quad n'est affichée qu'une partie de cette texture.

Alors quel est le problème? Tous mes carrés possèdent la même texture, donc le batching devrait marcher, non ?

La même texture oui, mais pas le même material ! Le material à la base est partagé entre tous les carrés, mais pour dire au mur quel partie de la texture il doit afficher, je dois changer le tiling (la taille de la partie affichée) et l'offset (le décalage) de la texture, ce qui se fait sur le material. Donc si je me contente de modifier le material de base, tous les murs possédant ce material afficheront la même partie de mur.

Donc je change ça au chargement d'un niveau et Unity crée un instance (une copie) du material qu'il peut modifier sans que ça affecte les autres quads qui ont eux aussi ce material. ils possèdent tous une copie du material original... 

Soit un material différent... Et donc le batching ne se fait plus, ce qui provoque une grosse chute de framerate.

Mais c'est horrible ! Que faire ?!

La solution


La solution est aussi bête que technique. Je ne vais pas me risquer à tout vous expliquer en détail, parce que pour remédier à ce problème j'ai dû toucher à mon Némésis. J'ai nommé les UV (même en informatique ils donnent le cancer :/).

L'UV map c'est ce qui dit à un modèle (dans ce cas-ci mes carrés) comment afficher une texture dessus. C'est exactement comme ce que vous obtenez quand vous découpez un cube pour en faire un objet plat.


Donc en gros, je caricature (à mort) mais, au lieu de faire glisser la texture sur mon carré, je fais glisser le carré sous la texture. Et pour le redimensionnement je préfère ne pas savoir ce qu'il se passe, moi l'UV mapping c'est un truc qui est renseigné dans mes gènes comme "truc magique qui ne marche jamais comme il faut".

Donc au final on a plusieurs objets différents (une copie du quad est créée) mais ils possèdent tous le même material, qu'on appelle sharedMaterial sous Unity. Ces objets seront batchés ensemble et les Draw Calls devraient être beaucoup moins nombreux qu'avant et réduire le lag (je touche du bois).

Edit: je confirme, on sent la différence, pour le moment je me contente de ramener le jeu à un état acceptable, c'est à dire que je ramène tout à 300 Draw Calls. Certains endroits sont actuellement à plus de 1000 ! Ce simple changement me fait gagner 10 images/seconde

Voilà. j'espère que toutes ces explications techniques vous auront intéressé (sinon vous n'êtes pas en train de lire cette phrase en fait^^).

Le bonus sympa


Si par le plus pur des hasards vous seriez amenés a devoir faire la transition tiling/Offset de material à modification d'UV map pour vos projets Unity, voilà la fonction que j'appelle à la place de mon ancien code:


Conclusion


Il va sans doute me falloir encore un peu de temps pour appliquer ça aux murs, sols, etc et a réparer mes levels suite à pas mal de changements faits sur... quasiment tout. J'ai arrêté d'utiliser le plane de base d'Unity pour le remplacer par un quad fait sous Blender, parce que le plane d'Unity contient beaucoup trop de triangles, ce qui ne sert à rien et consomme inutilement de la mémoire.

Mais c'est promis, si tout fonctionne comme il faut, je sortirai une nouvelle version de la démo.



lundi 19 août 2013

Pixel Art

Allez, un petit bonus à cet article^^




Song of the Myrne: pixel art + divers

Salut les gens !

Le 15 août étant fini, je peux me remettre a bosser sur SotM tranquillement (sans me faire agresser sauvagement par des bières).

Du coup bah, pas grand chose de nouveau.

J'ai reçu quelques retours de joueurs (un grand merci à eux), ça me fait très plaisir de voir que vous ne vous êtes pas encore lassé du début du jeu. J'ai donc commencé à m'attaquer a bugfixer le jeu. Le problème c'est qu'il n'y a pas vraiment de bugs a corriger (pas énormément en tout cas) et que la plupart des problèmes se résument à "ça lag !!".

Bref, je suis en train d'optimiser tout ce qui peux l'être un peu partout, ce qui est long, répétitif et carrément décourageant. Mais ça doit être fait ;)
La map de l'archère me rend toujours perplexe, je ne sais pas trop pourquoi elle consomme à ce point et je pense que je vais passer mon Unity en version Pro d'essai un de ces jours pour voir ce qui cloche (la version Pro possède un superbe outil d'analyse de consommation CPU).

A part ça je vais me remettre au travail sur la suite du jeu.

Et aujourd'hui j'ai fait ça en une heure pour étoffer un peu les écrans de chargement:


Et oui, ce sont bien des cheveux finalement^^

Je trouve qu'ils donnent bien ;)

J'en ferai sans doute d'autres avec des monstres et PNJ's, j'arrive a les faire relativement facilement maintenant.

A la prochaine !

lundi 12 août 2013

Song of the Myrne: nouvelle démo


Salut tout le monde !

Journée chargée aujourd'hui. Comme promis j'ai fait en sorte de sortir la nouvelle version de la démo avant lundi. Sinon j'aurais du attendre une semaine vu que la semaine qui arrive va être chargée.

Voici un petit récapitulatif des nouveautés de cette démo. Il est probable que j'oublie plein de trucs, vous me connaissez^^.

  • Nouveaux graphismes
La raison principale de cette démo. J'ai refait la plupart des façades des maisons, tous les toits, tous les murs intérieurs et une partie des sols intérieurs. J'ai également donné un petit effet arrondi aux type de sols qui s'y prêtent en extérieur: sable, chemins en terre,...

  • Nouvelle map de départ pour l'archère
La map est assez semblable à l'ancienne mais elle ne devrait plus poser de problèmes de lags et est un peu plus jolie. J'ai aussi ajouté une petite surprise sur l'île :)

  • Plein de sons
J'ai ajouté une chiée de sons en jeu, notamment des bruits de pas différents selon le style de sol sur lequel on marche.

  • Divers trucs et bugfix
Toujours plus d'objets de craft, quelques changements à l'Académie des Mages, un écran de chargement, un ou deux dialogues ont étés refaits, etc, etc...

Voilà voilà. J'espère que ça vous plaira. Si vous avez joué à la dernière démo ou à celle d'avant, celle-ci aura bien peu d’intérêt mais si vous n'avez pas encore joué avec les deux persos, c'est le moment c'est l'instant^^

Comme toujours vous pouvez télécharger la dernière version sur cette page.

Amusez-vous bien, et comme toujours n'hésitez pas a me signaler tout bug ou problème que vous risquez éventuellement de croiser.

dimanche 11 août 2013

Rosetta: non, pas le film tout pourri...



Salut les lecteurs !

Je viens d'écrire un petit truc assez passionné sur le forum d'Indius (site d'actualité des jeux indés). Ce serait dommage de ne pas vous en faire profiter, d'autant plus que ça fait un moment que je n'ai plus parlé musique ici.

Comme je suis une loque je me contente d'un copier/coller/adapter.

Aujourd'hui m'est arrivé un truc plutôt rare: j'ai payé pour de la musique ! Je ne l'avais plus fait depuis l'OST de Cardinal Quest et avant ça, des années...

Pas que je sois mauvais en soi mais j'ai tout simplement besoin de beaucoup trop renouveler ce que j'écoute que pour me permettre d'acheter tout ce que j'aime (quand on aime on ne compte pas, sauf quand on doit discuter avec l'Onem^^).

Bref, il y a un groupe que je kiffe depuis un moment, et leur dernier album est en pay what you want (vous payez ce que vous voulez, pas de minimum). D'ailleurs merci à Russe de m'avoir fait découvrir le groupe puis ensuite l'album^^


Il s'agit de Rosetta, un groupe qui se définit lui-même comme "metal for astronauts" bien qu'on le classe généralement comme Post-metal (si vous aimez Isis, Neurosis et Cult of Luna, n'hésitez pas^^).

Si le chant est généralement très lourd et très barbare (cf ma mère), la musique quand a elle est super aérienne et heu... bah très spatiale en fait. C'est léger, ça fait voyager, bref, c'est fracking bon !

Voilà un petit extrait du dernier album (en pay what you want, guys !):



Vous pouvez télécharger et/ou écouter l'album (en entier !) gratuitement à cette adresse.

Ce concept de musique en pay what you want est vraiment un truc que je soutiens à 100% parce que ça me donne l'occasion de pouvoir soutenir des artistes que j'aime sans devoir trouver LE magasin dans lequel j'ai 5% de chance de trouver l'album (qu'après je devrais me faire chier a riper moi-même), donc n'hésitez pas a lâcher quelques dollars, franchement ce groupe les mérite.

En voilà une autre de mes préférées:

Si vous trouvez ça trop bourrin, sachez qu'on s'habitue et que tout l'album n'est pas comme ça^^

Ça vient du double album The Galilean Satellites. En gros ce sont deux albums, un normal et un plus "ambient" qui peuvent être joués en même temps (Audacity est ton ami) pour donner un troisième album complet. Ce qui est déjà awesome de base mais l'est encore plus quand on sait que c'est leur premier album.

Bref ça claque sévère, je suis un grand fan de ce groupe...

Et en bonus, un truc que j'écoute souvent quand je suis d' "humeur Rosetta". C'est un morceau d'Isis, dans le même genre. Je trouve Isis moins bon de manière générale (sauf leur album "In the Abscence of Truth" qui est purement et simplement awesome) mais ce morceau ci... Ce morceau-ci ! C'est une masterpiece (le clip aussi) ! Orgasme auditif à 3:40^^

J'avoue la partie doigts écrasés fait mal^^'

Bref, Rosetta ça cartonne grave... et Isis aussi... et Cult of Luna ! (et il parait que Neurosis est du même style mais perso j'accroche moyennement)

Bonne écoute ;)