Si vous vous retrouvez sur ce blog, c'est que vous êtes très probablement tombé sur mon post Facebook concernant l'annonce de mon projet de jeu vidéo ! Sinon, aucun soucis, vous êtes quand même le bienvenu!
Don't wanna be here? Send us removal request.
Text
Ce n’est pas mort! Je suis toujours absent!
Et bien! cela faisait longtemps que je n’avais pas rédigé, pour cause : je suis toujours en déplacement professionnel et les horaires et la canicule actuelle ne me donnent ni le temps, ni l’envie de programmer. Néanmoins, les idées elles prennent forme sur papier !
Il y a quelques temps je parlais d’un système de cartes à intégrer dans le jeu afin de faire varier l’expérience et le gameplay du joueur et cette approche tend à se développer sous une forme qui je pense est assez originale à savoir :
Le cumul, amène l’amélioration
Mais qu’est ce que quoi que cela veut dire ?
Vous n’avez très certainement pas pu passer à côté du nouveau jeu de Riot Games “Teamfight Tactics” qui est un autochess "echecs automatiques”, jeu ou nous devons placer des pions et créer une composition de personnages entraînant une synergie. Cumulez 3 fois le même personnage et vous obtiendrez une version améliorée de celui-ci.

Et c’est cette mécanique qui m’intéresse, même si elle s’apparente au “craft” dans notre style de jeu, je pense qu’elle sera tout de même intéressante de contraindre le joueur à préférer utiliser une carte plus puissante mais qui casse la synergie mise en place ou préférer garder sa synergie mais tout tenter afin de “dropper” la carte qui lui manque pour améliorer les diverses statistiques associées (réduction de délais par exemple...)
J’ai continué à imaginer plusieurs sorts qui auront tous des caractéristiques propres, mais peut-être que ceux-ci ne sont pas adaptés à toutes les situations ?
0 notes
Video
tumblr
Bonsoir!
Bon, je ne suis pas totalement satisfait de l’animation, plus particulièrement, les particules qui apparaissent, mais mon objectif est établi, faire un sort de soins qui fonctionne !
A compter de demain, l’avancée sur le jeu va être ralentie, en effet, raisons professionnelles obligent je ne vais pas être chez moi et donc, vais devoir stopper un peu le process de développement!
Ce n’est pas pour ça que les idées elles vont s’arrêter! Je vais quand même noter ce qui me passe par la tête, à défaut de pouvoir les intégrer, je pourrai mettre au brouillon l’idée et comment je la verrai bien s’intégrer dans le code existant!
A bientôt !
0 notes
Video
tumblr
Un petit peu de combat nocturne?
EEET OUI, le premier sort est quasiment intégré dans le jeu, un sort très classique on va pas se le cacher, mais j’en reste quand même plutôt fier de cette boule bleue (KAMÉHAMÉHA!) qui illumine son environnement et dévaste tout ce qui se trouve sur son chemin !
Encore quelques petites choses à revoir comme.... Un cooldown par exemple pour éviter de faire comme moi dans la vidéo, spammer le sort à fond!
J’en profite pour dire que si j’arrive à bien faire ce que j'imagine, le jeu sera bien plus dur que vous le pensez, je ne le met pas à un niveau de Dark Souls ou Sekiro Shadow Die Twice, mais ne pensez pas que vous allez vous retrouver avec un jeu Pokémon de dernière génération!
0 notes
Video
tumblr
Il manque quelques ajustements dans l’animation, mais ça avance plutôt bien!
0 notes
Video
tumblr
Future implémentation, les sorts d’attaque!
Un bon RPG n’est pas, si il n’est pas accompagné de sorts magiques, mais cela ne se fait pas en un claquement de doigts, il faut coder mais aussi animer !
Sans en dévoiler plus pour le moment, je tease un peu en vous disant que le système de cartes risque d’être fortement utile et ne sera pas un aspect à négliger lors de votre aventure...
Bonne route voyageur !
0 notes
Text
La Alpha_Preview_Dev sur les rails
Aujourd’hui, je me suis retroussé les manches afin de faire essentiellement de la correction de bugs et optimisation du code parce que mine de rien, cela commence à prendre pas mal de place dans l’éditeur!
J’ai surtout travaillé sur une version Pre-Alpha à faire parvenir aux personnes qui ont souhaité m’aider sur le testing de ce projet, cette version ne comporte que très peu de choses et est plus développée à titre indicatif qu’a titre de “aidez-moi à chercher des bugs”, néanmoins si il y en a qui apparaissent, un formulaire Google Forms (déjà créé, il suffit juste de le lancer) sera mis à disposition afin de me faire remonter les problèmes.
Niveau configuration de machine, je n’ai pas fait de bench, mais il ne devrait y avoir aucun problème à le faire tourner sur je pense toute machine sous Windows 10 (n’ayant pas de Mac, je ne saurai pas répondre pour le moment à ceux qui en possèdent un, je tenterai de faire un build aussi)
Ne cherchez pas le fun absolu, c’est clairement une preview version de développement qui va être propulsée, vous retrouverez une quête très simple, des ennemis qui spawnent la nuit et du loot formidable ! (des pommes!!)
Les volontaires seront très vite contactés!
Sur ce, je vais dormir, le repos est bien mérité !
Bienvenue au château Alpha! (très petit vous allez voir, petit mais mignon!)
0 notes
Video
tumblr
Aujourd’hui, on cherche la direction à prendre en fonction de la position du joueur, un peu de calcul de coordonnées et analyse! tout à l’air de bien fonctionner pour le moment!
0 notes
Text
Une gestion du LogEvent
Aujourd’hui pas beaucoup de posts, pas beaucoup beaucoup de travail non plus, obligations oblige!
Rien de bien nouveau dans le jeu ne serait-ce qu’un spawner à monstres et le cycle Jour/Nuit qui est implémenté et pourra donc, par la suite être utilisé (j’ai codé une horloge interne basée sur l’horloge interne, très simple)
Mis à part ça, l’essentiel de la journée se résume la correction de bugs et à la réflexion sur la résolution d’erreurs qui apparaissent parfois dans le LogError d’Unity
Faut-il vraiment avoir un log intégralement propre pour que le jeu soit considéré comme “fonctionnel”, certains diront que : ce n’est pas un bug mais une fonctionnalité, mais je vais pousser plus loin la réflexion par rapport aux erreurs qui retournent de mon code.
Les erreurs qui reviennent à moi apparaissent uniquement lors d’événements ou l’on supprime des objets qui ont été utilisés/détruits, en somme : qui n’apparaît plus dans la “Hierarchy”
après réflexion, j’en ai déduit que pour mon cas, je vais laisser ces erreurs et juste les masquer au lieu de les corriger mais pourquoi ?
Dans un soucis d’optimisation et de clarté (même si la finalité reste une infinité de 0 et de 1) et pour éviter de manipuler encore plus de variables que l’on a déjà j’ai décidé de ne plus régler ces erreurs sauf si elles compromettent la bonne exécution du code, mais dans le cas des messages déjà affichés, aucune n’empêche la bonne exécution.
C’est peut-être un blasphème et peut-être qu’au fur et à mesure de l’avancée du développement je changerais d’avis, mais pour le moment, tout marche très bien comme ça, et puis au final, est-ce que cela ne serait pas une fonctionnalité ? ;)
0 notes
Text
Une nouvelle journée débute!
Sans entrer dans les détails, aujourd’hui je vais m’attaquer à l’optimisation :
Le _QS (QuestSystem) afin qu’il soit complètement fonctionnel à besoin d’une révision afin qu’aucune de ses variables ne se perdent au milieu des centaines d’autres, je réfléchis donc à un moyen d’uniformiser tout cela et bien prioriser les scripts et leur ordre exécution!
0 notes
Text
Fini pour aujourd’hui!
Je rédige ce petit billet pendant la mise à jour du projet sur le serveur Unity Collab, et vient en quelque sorte sceller cette journée de travail sur le projet, un peu moins chargée qu’hier, mais néanmoins l’implémentation de petits repères visuels et corrections de bugs sont de la partie!
Le QuestSystem commence à prendre forme
L’IA gagne (un peu) en logique (elle ne confond plus joueur et objet au sol ^^’ )
Le joueur gagne des statistiques de coups critiques
Des retours visuels sont mis en place afin d’indiquer au joueur ce qu’il se passe à l’écran
Peut-être d’autres corrections par ci par la, j’ai pas pensé à tout noter!
Bonne nuit!
0 notes
Text
Un système de cartes à la place d’un arbre de compétences ?
Je me détendais sur une petite partie sur un jeu pas trop connu qu’est Heartstone qui à ouvert au grand public ce genre de jeux qui est donc le DCCG (Digital Collectible Card Game)

Pour résumer le principe aux néophytes, il s’agit simplement d’un jeu de cartes avec un deck construit par le joueur, une main, une pioche, un “board” mais aussi, un ennemi qu’il faudra détruire en abaissant son nombre de points de vie à 0 avec l’aide de serviteurs et sortilèges ayant chacun des spécificités telles que leur coût en “cristaux de mana”, leur attaque, leur point de vie mais aussi leur effets (effet quand la carte est jouée, est détruite, si une autre carte de la même classe est jouée, etc etc etc...).
Même si le jeu est accessible à tous, il faut tout de même s’armer de patience, réflexion et logique afin d’obtenir un effet surpuissant : la synergie
Récemment, un jeu est apparu sur consoles et PC (Switch pour ma part) nommé, Slay the Spire qui reprend les mêmes codes qu’un DCCG mais sous la forme d’un battler tour à tour (tel que les combats dans les jeux pokémon par exemple) ou le joueur, devra vaincre de ses ennemis via un deck qui se construit au fur de son avancée dans les donjons et dont les cartes seront jouées en combat (la photo ci-dessous sera peut-être plus parlante)

Mais quel rapport avec notre jeu me direz-vous?
Sous réserve d’arriver (à coder évidemment) à créer diverses cartes avec une synergie qui agissent sur les statistiques du joueur (vitesse, attaque, resistances...), et au lieu de partir sur un arbre de compétences vu et revu, je pense sincèrement qu’intégrer la notion d’aléatoire dans le butin des monstres et de donner les cartes au joueur afin qu’il adapte son style de jeu avec les cartes qu’il aura acquise lors des quêtes, ou peut-être la carte très rare qu’il aura acquise sur un boss ou un monstre égaré.
Un peu à l’image du jeu Sid Meier’s Civilization, ou en fonction de notre avancée dans le jeu, nous débloquons plusieurs patterns de “Gouvernements” qui donnent le droit à des nombres précis de cartes de certaines classes
Je vais pas vous cacher que j’ai écrit ce billet afin de “réfléchir à haute voix” sur ce qui est envisageable, je le note sur un post-it et quand le moment sera venu, je plancherais sur la question
0 notes
Video
tumblr
La nuit tombe! Il faudra peut-être envisager de l’éclairage ?
0 notes
Text
Mettons le _QS au clair!
2Mais qu’est ce que c’est que quoi que qu’est-ce le _QS?
Le _QS pour QuestSystem est mon système de quêtes qui comme je l’ai annoncé, a vocation à devenir un générateur de quêtes sans fin.
Mais pour que cela soit possible il faut néanmoins que le code initial soit en mesure d’accueillir au maximum cette potentielle future implémentation et cela commence par une étape essentielle : Rendre les quêtes uniques.
Mon _QS fonctionne simplement, l’on retrouve une fonction Checkquest(ID) qui va envoyer l’ID de l’ennemi qui vient d’être tué, la zone explorée, l’objet ou le personnage interagi... à la vérification des quêtes. EXEMPLE!
Si la quête demande de tuer un monstre je dois assigner un identifiant au squelette (ici ID = 1)
Une fois que le monstre est tué (et uniquement à ce moment là) il envoie son identifiant au _QS qui lui enverra un message à toutes les quêtes actives pour qu’elles lui répondent “Oui c’est bien moi” ou rien du tout.
Il faut donc, trouver un moyen d’identifier les différents objectifs possibles dans les quêtes et les actions associées, dans une quête comme dans quasiment n’importe quel RPG nous avons quelques actions d’accomplissement principales qui sont :
Tuer des ennemis
Explorer une zone
Interagir avec un objet/personnage
Le but est donc de créer une valeur propre aux ennemis, zones... valeur (identifiant) qui permettra la vérification des quêtes. un peu comme un numéro de sécu! (le premier chiffre correspond au genre de la personne et bla et bla et bla...) on va commencer petit avec un identifiant à 5 chiffres ce qui donne théoriquement : 4 + 10^5 = 100004 objets différents, ce qui sera amplement suffisant pour le moment, et cela ne sera pas bien compliqué d’augmenter ce chiffre à l’avenir, ça ne sert a rien d’utiliser plus gros nombre pour le moment
Exemple le barde à pour identifiant : 2 00000
0 notes
Text
L’alerte duplication est levée.
Matinal me direz-vous,
c’est la tête reposée que je repart à l’assaut de cette alerte duplication déclarée par mon petit post-it, et grâce à ceci je peux vous prodiguer le conseil suivant :
Si vous fatiguez trop à ne plus pouvoir trouver une solution qui au final est simple, arrêtez, faites une pause et reposez-vous!
Hier soir, je trouvais que ce problème d’alerte duplication (ainsi que le petit code qui permet de faire réapparaître les objets d’une quête déjà lancée) allaient me prendre beaucoup de temps, il s’avère que tout à été corrigé en moins de lignes de codes que de doigts sur les mains.
Maintenant, place au debug, voir si ce n’est qu’un coup de chance!
SPOILER
C’était une moitié de coup de chance, il s’avère que si l’item donné par la quête est déjà équipé, il est perdu :kappa:
0 notes