Myrne: The Quest

Immerse yourself in the Myrne world in this first-person RPG

Myrne 6312

A coop-topdown-shooter in SPAAAAACE !

October 9, 2018

Myrne 6313 - Skills


Hey everybody!

I started working on Skills some days ago.

Like I did with the game items and quests, I transitioned to ScriptableObjects to make my life easier. Creating a skill (name, picture, description and steps, not the code behind it) is super easy with those, I just have to  create a new file and fill the informations in the Inspector window).


I promise, I'll make a post about ScriptableObjects one day :D

For this game, skills are composed of steps, so you'll be able to better customize your gameplay I think.

For the moment I only plan to add passive skills. I noticed while working on "Myrne: The Quest" that it's easier to manage abilities through items (for exemple by creating a "Fire Wand" instead of a "Fireball" skill). I might change my mind in the future and add magic as skills instead of items but I'm not sure yet.

In this game futuristic setting, it makes more sense that magic would be merged in items by techno-mages so everyone can wield them. I don't think the player character will have any magic abilities of her own, since she's a nobody.

Anyway, here's the result.



The skills will probably change (will probably merge some of them together, add more chaining and also more skills, you can see the fitness part ain't done yet).

And that's all for today. See you next time ;)



October 1, 2018

[Video] Myrne 6313 - New gunplay


Hey everyone!

Remember when I was talking about the new accuracy system, movements, etc...? (psst, no idea what I'm talking about? This way please...)

I made a video showcasing all that, and a little (but really nice) addition. I changed the way the guns are displayed on your character so that the guns now face the crosshair.

Bullets are also shot from the gun's tip instead of the middle of the player character. This is a small change but it really adds to the gameplay. It's now less likely to accidentally shot a wall instead of your target, yay!


And that's all for today (maybe, I'm super motivated and will continue working on the game :D)

September 17, 2018

Unity - Fixing the "importing small assets" bug


Hey guys!

I'm getting back at Myrne 6313 after a kinda long period (about a month) of not doing much on the project.

The reason? A very annoying bug that I wasn't able to fix. I saw some people also having this bug and didn't find a solution that worked for me and finally came up with my own fix (kinda). I tought I'd share it. Hope that will help!

Nothing much to say about the game today since that issue slowed the development of the game intensively. So if you're here for the game news, I think you can stop reading this now :D

The bug


Basically, every time I changed something in a scene (a level) of the game, a small window poped up stating something along the line of "importing small assets". The window stayed for a few seconds. This happened every time I made a change after starting the game or switching to another software (like Photoshop or my browser). Drove me crazy.

This was very frustrating, slowed down my progress A LOT and I had no joy anymore working on that project.

I'm working on a very old version of Unity which I can't upgrade because my project is in UnityScript so I had no hope of this bug being fixed by the Unity team. I've read some solutions online from people suffering from that bug too but nothing worked and I'm not sure my solution will fix it for you, sorry in advance... I know how frustrating that is.

The "solution"


So what was the cause of this bug? My HDD is dying... Simple as that. I noticed other softwares being kinda slow and some weirdness here and there on my computer. So I think my hard drive is at the end of its life. This probably slowed the save feature of Unity. Why only when I switched focus from one soft to another or after playing the game? No idea...

I took the project, moved it to my SSD and now everything is smooth and the popup window never showed up again.

And that's all for today. It sucks that it happened just when I started writing again here but you should see more news from now on. The first 15-20 minutes of the game are almost complete and I might release a playable demo for the occasion (maybe not, don't quote me on that^^).

Edit Sept 24th: Okay, the issue came back... and I re-fixed it by cleaning up the project. Removing a lot of unused textures and prefabs (this is a project built on an older one, really messy stuff). Maybe it will come back, who knows :S


August 10, 2018

Myrne 6313 - Guns accuracy, recoil...


Hey everyone!

Since I worked on very boring, UI related stuff those last few days but I promised to talk about the game in a regular basis, I guess I'll have to find something to talk about :D

No worries, since the last couple of videos I showed, I drastically improved the gun play of the game. So let's talk about that!

The bad

Accuracy

Since Myrne 6313 is an RPG, the gun play is tied to the player's stats. This, of course, mean the damages dealt by weapons will vary with your stats and skills, but also that your accuracy will be based on your dexterity.

The UI is now cleaner and I reworked the equipment window

What I previously did to reflect that was to add an "imprecision" angle to each weapon, and decrease that angle the higher the player's dexterity was.

Movement

In the meantime, I was having issues with player movements in fights. Most fights consisted on shooting at enemies while walking backward to avoid being hit. So, I added some kind of recoil to most of the guns. When you fired a shot, your character stopped moving for a very short delay.

Items management

And I had a third issue, which was tied to how I manage the data of my items in the game (I'll probably talk about that some day, ScriptableObjects in Unity are awesome!), which means, at that time, same weapons couldn't have different... things. Like, if you shot your "kinetic pistol" and left 3 bullets in the magazine, every "kinetic pistol" in the whole game would have 3 bullets left. For that reason, weapons didn't use magazines and just used ammo from your inventory.

All of that was... not good!

Every weapon felt inaccurate and improving accuracy of a weapon rendered the dexterity stat pretty much useless and getting stopped each time you took a shot was annoying.

So, what did I do?

The good

I reworked the whole damn thing. I took a look at how other games handled those issues (mainly Enter the Gungeon and... Fortnite, yup, a third-person shooter) and I ended up adding a crosshair, which somehow fixed mostly all my issues ;)

Accuracy


I kept that idea of an "imprecision angle" but binding it to a crosshair changed everything. The imprecision is now visible, which means I can take some liberties with it and actually show it to the player.

The imprecision angle is represented by how wide the crosshair is. It gets wider when you're moving, after you take a shot and I might add the ability to hold the right mouse button to slow down and aim more precisely, I'm not sure yet.

On the left side, I'm standing still and the shot is guaranteed to touch that monster.
On the right, that's what happen when you move and just take a shot with the pistol, next shot will not be accurate (and you can see the bullet shot isn't heading to the middle of my crosshair) ;)

It progressively narrows down if you're not doing any of those things, with a minimum defined by the weapon itself (and probably some passive skill(s) that will let you improve your aim).

That way, improving dexterity for a better and quicker aim is a thing you'll want to do, but at the same time, it's possible to take a perfect shot if you want to (and have a precise weapon).

Movement


Shooting some weapons will slow you down and decrease your aim, adding more depth to fights since you have to find the best moment to shoot, take the risk to stand still to take better shots and now when to... reload your weapon...

Items management


I will not get into the technical details today but I better understand ScriptableObjects now and have gained more freedom with the game items. So, the guns now holds ammo and have to be reloaded after x shots.

Reloading a weapon slows you down.

Last words

I'll try to make a video that show all that and in a less boring way than my endless babbling :D

Edit: done ;)


See you next time!



August 3, 2018

Back to the blog! Myrne 6313 presentation


Hey guys, gals...!

I decided to get back to my devblogs! I used to write on the french version of the blog when I was working on my previous games (well, less for "Myrne: The Quest"). I decided to do that again except this time I'll mostly write on the international version, which means here ;)

Anyway, let's talk about something that's not 100% boring and self-centered.

Presenting Myrne 6313


Wait! Didn't you release this game an eternity ago?

Nope, that was Myrne 6312 (a very old and amateur project I did for the Ludum Dare a while ago)... This one is a different project. 6313 is basically "Song of the Myrne: What Lies Beneath" (if you didn't play it already, it's right here on Steam) except it takes place in space... Everything is better in space (except a lot of things, like breathing, I heard it's terrible).

Features


That means it will feature some crafting, a lot of RPG elements (since IT IS an RPG) and as usual with the Myrne games, you'll find yourself talking to complete morons while trying to achieve your less than epic goal (this time you somehow managed to crash your ship on a moon, your boss will be so happy...)

Before the weapon and aiming overall

You'll visit different moons and planets while upgrading your stuff (with no predefined classes, play as you like).

More infos, please


The game is in development for quite some time (a year, give or take) so I already released some videos showing what it will be like.

Latest screen (August 3rd)

"Check a look" at that my Youtube channel and don't forget to subscribe if you don't want to miss future videos (well, if Youtube's algorithm is okay with that, anyway)

Here's a video showing some gunplay (which changed a lot since that video :S)



That's all for today

I'll try to post here on a regular basis, don't know how often, yet.

See ya!

June 1, 2017

Myrne: The Quest - Steam release


Hey guys and gals!

My newest RPG is finally ready!

Myrne: The Quest is available on Steam.







I hope you'll like it :)



March 24, 2017

Game design: Donner du punch à vos attaques


Huh?! Why is this in french?!
I messed up in Blogger and published some posts on the wrong blog. I'm letting those posts here in case anyone bookmarked them or something... Yep :/

Salut les lecteurs (et les autres aussi) !

Aujourd'hui on va parler un peu de game design et si vous savez lire un titre, vous devez déjà savoir qu'on parlera plus précisément d'attaques. Pour une fois, je ne vais pas parler spécifiquement d'Unity, j'estime que ces conseils peuvent s'adapter partout (peut-être même en animation également, pas seulement en game design).

Concrètement, je vais essayer de vous expliquer comment donner de l'impact, du punch, de la juiciness... appelez ça comme vous voulez, aux attaques de corps à corps de vos personnages.

En gros, je vais tenter de vous expliquer ce qui fait la différence entre Dark Souls et Minecraft quand il s'agit des combats. Je suis en train de pas mal bosser sur toutes ces petites choses qui font que le personnage soit "ancré" dans l'univers, qu'il ait un poids quand il marche (au lieu de donner l'impression de flotter au ras du sol) et que lorsqu'il donne un gros coup de hache, qu'on sente le poids et l'inertie de l'arme.

Etape 0: L'observation



Ça c'est un bon conseil pour tout le processus de création de jeux en général: regarder comment les autres font.

Oui, super, merci Sherlock, et continue bien de nous faire croire que tu bosses quand tu est en train de jouer, aussi !

Tss tss tss... L'idée c'est, quand on joue à un bon jeu, d'observer comment les mecs ont fait et pourquoi (précisément) le jeu est si bien. Pas juste en se disant "ah bah leur combat est bien fluide et y'a de l'impact" mais en regardant vraiment pourquoi c'est fluide et impact...ant... En gros, passer d'une attitude passive ("je constate que c'est bien fait") à une attitude active ("quels éléments précis font que c'est bien fait ?").

Bon, voyons comment marche une attaque concrètement.

Etape 1: Diviser pour mieux régner



Une attaque ?! Facile ! Je fais un clic souris, le perso fait un mouvement avec l'arme puis l’ennemi prend le coup !

Faux.

Cette manière de voir l'attaque va vous mener directement à la méthode Minecraft (je précise que j'adore ce jeu bourré de qualités, hein, n'allez pas tirer des conclusions parce que je le prend pour exemple sur un truc qu'il fait moins bien que Dark Souls :D), ou à la méthode que j'utilisais jusqu'ici dans Myrne: The Quest (que je suis donc occupé à améliorer).

A savoir, la méthode du : Une attaque = une animation

Si on veut un truc qui ait un peu de la gueule, on va séparer notre action en plusieurs sous-actions (et au passage on devra sans doute la diviser en plusieurs animations, désolé :D).

Concrètement, une attaque c'est quoi ? Je la vois en 3 ou 4 parties (après ça peut se discuter, ça dépend de la précision et de la complexité que vous souhaitez avoir pour votre attaque). On va leur donner des noms qui claquent ;)

  • La préparation
  • L'exécution
  • La résolution
  • Le retour

Chacune de ses parties va avoir un rôle bien différent dans l'action, et le fait de bien séparer chacune de ces parties dans notre code va nous donner un contrôle énorme sur tout ce qui va se passer avant, pendant et après l'attaque, ce qui serait plus difficile, voir impossible avec une attaque faites en une seule animation/état.

On va passer chacune de ces actions en revue.

La préparation



Peu importe avec quoi on décide de frapper un truc, on va, dans un premier temps, préparer notre coup pour maximiser la force qu'on met dedans. Si on souhaite donner un coup de hache, on va lever cette hache bien haut, pour une attaque à la lance, on va d'abord la reculer, pareil pour un coup de poing, on va tirer notre poing en arrière.



Heu, oui, on s'en fout, non ?

Nope. L'avantage d'avoir séparé ça du reste de l'attaque (et donc éventuellement d'en avoir fait une animation à part) va nous permettre 2-3 trucs sympas.

La première chose c'est d'éventuellement accélérer ou ralentir cette phase en fonction de l'arme. Ça donne du poids à l'objet (c'est super important). Imaginons une attaque à l'arme contondante genre marteau ou massue. Personnellement, pour Myrne: The Quest j'utilise une animation par type d'armes (contondante, lames, perforantes,...) et en principe il n'y a aucun soucis à ça. Mais est-ce que vous ne pensez pas qu'il y a une différence entre manier ça

Petit marteau de guerre



et ça ?

Très gros marteau de guerre

Ah zut, donc il faut deux animations différentes rien que pour la préparation ?

Non. Ce qu'on peut faire c'est utiliser la même animation, mais en variant sa vitesse, donc en rendant la deuxième plus lente à lever au-dessus de notre tête. L'arme aura tout de suite plus de poids, ce sera plus réaliste et en plus ça ralentira la vitesse d'attaque avec cette arme, ce qui a du sens.

Le deuxième truc qu'on peut faire à cette phase, c'est s'arrêter à cette étape, attendre pour charger une attaque plus puissante par exemple. Je m'attarde pas trop sur ce point car on est un peu en dehors de l'ajout de punch/juiciness. Mais voilà, si vous voulez un gameplay où on peut charger les coups pour faire plus de dégâts, le découpage de votre attaque sera nécessaire.

Idem pour la troisième possibilité, c'est qu'on peut par exemple, comme dans Chivalry, annuler l'attaque durant cette phase (après c'est un peu tard vu que l'arme sera emportée par la force du coup et difficilement arrêtable).

L'exécution et la résolution



Voilà, le coup part pour de vrai !

Pas grand chose à dire sur l'exécution, concrètement c'est le moment où l'arme passe d'une vitesse nulle à sa vitesse maximale (le marteau tombe, la lance est propulsée vers l'avant,...). Générallement on va ajouter quelques effets ici pour donner de la présence à l'arme. Je m'étend pas dessus car c'est ce que vous faites rpobablement avec vos attaques en une seule animation: un son "woosh", un petit effet visuel de déformation de l'air,...

Là où les choses deviennent très intéressantes c'est lors de la résolution. C'est ici que le coup prend effet. On a touché quelque chose ? Si oui, quoi ? Et il se passe quoi ?

C'est ici qu'on va vraiment pouvoir ajouter autant de complexité qu'on veut. Si vous visez la qualité Dark Souls, Vermintide ou Chivalry, vous allez vous amusez. Il y a un million de trucs à faire, à voir ce qu'on a le temps (et l'énergie) de faire ou non.

La bonne nouvelle c'est qu'en divisant notre action en différentes parties, on s'est donné la possibilité d'implémenter des trucs petits à petits. Chaque détail que vous ajouterez améliorera la qualité de votre attaque, mais si vous ne faites pas un truc, ce sera facile de revenir l'implémenter par la suite, là où avec une animation unique d'attaque, venir ajouter de la complexité nous forcerait à refaire toute l'animation.

Oui bon, on a compris. On peut faire quoi alors ici ?

On peut déjà commencer par regarder si on a touché ou non un truc avec notre attaque :


  • J'ai raté mon attaque !
Pas de chance... Mais c'est intéressant parce que notre arme ne va pas se comporter de la même manière que si on avait touché un truc. Elle va en fait probablement se comporter comme elle l'aurait fait si on l'avait créée en une seule animation. Elle continue son mouvement jusqu'à la fin de l'animation.
  • Ah non, c'est bon, j'avais touché un truc en fait !
Ah bah super ! Si c'est un ennemi, il émet un cri de douleur (si c'est un rat il couine, un paysan poussera un grognement,...), l'arme fait aussi un bruit (*pof* pour un marteau, bruit de coupure pour une épée,...), du sang gicle,...

Ce qu'on a touché n'était pas vivant ? C'est l'occasion d'ajouter du réalisme, et surtout de montrer que l'arme existe vraiment dans le jeu ! Elle va faire *toc* contre une surface de bois, et à la place de la giclée de sang, on peut utiliser un système de particules pour qu'il y ait des éclats de bois. On peut même ajouter un décal (une texture) sur l'objet pour montrer que notre arme l'a abîmé (trace de coupure, de coups,...).

A noter qu'on peut aussi s'adapter au point touché sur l'ennemi, ok, on l'a touché, mais où ? Dans la tête (Vermintide rend très bien l'effet *sprotch* d'un coup de marteau de guerre sur une tête d'homme-rat) ? Sur l'épaulière en cuir (*pof*) ? Sur son casque métallique (*cling*). Les possibilités sont quasiment infinies.

Et en ce qui concerne le fait d'avoir heurté un truc avec notre arme, c'est important de noter qu'on a... ben... heurté un truc avec notre arme !

Alors je sais pas chez vous, mais perso moi quand je frappe un outil contre une surface, l'outil s'arrête ;)

Et ça c'est super important ! Si votre système d'animations vous le permet (ce qui n'est malheureusement pas le cas du mien, je suis pas super doué en anim^^'), ça peut être super d'arrêter l'animation (enfin, la partie "résolution" de votre anim) ici. Ça va ajouter de l'impact au coup.

Puisque je ne fais pas ça, à la place je vais attendre la fin de mon anim et laisser l'arme figée en position de fin (hache vers le bas, lance vers l'avant,...) quelques instants avant de passer à la phase suivante. Ça marche aussi. L'idée c'est de vraiment montrer que vous avez donné un coup avec une hache, le corps prend un moment pour se ré-équilibrer, la hache reste plantée un moment dans l'objet,...

Je ne sais pas encore si je vais laisser l'arrêt quand on ne touche rien, probablement pas

Et voilà. Je pense que c'est tout pour cette partie.

Le retour


Comme son nom l'indique, cette dernière étape est le retour à l'état initial de l'arme. On a donné notre coup de hache, qui est maintenant tournée vers le sol. On va simplement la remonter pour pouvoir recommencer le cycle lors d'une prochaine attaque ;)

Comme pour "la préparation", on pourrait ralentir ou accélérer l'animation selon le poids de l'arme et le résultat (résolution) de l'attaque. Relever une petite hache à une main qui a raté son coup ira vite, déplanter une lance du corps d'un ennemi beaucoup moins.

Ah mais c'est fini, alors ! Cool !

En fait ça dépend du niveau de complexité voulue et de comment s'est terminé votre phase de résolution. C'est tout à fait possible de juste remonter notre hache et pas trop s'embêter avec des détails.

Mais laissez-moi vous parler de l'équilibre du personnage, juste au cas où vous voulez le top du top niveau qualité.

Ici les choses deviennent un peu plus compliquées/complexes parce qu'on va toucher au gameplay et qu'on va ajouter des animations en plus, je ne vous en voudrai pas si vous évitez de toucher à ça dans un premier temps (n'oubliez pas, on peut toujours repasser dans un an pour mettre le jeu à jour, quand on a un peu plus de temps pour les détails^^).

Il y a certaines actions dans une attaque qui vont déséquilibrer le mec qui porte le coup. Je pense à deux cas en particulier :
  • Frapper un mur (ou un mec en armure de plates avec un bâton en bois, par exemple)
L'arme va rebondir et probablement déséquilibrer le personnage vers l'arrière. C'est ce qu'il se passe dans Dark Souls par exemple et bien adapter son arme à l'endroit où on combat fait partie intégrante du gameplay (agitez une épée dans un couloir étroit c'est pas le top). Concrètement on part sur une animation de déséquilibre et sur un petit temps pendant lequel notre perso ne pourra rien faire le temps de retrouver l'équilibre...
  • Frapper dans le vide
Un peu pareil sauf qu'on va plutôt trébucher vers l'avant. L'animation sera différente et si vous décidez de mettre un temps de "ré-équilibre" pendant lequel le perso ne peut plus faire d'action, c'est une bonne idée de prendre en compte le poids de l'arme (frapper dans le vide avec une claymore ou avec une dague, ça n'a pas le même effet).

Ce genre d'animation est assez complexe à la troisième personne je pense (surtout pour ne pas traverser le mur^^). En vue première personne il s'agit simplement de "pousser" l'arme en arrière/avant et éventuellement relever/baisser la caméra.


Et je pense que c'est à peu près tout pour "le retour". Notez qu'en arrivant à ce stade et en ayant tout fait, on a plus besoin de coder de cooldown (temps d'attente avant de pouvoir attaquer de nouveau) arbitraire à nos attaques, on a eu des temps d'attentes un peu partout en fonction du résultat de l'attaque et au final le cooldown correspondra vraiment à la physique de l'objet et de l'attaque.

On conclusionne ?

Conclusion


Comme je vous ai dis, je pense qu'il n'y a pas vraiment de limites à ce qu'on peut faire, si ce n'est le temps et la complexité voulue.

Mais ce qu'il est important de noter c'est que rien de tout ça n'est compliqué en soi !

On peut vite se laisser impressionné par des jeux comme Dark Souls, Vermintide ou Chivalry (à juste titre, ces jeux ont vraiment un système de melee remarquable) mais ce qu'il ne faut pas faire c'est se heurter au mur du "pfouu, c'est trop dur et les mecs sont 50 pour faire ces jeux, moi je suis juste un petit indé".

Quand on prend le temps de vraiment regarder dans le détail ce qui constitue ces jeux et leur système de combat, on se rend compte que c'est tout un ensemble de petits trucs qu'il est très simple d'implémenter dans nos petits projets indés.

Alors oui, vos animations ne seront peut-être pas aussi fluides que celles de Dark Souls, vos coups de marteau aussi satisfaisants que ceux de Vermintide, mais rappelez-vous qu'entre ces jeux et Minecraft, il y a tout un monde et qu'on est pas soit d'un côté soit de l'autre, il y a tout un milieu. Je ne veux plus voir d'animation d'attaque consistant en un bras qui fait une rotation de 90 degrés :)