Devlog #7 - En route vers la dernière étape!
HydroGene Il y a 2 ans Premium Pro à vie10

Salut! J’espère que vous vous souvenez encore de moi, ça fait un bon moment que je n’ai pas rédigé de Devlogs, du coup vous allez avoir un sacré roman à lire vu tout le temps qui s’est passé depuis le dernier! Mais promis je vais (essayer) d’aller vers l’essentiel et j’en profite aussi pour vous donner tout plein de petites astuces pour vos jeux! (Du moins à mon échelle) 🙂

Pour pouvoir reprendre bien comme il faut, j’ai dû relire mon propre ancien devlog, et bah purée, vous en avez du courage, c’était super long! J’espère que vous aller en avoir encore pour celui-ci 😀

Sommaire:

  1. Avancement du jeu
  2. Affrontement de boss
  3. GUI
  4. Diversification du Gameplay
  5. Organisation et Planning
  6. Quelques chiffres
  7. Regard vers l’Avenir

Ce devlog sera très orienté gameplay, ça tombe bien, c’est ce que je préfère le + dans la programmation de jeux-vidéo et je veux rester sur du positif pour ce devlog!

Nouveau Logo pour le titre héhé!

I – Avancement du jeu :

La dernière fois je vous avez laisser sur le fait que je débutais la seconde zone du jeu, la Laser Zone. Il se trouve que depuis tout ce temps, je l’ai terminé mais pas que… j’ai terminé toutes les zones du jeu! (Il me manque plus que 3 niveaux à faire et j’ai fini!). Je me vois bien terminer le jeu entièrement cette année.

Un des points important aura été de faire vivre toutes ces zones, surtout que dans ATSN (Always The Same Nightmare), l’intégralité du jeu se déroule en souterrain, car justement, le but final c’est de pouvoir retrouver le monde extérieur.
Pour donner de la vie, il faut peupler ces différents endroits, en y ajoutant de nouveaux monstres, de nouveaux pièges. Ce qu’on à souhaité faire c’est que le jeu reste agréable à regarder quelques soit les circonstances, et ce n’est qu’en passant du temps sur le polish qu’on peut y arriver. Allez, voici un peu de concret, je vous ai pris des petits .gif de chacune des zones :

 

 

Si je peux vous donner un conseil, que ce soit pour vos Game Jam ou vos projets personnels, si il y a bien quelque chose qui peut faire la différence parfois, c’est le travail sur le polish.
Vous pouvez avoir un concept très simple, mais avec une bonne quantité de polish (sans non plus que ça aille dans l’exagération), ça va vous permettre de vous démarquer, en plus vous savez déjà le faire si vous avez suivi la formation, et c’est pas forcément compliqué de les faire, c’est surtout que ça prend du temps, mais le résultat en vaut le coup!
Voici, un petit listing d’effets de polish un peu passe-partout pour vos projets, si jamais ça peut vous servir :

  • Camera Shake (2 ateliers en parle) : ça permet de donner de la puissance et de la force à quelque chose (Impact, Coup, Dégats, …)
  • Camera Flash : ça permet de surprendre le joueur (Situation d’urgence, de gravité, Déclenchement de quelque chose)
  • Camera Fade : ça permet de faire des transitions entre deux scènes de votre jeu (Par exemple sur le menu on appuie sur le bouton Play pour aller vers le Jeu, et il y a un fondu en noir de manière souple qui va de l’un vers l’autre)
  • Particules (1 atelier en parle) : ça permet d’amplifier une certaine action ou de donner de l’importance à quelque chose, c’est bien plus visuel pour le joueur (Par exemple quand on dois ramasser un objet important, on peut faire briller des particules autour de cet objet)
  • Tweening (1 atelier en parle) : un fondamental pour tout les éléments qui doit se déplacer! (Par exemple pour faire apparaitre les différents boutons de GUI sur votre écran de menu de jeu de manière souple)
  • Trail Effect : Permet de donner une sensation de vitesse à quelque chose (La technique consiste à redessiner le même sprite à ces anciennes positions mais avec un alpha plus petit, je vous assure que c’est pas compliqué, j’en parle ici, dans un ancien Devlog consacré à mes outils MonoGame https://www.gamecodeur.fr/devlogs/56273/)

Ce n’est qu’une petite liste, il y a bien sûr d’autres effets possible, mais tout ce dont je vous ai cité sont accessible même pour des débutants. Par exemple, le Camera Fade, c’est juste dessiner un Rectangle qui prend la taille de la fenêtre de votre jeu auquel on fait diminuer l’alpha de 1 vers 0, c’est tout! Cet effet ainsi que le tweening, n’hésitez vraiment pas à en mettre partout, ça donne réellement une sensation de souplesse, ça rend votre jeu très agréable à suivre. Cependant, le Camera Shake et le Camera Flash, ce sont des effets super cool, mais il ne faut pas en abuser (J’ai moi-même du mal à bien les doser ces deux-là) depuis que je les ai découvert grâce à Haxeflixel.

II – Affrontement de boss

Bref, revenons au coeur du sujet. J’ai également coder presque tout les boss du jeu, il me manque plus que le boss final héhé! Concernant les boss, c’est vraiment pas compliqué à faire aussi, c’est juste l’atelier IA de la formation! (Oui celui avec les zombies, quand je vous dis qu’on à vraiment tout dans la formation pour faire un jeu, je mens pas!)
Il y a une série de patterns à coder, et on dit au boss : tu fais d’abord ça, puis ça, puis ça, puis tu recommences… et pouf ça fait des chocapics, on à un boss de fin de zone!

Chaque boss à sa particularité en plus d’avoir une série de pattern:

  • War Machina inverse la caméra (Je sais qu’il vous à bien agaçer celui-là pour ceux qui ont joué à la démo haha :p)
  • Cruel Nebula se protège avec un bouclier et il faut utiliser le fusil à pompe pour le briser

  • Beast devient le centre d’intérêt de la Caméra, attention à ne pas perdre notre personnage de vue!

  • Faust, l’avant-dernier boss du jeu, suivant la logique indiqué par l’histoire (attention spoiler) : Utilise toutes les capacités des boss précédents!

Etant donné que j’ai acheté les assets sur le net, il n’y a pas toujours les animations que j’aurais souhaité, et c’est pas avec mon budget d’argent de poche d’étudiant que je vais pouvoir avoir des créations unique pour mon jeu, alors à la place, je fais avec ce que j’ai, et j’essaye de trouver des astuces pour avoir des boss qui offre du gameplay varié sachant qu’ils possèdent parfois seulement une animation IDLE (position sur place qui ne bouge pas), comme Faust par exemple.

Pour ceux qui chercherais des assets payant mais de bonne qualité, voici mon site de référence : https://www.gamedevmarket.net mais j’imagine que beaucoup d’entre vous le connaisse déjà, David à fait une vidéo dédié où il mentionne différents sites équivalent à celui-ci.

III – GUI

Bouark, la GUI… horreur de coder ça, mais je suis obligé d’en parler, parce que c’est important! Suite au retour de XPLoading, une équipe géniale de Game Designer, qui ont passé au crible toute la version qu’on leur avait livrer, nous as fait corriger certains points clé du jeu:

  • A commencer par l’écureuil qui se moque de vous à chaque fois que vous mourrez : Je l’ai rendu moins ennuyant :p Il parle beaucoup moins désormais. Et continue toujours de vous donner des conseils de temps en temps quand vous mourrez trop sur un obstacle particulier du niveau.
  • Les settings ont été intégré directement depuis l’écran pause In Game plutôt que de devoir retourner dans le hub central du jeu à chaque fois.
  • Le petit ordinateur dans la Timeless Room (le hub central) permet de changer les touches clavier/manette, c’est quelque chose qui avait souvent été demandé. Mais permettra aussi de saisir des mots de passe… peut être des références à Gamecodeur en perspective 😉
  • L’écran de level up à été entièrement refait, maintenant quand on monte de niveau, c’est le joueur qui choisit quand est-ce qu’il veut améliorer son arme et ça se fait de manière dynamique. Toute l’interface et la transition à été refaite aussi par la même occasion.

  • L’ajout d’une touche permettant de changer de zone d’un seul coup, plutôt que de devoir survoler chacun des niveaux avant d’atteindre la flèche de droite/gauche dans le Level Select.

  • La refonte du Shop, passant d’un long couloir à parcourir à pied à une interface plus facile d’accès, un peu comme une boutique dans un RPG à l’ancienne

IV – Diversification du Gameplay

La première chose qui vient faire diversifier le gameplay du jeu, c’est les armes: L’arme de base c’est le pistolet classique, il permet de tirer droit devant soi, c’est l’arme qui possède des attributs plutôt homogène, il est ni trop fort, ni trop faible, c’est le juste milieu, pratique dans beaucoup de situation.

La deuxième arme que l’on obtient en battant le 1er boss, c’est le fusil à pompe: Son défaut c’est qu’il ne contient que 2 balles dans le chargeur, mais par contre il fait terriblement mal! Il y a aussi la possibilité de laisser la touche enfoncé pour charger une grosse attaque (Merci au jeu Mega Man pour cette inspiration 🙂 )

Enfin, la dernière arme que l’on peut obtenir c’est… un boomerang. Oui, après un fusil à pompe, c’est un Boomerang! Sa particularité c’est qu’il est très rapide, se recharge vite et permet de frapper le même ennemi plusieurs fois tant qu’il le touche, et fais même des dégats sur le retour. Par contre, il ne frappe pas fort du tout. Quand le boomerang est pleinement chargé, c’est un boomerang géant qui est envoyé à la place et peut détruire les projectiles ennemies!

Encore une fois, si vous pensez que c’est compliqué de faire tout ça… et bien figurez vous que non! C’est accessible pour tout le monde : Vous avez fait l’atelier shooter? Alors c’est bon, vous pouvez gérer n’importe quel types d’armes que vous voulez, c’est le même principe tout le temps!

La deuxième chose qu’on à fait c’est de surprendre le joueur et venir interrompre sa session de jeu classique par un évènement spécial, comme par exemple:

Une course-poursuite en jetpack contre le boss de la zone qui est devenu géant ou encore une bataille en 1 contre 1 en sous-marin anti-lave!

Mais je vais conserver un peu la surprise en ne vous le montrant pas! (En fait, la vrai raison c’est que je ne retrouve plus mes captures sur le sujet…)

V – Organisation et Planning

Je tenais dans cette partie à vous expliquer comment je travail sur ATSN, je me dis que ça peut être intéressant d’en parler, je ne suis pas non plus expérimenter mais pourtant j’arrive à avancer et à ne pas lâcher prise sur un projet de cette taille.

Un gros défaut que l’on à tous, c’est de ne pas finir quelque chose qu’on à entamer, et pourtant si je veux le commercialiser ce jeu, je n’ai vraiment pas le choix! Ce que je fais, c’est que je me fixe des mini-objectifs à atteindre chaque semaine. ça arrive même qu’il y a pas grand chose qui à été fait, parce qu’à côté j’ai les cours de la fac, ou même, soyons honnête, j’ai pas envie quoi! C’est pour ça que j’ai la branche musicale sur le côté, quand je sens que j’ai pas envie de coder, alors je fais une musique pour le jeu. Je pense que ça peut être une bonne chose de faire une deuxième chose, en plus du code. Mais il ne faut pas que cette deuxième chose prenne le pas sur tout le reste. Pour moi, créer les musiques pour mes jeux ou ceux des autres quand on me le demande, ça me vide l’esprit, ça me remet bien pour coder après.

Il m’arrive aussi de suivre un trello quand j’ai beaucoup de choses à réaliser ou bien quand je sens qu’il y a des choses que je risque d’oublier si je ne le marque pas quelque part. Au lancement du projet, j’étais très carré sur le trello, mais après quelques mois, j’ai commencé à le délaisser parce que je savais bien quelle ligne directrice suivre, et puis j’ai mon ami maintenant qui est là pour me rappeler ce que je dois faire et qui me permet de garder le cap.

Attention, je ne suis certainement pas un exemple à suivre au niveau de l’organisation, à mon avis c’est essentiel d’entretenir ce genre de chose : c’est juste que parfois, j’ai l’impression de perdre plus de temps à aller écrire ce que je dois faire sur un trello, plutôt que d’aller le faire pour de vrai, alors je fais l’impasse et je le fais direct… comme ça j’ai pas besoin d’écrire que je dois le faire, parce que c’est fait 😀 Ouais, je suis un flemmard, mais on va dire que c’est dans le bon sens ce coup-ci hein!

En tout cas, quand je fais un trello, c’est une petite astuce d’auto-motivation qui marche bien chez moi, vous pouvez toujours essayer si ça vous parle : C’est que je détail vraiment beaucoup ce que je dois faire. C’est à dire, que je vais décomposer une tâche en plein de petite sous-tâche dans le trello, comme ça, à chaque sous-tâche je peux le cocher en vert pour dire que c’est fini, et le simple fait de voir que dans la liste, il y a beaucoup de vert, ça me donne la sensation d’avoir fait énormément de choses et ça me motive pour la suite.

De plus, je sais que beaucoup d’entre vous qui utilise trello, vous l’organisez de la façon suivante : Travail à faire / En cours / Terminé. Et chaque tâche se trouve dans une de ces 3 catégories selon l’avancement.

Personnellement, ça marchait pas trop pour moi cette organisation, à la place, j’ai un loooong trello découpé semaine par semaine, et avec dedans toutes les tâches à faire dans la semaine, et quand je lui met une étiquette « verte » ça veut dire que c’est fini. Ce qui fait, encore une fois, quand j’ouvre mon trello, je peux parcourir une grande fenêtre de toutes les semaines passés, et ça me donne une sensation de : « Ouah j’ai super bien travaillé, faut que je continue comme ça! ». C’est juste un moyen pour m’auto-persuader que j’avance bien comme il faut, c’est peut être pas la meilleure solution pour gérer un projet, j’en sais rien à vrai dire, mais mine de rien ça me motive de voir ça, c’est peut être débile vous me direz, mais faut croire que ça marche chez moi.

VI – Quelques chiffres

Voici quelques chiffres en rapport avec ATSN au moment où j’écris ces lignes, si ça peut vous donner une idée du travail réaliser jusqu’à maintenant:

  • Le poids du jeu est de 302 Mo en décompressé, et ne risque pas de devenir trop obèse, j’ai déjà quasiment tout mes assets!
  • 36 Niveaux de terminés (Level Design + Gameplay)
  • 4 boss de terminés
  • 19 musiques dans la Soundtrack
  • Et exactement… 34 748 lignes de code au total (en enlevant toute ma mini-lib), donc c’est uniquement le nombre de lignes de code du jeu en brut. Dont 5707 lignes pour la scène la plus grosse : La Scene Game!
  • 9999 bugs de corrigés (estimation…)

VII – Regard vers l’avenir

J’en profite pour vous dire que je participe à la Game Cup, vous savez, le super concours de Jeux-Vidéo organisé par KissKissBankBank. Notre ami S3rv@l en à fait un devlog qui l’explique plus en détail https://www.gamecodeur.fr/devlogs/62146/

Je suis prêt à toutes les éventualités quelque soit le résultat. Si je gagne, ça sera un grand bond pour mon jeu, si ce n’est pas le cas, je continuerais sur ma ligne directrice originale. Dans tous les cas, je vais faire ce que je peux pour le commercialiser, c’est le but que je me suis fixé et je vais m’y tenir coûte que coûte!

Ce que j’ai mis en valeur dans mon dossier pour la Game Cup, c’est le concret que j’ai, et je mise tout là dessus. Pour faire simple: « Voilà ce que j’ai en ce moment, voilà ce qu’il me manquerait pour que ce soit parfait », je n’ai pas voulu être dans l’hypothétique, et de dire que « j’aimerais » faire un jeu comme-ci comme ça et qu’il faut imaginer les features, ça non! Mais plutôt que j’ai déjà mes features, tout ce que je souhaite avoir dans mon jeu, je vous prouve avec du réel que je sais le faire, mais j’aimerais pouvoir améliorer tout ça si les choses se passe bien pour moi. On verra bien, si cette méthode un peu audacieuse fonctionne… mais je vous avoue que je stresse…

J’ai longtemps douté de soumettre ATSN pour la Game Cup, je me disais que c’était pas suffisant ni assez ambitieux comme projet pour un concours aussi impressionnant, puis finalement, on s’est dit qu’il fallait le tenter malgré tout!

Par contre, je fais une parenthèse, pour vous dire que je ne suis pas le seul de mon équipe DreamVeloper à participer à la Game Cup. En effet, mon cousin, celui avec qui je fonderais mon studio un jour, participe lui aussi avec son propre projet. Un platformer rétro style Game Boy respectant du mieux que possible les contraintes de la machine de l’époque (Dont j’ai fais la soundtrack entière d’ailleurs!).
Je vous met le lien de son trailer ici, il y a travailler d’arrache-pied, il est exactement comme moi et à tout fait en pure code avec Ruby et un framework hyper léger comme Love2D qui s’appelle Gosu, voici le lien de son trailer: https://www.youtube.com/watch?v=yXoblibEDys
Il ne fais pas parti de la formation pour l’instant, mais on travaille souvent ensemble en Game Jam ou ce genre de projet justement, et il suit exactement les mêmes préceptes que Gamecodeur, il à exactement le même état d’esprit et c’est ce qui fait qu’on travail super bien ensemble.

On atteindra notre rêve un jour de pouvoir créer notre studio, c’est pour ça que notre studio se nomme comme ça: DreamVeloper, fusion du mot Dream et Developer 😉

En tout cas, croisons les doigts pour la Game Cup, résultat le 5 Mars!

Conclusion

J’ai essayé à travers ce devlog, pour ceux qui sont plus débutants que moi ou les plus hésitants, qu’il ne faut pas croire que tout est insurmontable. La formation nous donne vraiment toute les clés pour réussir, concrètement ATSN c’est juste une application de tout les concepts fusionné dans un seul projet, les Game Jam vous permet de les mettre en pratique aussi, alors ne sous estimez pas l’importance de ces événements là.

Il faut vraiment que vous croyez en vous comme le dit si bien David, c’est possible, pour de vrai! Je n’ai moi-même encore rien accompli jusqu’à maintenant pour avoir l’audace de vous dire ça, mais vu à quel stade en est le projet, je ne peux plus reculer. Bien sur que j’ai peur de la commercialisation et du retour des gens, mais une promesse est une promesse même si je l’ai faite à moi-même au départ, je vais le vendre malgré mes doutes, mon manque de confiance et mon ignorance.
Je suis en quelque sorte le sujet-test de cette grande expérience… que ce soit un succès ou un échec, vous serez au courant, je ne vous ai jamais rien cacher jusqu’à présent. J’aimerais beaucoup que parmis vous, vous ne fassiez pas les mêmes erreurs que moi lorsque vous mettrez votre jeu en vente, c’est pourquoi je vous dit tout.

Avant de vous quitter, et parce que vous avez pris la peine de me lire jusqu’ici, voici en bonus la musique de la dernière zone du jeu!

Le jeu sera présenter durant l’Indie Game Nation le 7 et le 8 Mars, je ne serais pas présent, mais mon ami oui, et pareil pour la Rétro Game Play quelques jours plus tard!
Je vous remet ici le lien de notre Twitter, c’est là bas qu’on partage le + d’infos concernant nos jeu : https://twitter.com/dreamveloper

ça me prend vraiment beaucoup de temps d’écrire ce genre de devlog, je ne sais donc pas quelle sera la date du prochain, en tout cas vous savez où me trouver 😉

Allez, bon code à tous et courage à ceux qui font la jam en ce moment!

Comments (10)

Super, devlog.
sa fait plaisir de voir ta progression et on espérant que tous ce passe bien jusqu’à commercialisation du jeu.
Essaye de moins stresser en essayant de le voir différemment, sa peut parfois te poser des jugement trop négatifs où autres(Je sais que c’est dur, mais essaie de te rendre compte sur le moment que tu fais une erreur du au stress.)
En tous cas bravo et continue.

Merci lecricreator! Je suis content que ça t’ait plu 🙂
Mais oui, c’est vraiment très difficile de pas stresser, j’ai toujours été comme ça quelque soit la situation (C’est d’ailleurs pour ça que je me ronge souvent les ongles…), je veux que les choses se passe du mieux que possible, et quand on est en territoire inconnu comme ça, c’est limite impossible pour moi. En + quand à côté il y a les cours à gérer, c’est vraiment pas évident du tout.
Encore merci pour ton message!

Merci de prendre le temps de partager avec nous l’avancement de ton magnifique projet.
Il y a vraiment un énorme travail de réalisé avec un réel soucis du détail et ça se voit.
Je suis fan et j’attends avec impatience la sortie de ATSN.

C’est vraiment cool de nous faire profiter de tes petites astuces, je ne connaissait pas le camera Flash et le Trail effect, qui rendent vraiment bien et que je vais étudier d’un peu plus près^^.

La seule remarque que je peux faire et qui pourrait peut-être être amélioré, c’est la gestion de la lumière, par exemple sur les torches qui ont halo fixe et qui pourrait légèrement osciller (à l’aide d’un random sur leur position ainsi que sur leur valeur d’alpha, rendrait les halos des flammes plus vivantes.
Dans la même idée peut être que de rajouter un layer rouge plus large sur les lasers avec un alpha dessus pourrait donner un effet de luminosité sympa sur les rayons lasers.

En tout cas un immense bravo à toi et courage pour la dernière ligne droite.

Merci à toi d’avoir lu tout ça Shaman77, ton retour me fait super plaisir 🙂

Pour le trail Effect, il y a The Coding Train qui en à fait une vidéo aussi, il faut juste suivre son cheminement et le reproduire dans un langage que tu utilise, et tu as ton effet: https://www.youtube.com/watch?v=vqE8DMfOajk

Je prend tes idées, je vais essayer d’améliorer tout ça. En tout cas ton message est super motivant, merci beaucoup!

Merci Raphytator! Je vous tiendrais au courant des résultats de la Game Cup (Mais la compétition est vraiment très rude, il n’y a qu’à voir rien que chez Gamecodeur, les élèves qui y participent mettent la barre très haute).
Content que la musique te plaise, ça me prend pas mal de temps de trouver suffisamment d’idées pour que ça dure plus de 2min.
Merci pour ton message, ça fait plaisir! 🙂

Belle musique chapeau 🙂

C’est vrai que l’atelier Zombie qui parait simple à première vue permet d’avoir de solides bases pour maîtriser l’Intelligence Artificielle.

Robbygame

Merci beaucoup Robbygame!
Yep, on peut décliner l’atelier Zombie de plusieurs façons, j’ai choisi de coder mes boss en prenant cet atelier comme base, mais il y a certainement plein d’autres utilisations possible. C’est un bon premier pas dans l’intelligence artificielle effectivement 🙂

Bonjour Hydrogene,

Merci beaucoup pour ce devlog, je suis heureux de voir que tu as finalement déposé ta candidature à la GameCup.

Je suis certain que tu seras dans les 8 projets sélectionnés, c’est obligé !

Je crois tous les doigts, y compris ceux des pieds 😀

Je vais surveiller le site de la gamecup cette fin de semaine.

Bon code à toi.

S3v@l

Salut S3v@l, c’est gentil à toi, je pense même que tu es bien plus confiant que moi pour la Game Cup, ça serait un miracle si je termine dans les 8 projets sélectionnés, On verra bien!
Dans tout les cas, ça serait top d’avoir au moins un élève de Gamecodeur parmis les finalistes 🙂

Merci d’être passé !

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.