Salutations, voyageur !
Nous restons dans notre course paisible au développement de Lampyre, en achevant ce segment en tout juste quatre mois ! Et quel bloc c'était. Définitivement un peu plus charnu que prévu - mais les résultats sont là. Nous avons maintenant tout notre écosystème végétal et notre arbre liandre fonctionne à merveille.
La note de patch
1) Il était une fois, le temps: pour faire pousser des plantes, et passer les saisons, il faut une échelle de temps (omg, incroyable, je sais). Pour l'instant matérialisé par un simple texte, le calendrier de l'UI vous indiquera l'heure (grossière) de la journée, la saison et le nombre de jour qui s'y sont déjà écoulés.
Pour les vyrrlins, le temps est rythmé par la course du soleil. À cause des ombres, l'aube et le crépuscule revêtent une importance capitale. Les équinoxes et les solstices, eux, font souvent l'objet de fêtes ou de cérémonies, car ils sont les marqueurs de changements dans la durée des jours de l'année.
2) Cycle de pousse complet: les plantes avaient déjà une croissance présente, mais désormais, elles sont correctement représentées dans toutes leurs étapes de pousse (graine, herbe, buisson et arbre si applicable). Elles apparaissent avec une échelle et un score de pousse légèrement variables qui affecteront la quantité de produits qu'elles pourront donner (grosse plante = grosse récolte, zOMG). Leurs matériaux apparaissent progressivement et elles peuvent régénérer leur vie, à condition que le soleil brille. Une fois arrivées au bout de leur espérance de vie, elles pourrissent et disparaissent. Mais, le plus important reste qu'elles peuvent désormais se multiplier de façon autonome si leurs fruits sont laissés tranquilles !
Un script de régulation saisonnière permettra aussi à la majorité des essences de repeupler votre carte si vous les avez décimées (ce n'est pas très rapide mais cela vous évite d'être bloqué au moyen-terme).
3) Le système de symbiose: certaines plantes ont des effets sur leurs consœurs alentours. Ils peuvent être bénéfiques (pousse améliorée, davantage de fleurs et de fruits produits, protection contre les ronces) ou néfastes, comme c'est le cas pour la ronce pyrope (qui ralentit la croissance des voisines). Vous pourrez exploiter ces symbioses lorsque vous définirez des zones de plantation. Il y aura ainsi un intérêt à planter certaines fleurs au milieu de vos buissons de baies ou de vos légumes-racines.
Encore plus important, ces symbioses fonctionnent sur...
4) L'arbre liandre (liandraastvay): au cœur de votre enclave se trouve un arbre très spécial, dont les tubercules et les fruits peuvent vous purifier de la corruption. Trouver cet arbre est d'ailleurs la raison pour laquelle votre personnage, d'abord errant, devient jouable.
L'arbre liandre n'a nul besoin d'être arrosé et ne peut pas être multiplié. Au fur et à mesure de sa pousse, il développera une quantité croissante de bulbes, de fragments d'écorce et de fruits que vous pourrez récolter pour votre village. Il sera également victime de la pousse de plantes indésirables qui, si elles ne sont pas retirées, ralentiront la production de ces denrées (sarments, mousse, lierre). Et surtout, il pourra recevoir les effets bénéfiques d'autres plantes symbiotes ! Les alentours de votre arbre-liandre risqueront de ressembler à un jardin sauvage... comme cela se fait dans la plupart des hameaux vyrrlins.
5) De savoureux champignons: trois espèces de champignons pourront pousser dans divers biomes de votre carte. Leur récolte est très simple et ils constitueront des ingrédients de choix pour la cuisine et l'alchimie. Les polypores charnus poussent en plus grand nombre sur les souches et les troncs d'arbre en décomposition. Alors, vous aurez peut-être intérêt à laisser quelques arbres morts en paix.
6) Le trésor de la forêt: plusieurs ruches vont également croître sur des arbres de la carte ! Les abeilles peuvent s'épanouir dans n'importe quel biome, mais elles seront plus fréquentes là où les bois sont denses. En dehors de l'hiver, elles produiront du délicieux miel et il suffira de visiter la ruche pour la récolter.
7) Une séricuci... une sérisicu... UNE SOIE NATURELLE: le mûrier levantin est un arbuste unique qui ne vous donnera ni fleurs, ni fruits. Mais il abrite chaque année des chenilles de papillon de soie qui se nourriront de ses feuilles. En été, vous pourrez récupérer des cocons (à filer en soie brute) et parfois même des papillons pour ensemencer vos propres treillis de sériciculture. C'est moins onéreux d'aller en récolter dans le forêt que de les acheter à des zélotes, ça je vous le garantit.
8) Des plantes mouillées: laissée de côté depuis le segment de génération de carte, la rivière fait son retour. Lorsqu'elle est générée, deux plantes poussent exclusivement sur ses berges: le roseau goujon (source de fibres végétales) et le cresson printanier (délicieux en salade).
9) Amélioration des commandes de récolte: les raccourcis et les modes de récolte ont été simplifiés pour les herbes et la récupération de produits (fleurs, fruits, champignons, miel). Celle-ci est désormais instantanée pour plus de fluidité ! Tailler des buissons, déterrer des graines ou couper des arbres restent des actions soutenues.
10) Vous êtes maintenant Stéphane Marie: en temps normal, la taille, la forme et la couleur des végétaux vous donnera déjà une bonne idée de leur stade de croissance. Mais pour en savoir plus, il est possible de passer en mode botaniste d'un clic de bouton (ou d'une touche de clavier). Ce mode met en surbrillance toutes les plantes environnantes (y compris les graines encore enfouies), leur essence, leurs détails de croissance et leurs rayons d'effets symbiotiques. C'est aussi avec ce mode que vous aurez l'occasion de déterrer des graines gênantes pour en planter d'autre, ou prévenir l'apparition de plantes indésirables.
11) De quoi faire un bel herbier: nous avons implémenté nos 26 essences végétales et tous leurs produits (bois, brindilles, feuilles, fleurs et fruits) ! Les modèles sont encore sommaires mais en tout cas les performances sont au beau fixe grâce à notre système de MultimeshInstancer et de corps de collision gérés par le PhysicsServer3D (voir le game dev #5 qui nous a coûté une partie de notre santé mentale l'automne dernière).
12) Hé ho ! Hé ho ! Ça coupe du bouleau !: le mini-jeu de bûcheronnage présente maintenant quelques variations en fonction de l'essence de l'arbre que vous essayez d'abattre. Les serres-faux ont elles un tiers de récolte, qui améliore la vitesse à laquelle la barre de matériaux bonus se remplit (en orange). Ce tiers sera important pour exploiter les arbres et les gisements, et insignifiant pour les autres types de récolte.
Comme toujours, ce sont les mécaniques qui sont finales, et pas du tout leur équilibrage ou leurs visuels. Il faudra une UI savamment conçue pour rendre le système de symbioses intuitif et plaisant à utiliser !
La suite
Si vous vous souvenez de ce lointain début d'année (ou bien si vous scrollez deux articles plus tôt), vous devriez être en train de vous bondir de votre fauteuil, un petit poing rageur brandi vers le ciel.
"JE SAIS, JE SAIS ! C'EST L'ARTISANAT ENSUITE, JE M'EN SOUVIENS ! À NOUS LA FABRICATION ET LES TIERS TECHNOLOGIQUES BON SANG §§!! LE CRAAAAAAFT -"
Et c'est avec une gravité certaine que je vais devoir vous demander de vous rasseoir et de boire un petit verre d'eau pour vous calmer s'il vous plait. Maintenant que tous ces beaux systèmes commencent à être en place, il nous faut nous occuper d'une fonctionnalité inévitable - avant l'artisanat.
Elle rôde dans mon esprit depuis le début du projet. Elle hante mes nuits et je vois sa silhouette sous mes paupières quand je cligne des yeux devant mes sessions de Monster Hunter. On a fait des systèmes d'instanciation, du procédural, des textures projetées, et on fera des squelettes, des modèles, des shaders, et des arbres d'animation. Mais ce qui me perturbe appartient à l'inconnu technique. Je veux parler d'un système de sauvegarde et de chargement.
Sauvegarder sa partie, c'est un prérequis obligatoire pour tout jeu persistant. Après moult réflexion, j'ai décidé de m'y mettre maintenant ! On a un personnage, et une carte avec de la végétation qui est générée procéduralement en quelques secondes. C'est déjà plus qu'il n'en faut pour s'initier à la gestion des données de jeu !
Les buts de ce segment de développement sont donc les suivants :
- implémenter une première ébauche de notre menu principal (où l'on peut y créer une nouvelle carte, en charger une ou quitter le jeu)
- mettre en place un écran de chargement pour patienter lors de la génération de la carte
- implémenter notre menu d'options en jeu (on l'on peut sauvegarder sa partie, la charger, revenir au menu principal...)
- sauvegarder une partie et pouvoir la charger pour revenir sur la même carte
Peut-être que l'implémentation du système de sauvegarde me demandera de réviser un ou deux points de la gestion des ressources (j'ai des références à des RID dans mes scripts et je sens que ça va me retomber sur la mouille). J'ai bon espoir que ce soit un segment plus court que celui que l'on vient de faire, mais sait ce qui se passe quand on est trop optimiste - alors je vais rester humble, et assumer que ça prendra également plusieurs mois.
Par ailleurs, une fois ce bloc terminé, j'ai aussi décidé de continuer le développement de façon un peu plus organique en construisant les conditions de victoire pour construire le gameplay autour d'un vrai début de jeu. Ne vous en faites pas, après avoir placé les couvoirs d'ombre sur la carte et implémenté un écran de fin de jeu, l'artisanat reste le prochain gros bloc sur la liste.
Les visuels du schnaps
Une galerie de GIF remplie de plantes en forme de cylindre. Qui poussent.
2) J'ai eu des petites sueurs froides quand je me suis rendu compte que jusqu'à une certaine croissance, les pousses d'arbres ne devaient PAS bloquer les mouvements des créatures. Mais nous avons séparé les formes de collision de récolte / d'obstacle pour les végétaux qui en ont besoin. Arrivés à une taille suffisante, une seconde collision s'active et met à jour la carte de navigation (grâce à notre beau script optimisé, j'en ai les larmes aux yeux :') ).
3) Les essais accélérés de multiplication passive de nos plantes. On peut voir les buissons perdre de la vie car ils avaient encore une espérance de vie epoustouflante de UNE journée, et ils pourrissaient déjà à peine apparus.
4) Récolte instantanée sur sur un buisson encore jeune, contre une récolte soutenue sur un buisson mature. L'idée est simplement de ressentir qu'en poussant, un végétal se pare de bois et devient plus ardu à récolter. Faucher des herbes avec les griffes ou la serre-faux se fera en un petit nombre de mouvements instantanés.
5) Nos premiers champignons, les polypores charnus ! Ils ne poussent que sur un arbre mature, ou sur des troncs et des souches tombés à terre. L'oreille de terre est un grand champignon solitaire, tandis que la brebis-sage forme des bouquets denses en sous-bois.
6) Une ruche accrochée à un pin de cendre. Essayer de couper l'arbre alors que des abeilles nichent dessus vous inflige des dégâts, car elles défendent leur hôte. Il faudra détruire la ruche (en récupérant quelques rayons de miel) pour pouvoir récupérer le bois.
7) Une roncières de pyropes. Les ronces pyropes tendent à pousser en groupe. Elles ne vivent qu'une seule année, mais se multiplient plutôt vite. Et surtout, elles ralentissent la pousse des autres végétaux autour d'elles. Les pyropes sont une bonne source de tiges, de fleurs et de fruits, alors pas de gâchis en les coupant !
8) L'arbre liandre derrière l'autel de l'enclave. En bleu luminescent, ce sont tous les produits de liandre qu'il fera éventuellement pousser (les tubercules au sol, les fragments d'écorce sur son tronc et les fruits dans sa cime). Sont également présents des sarments (les arceaux rouges) et des paquets de mousse (les sphères vertes) qui elles, ralentissent la croissance des produits associés. Les désherber vous donne du très bon combustible et restaure la croissance du liandre.
9) Le miladrea doux est un buisson qui a la capacité de bloquer la pousse des ronces pyropes environnantes, et de les faire se faner. L'une des deux essences végétales avec cet effet, qu'il sera intéressant de garder près de ses cultures et de son arbre liandre.
10) Le mode botaniste. Les graines que vous portez dans votre inventaire s'affiche et cliquer dessus vous permet de les planter. Passer le curseur sur les plantes vous permet d'afficher leur description, et les rayons d'action des essences symbiotiques s'affiche (ici dans sa première version un peu fouillis).
11) Pour remédier aux zones d'influence illisibles qui se chevauchaient, j'ai cuisiné un shader maison à partir de deux scripts libres de droits créés par arlez80 et abSpaghetti. Dans la version finale du jeu, je pense que ces zones seront pleines mais transparentes et légèrement luminescentes. Mais en attendant, il est parfait et on va s'en resservir.
12) Le semis de graines ! Une fois dans le mode botaniste et les graines de l'essence sélectionnée, on peut soit semer les végétaux un à un, soit en jeter une poignée aléatoirement autour de nous. Attention - comme dans la réalité, toutes les graines ne parviennent pas forcément à germer.
13) Le mode botaniste permet aussi d'inspecter l'arbre liandre pour voir son stade de croissance et les effets qui lui sont appliqués (ici, sa pousse est ralentie par de multiples indésirables ainsi qu'une ronce pyrope).
14) Le mûrier levantin (oui, c'est encore un plot) ! Ses "fruits" sont les cocons de soie des papillons qui ont grandi dans son feuillage. Il n'y en a qu'un seul par carte, et il ne repousse pas si vous le coupez. Il sera toujours possible d'en acheter une pousse aux caravanes, mais il restera rare et exceptionnellement onéreux.
15) Un petit visuel du plaisir, avec plusieurs essences de prairies visibles. J'imagine la frondaison des arbres bien plus haute, et de l'herbe couvrant tout le sol nu. Ça va être vraiment chouette.
16) Le mode botaniste vous permet de voir les graines encore enfouies dans le sol, et de les enlever. Vous ne récupérez aucune ressource en le faisant.
17) Deux exemples de variations de mini-jeu de bûcheronnage. Le premier arbre est un saule des marais, et d'épaisses plaques de mousse vont gêner la visibilité de la zone cible ! Le second est un pin de cendre, qui affiche une poche de résine qu'il ne faut pas heurter sous peine de faire reculer le score de récolte.
Comme toujours, je poste des mises à jour régulières sur @Ariatowl. L'écriture du roman avance bien, même si je ne suis pas spécialement en avance. Je vous dis à la prochaine pour pouvoir continuer une sauvegarde sur Lampyre.
Prenez soin de vous !
Aucun commentaire:
Enregistrer un commentaire