Projets 8 Bits Cireza

Les combats sont codés à 95% (je ne parle pas des visuels à terminer).

Selon l’équipe et les attaques obtenues, les menus s’adaptent. Par exemple si on a un seul personnage, l’ennemi a une seule faiblesse. Chaque nouveau perso débloque la faiblesse suivante (et verrouille potentiellement certaines zones…).

On peut choisir son attaque, elle est effectuée. Il y a désormais des bruitages (qui couvrent la musique, j’ai donc choisi de baisser le volume de la musique pour que ça passe mieux). Ensuite, l’attaque est résolue : si on a bien ciblé une faiblesse de l’ennemi, celui-ci clignote (j’ai fait de superbes clignotements, trop fier de moi lol) et la faiblesse disparaît en dessous de son nom.

Si après les actions de tous les personnages on a bien attaqué toutes les faiblesses alors on peut poursuivre. Sinon, on se retrouve sur la case précédente de la map : on n’a pas réussi à rentrer dans le nouveau terrain.

Voilà qui résume la logique de construction de mon monde et des combats. J’ai pas mal de visuels à produire encore, je vais y aller tranquillement maintenant que je suis rassuré et que tout roule niveau combats…

Clignotement progressif qui se porte uniquement sur la combinaison choisie parmi les 3 composantes R, V et B. J’ai donc la possibilité de faire clignoter facilement dans 7 couleurs différentes (blanc, bleu, vert, rouge, jaune, cyan, magenta).

3 « J'aime »

Réalisation de mon désert ce matin. Toujours 7 couleurs, bien sûr. J’ai réfléchi entre faire 3 couleurs pour du sable et 3 couleurs pour des cactus. Mais il allait être difficile de faire une rupture nette entre le premier plan et l’arrière plan dans ces conditions. J’ai donc opté pour deux dégradés de sable différents, avec le dégradé « rosé » qui paraît naturellement plus foncé. Ça me permet de faire la rupture.

Ensuite pour que ça tienne dans un nombre de tuiles raisonnable, j’ai répété des schémas. Mais pour que l’ensemble de l’image ne soit pas symétrique de manière flagrante, j’ai fait 4 répétitions pour le premier plan (64 pixels) tandis que pour le second plan il y a une seule répétition et elle n’est même pas complète (168 pixels de longs pour 256 total). Ça permet un décalage et c’est un peu plus agréable.

Mon premier plan déborde légèrement sur mon arrière plan (le haut des mini dunes sur la route). Ça crée des tuiles différentes en plus mais ça apporte un peu de relief…

Il est possible que j’ajuste les couleurs car le rouge foncé va un peu trop dans les sombres à mon goût. Je vais réfléchir…

4 « J'aime »

C’est quand même ouf ce que tu arrives à faire avec la palette de la master system, respect!!

1 « J'aime »

J’ai dessiné la sentinelle du désert aujourd’hui. Ce sont des robots du gouvernement qui traquent les personnes dans le désert…

5 « J'aime »

Très bel ennemi. Bravo

1 « J'aime »

J’en suis fan de la Sentinelle. :heart_eyes:

1 « J'aime »

J’ai réalisé le sol pour les sections « urbaines ». Elles peuvent exister dans la « colonie », dans le désert et dans la montagne. J’ai donc choisi de faire des décors qui mélangent les environnements, entre le premier plan et l’arrière plan. Ça augmente un peu la quantité à produire mais ça collera mieux à la carte du monde. Du coup j’ai décliné le décor plaine dans sa version « désert », en bougeant un peu la palette du désert. Quand j’aurai fait les montagnes, je pourrai là aussi décliner avec les zones urbaines et la plaine.

3 « J'aime »

Mon topic est revenu d’entres les morts ! :loup:

Petit teasing avec des changements qui s’annoncent, et je raconterai en détail durant week-end !

3 « J'aime »

Les amis, ces deux dernières semaines j’ai longuement réfléchi et j’ai décidé de changer mon game-design.

J’étais parti pour faire un jeu où le joueur allait se retrouver verrouillé dans un scénario parmi 3. Chaque scénario imposant une palette de couleur précise, deux personnages ainsi que les PNJs importants.

De plus, mon système de combat allait être largement dirigiste afin que le joueur ne puisse accéder qu’aux endroits prévus. Mais finalement, j’ai pris un peu confiance et je me suis dit : je dois me lancer et faire un « vrai » jeu. Pas quelque chose de narratif. Mon premier jeu est 100% narratif et m’a permis de me faire la main. Il faut aller encore un coup plus loin.

Une longue réflexion a commencé sur comment autoriser n’importe quels personnages dans l’équipe. J’étais contraint par les couleurs. Au terme de cette réflexion, j’ai fait le choix de gagner une couleur de plus sur Ashla (mon perso principal) qui a donc perdu ses beaux cheveux violets. Mais cela m’a permis d’avoir 6 couleurs restantes, donc 2 x 3. Chaque allié (1 et 2) peut donc avoir ses 3 couleurs dédiées. Cela change donc un peu les palettes de tout ce petit monde, mais ça offre une énorme flexibilité.

Ici mon étude sur la palette de la MS :

Afin de gagner une couleur sur Ashla, j’ai choisi de partir du rouge foncé (déjà présent pour la peau) et donc d’éclaircir à partir de ce rouge. Je n’ai vraiment que 3 options pour que ça ne soit pas dégueulasse : rouge pur, rouge orangé, rouge cramoisi. J’ai choisi le cramoisi, mais je songe à utiliser les 3 combinaisons tout de même, surement via un système de promotions ou d’alignement.

Ensuite parmi les dégradés de 3 couleurs pour mes persos secondaires, j’ai choisi parmi les diverses possibilités. Ces dégradés ont beau être purement mathématique, leur perception est vraiment ce qui interpelle : on a le sentiment de c’est bien plus varié sur une base rouge que verte par exemple.

Bref, les couleurs ont été choisie et chaque perso a son dégradé de prédilection.

Conrad c’est le vert :

Ellen c’est le violet :

Évidemment, on peut avoir Conrad en premier ou second personnage. Et c’est vrai pour tous les personnages. Je me retrouve donc contraint à dupliquer tous les assets graphiques et charger les bons car tantôt ils utilisent les 3 premières couleurs, tantôt les 3 dernières. Oui, c’est compliqué. Et c’est pour ça que personne ne faisait jamais ça dans les jeux. A chaque fois les développeurs verrouillaient une palette de 16 couleurs avec un peu de tout, et c’était plié. Mais je me tamponne pas mal de ce que faisaient les autres et je fais les choses à mon idée. Oui on peut encore avoir des idées même sur des machines 8 bits, tout n’a pas été fait…

Les visages des PNJs et autres ennemis seront construits avec le décor. J’ai étudié le truc et ça passe, il a juste fallu glisser une teinte beige qui va bien dans la palette.

Exemple :

Il n’y aura qu’à choisir les couleurs du donjon de la bonne manière et ça passera très bien.

En plus de tout cela, j’ai choisi de complètement changer le système de combat pour avoir un vrai « feeling » RPG sans avoir à me taper toutes les stats etc… Et pour cela, j’ai longuement réfléchi là-aussi et je vais vers un système de combat asymétrique.

Les ennemis auront des faiblesses à attaquer, et les persos auront de l’endurance et pas d’autre stat. Les attaques coûteront de l’endurance. Ainsi l’exploration d’un donjon sera limitée par nutre capacité à ne pas gaspiller toute notre endurance en combat, ce qui ramène strictement aux sensations des vieux RPGs (et même récents…) où le facteur limitant l’exploration c’est toujours les MPs, et en général les objets qui redonnent des MPs sont inexistants ou très rares/chers.

Il faudra donc battre les ennemis de la manière la plus optimale possible. On joue chacun son tour : un perso, puis l’ennemi, puis un perso, puis l’ennemi. Le joueur peut jouer tout le temps le même perso s’il veut (pour économiser les autres par exemple etc…). L’ennemi lui fera apparaître des jetons supplémentaires à détruire si on est pas assez rapide, et attaquera pour faire perdre de l’endurance par exemple.

Pour détruire un jeton, il faut attaquer avec la bonne faiblesse. Sinon il devient un jeton neutre et il faudra attaquer une seconde fois pour le détruire. Les jetons « bronze » ne peuvent être détruits qu’avec la faiblesse adéquate.

Les attaques auront plusieurs jetons, et on attaque par la droite, le but étant de détruire le jeton le plus à gauche pour gagner. Il faut voir ça comme une pile, et l’ennemi empile des jetons pour ne pas mourir.

Par exemple ici je peux faire ces deux attaques dans l’ordre :

Ainsi je détruis d’abord le jeton épée d’un seul coup, puis derrière je transformerai le jeton épée restant en jeton neutre, et le jeton pistolet juste après sera détruit d’un coup.

Par contre si j’attaque dans l’autre sens, ça ne sera pas efficace du tout. Les deux épées deviendront des neutres, puis le coup d’épée d’Ashla détruira juste le premier jeton neutre.

Vous saisissez l’idée.

Niveau code j’ai organisé énormément de choses et j’utilise désormais une tonne de structures/pointeurs. Là aussi j’ai beaucoup progressé et ça me simplifie les choses.

J’ai encore quelques trucs à implémenter dans les combats mais la sélection des personnages et attaques est terminée. Il faut que je remette les animations, gère la résolution des dégâts, puis que j’ajoute des actions aux ennemis.

3 « J'aime »

Joli travail mais attention à la code review et aux prénoms sensibles aux anagrammes :slightly_smiling_face:

1 « J'aime »

J allais justement le dire. Dans ton exposé Conrad est devenu “Conard” :grin:
Fais gaffe de pas te planter dans le jeu :joy:
En tout cas bravo pour le boulot

La boulette :joy:

Je changerai son nom pour éviter une maladresse. C’est le genre de truc que je ne vois absolument pas, les inversions de lettres au milieu d’un mot.

C’est normal : le cerveau remet automatiquement les lettres dans l’ordre dans un anagramme tant que les premières et dernières lettres restent bien placées du moment qu’il connaît le mot :wink:

Chers amis, bonsoir.

Il n’y a pas eu d’update ces deux dernières semaines, et pour cause : je testais Persona 3 Reload. Qui est un très bon jeu, jouez-y si vous aimez les RPGs/Persona. Vous le comprenez, chaque test que je fais ne m’aide pas à avancer sur mon projet :sweat_smile: Mais c’est pas grave, soutenir le site est important :+1:

Même si je n’ai pas eu beaucoup de temps pour implémenter des trucs, j’ai en revanche beaucoup réfléchi à mon game-design et j’ai pris des décisions. Donc je vous partage tout ça, et quelque part, ça fera une histoire intéressante sur l’évolution d’un jeu au fil de son dev.

J’ai pris la décision de mettre à la poubelle ma carte du monde qui défile. Pourquoi ? J’ai testé sur la console + TV, et franchement, ça n’est pas agréable. Il y a trop d’à-coups. Si moi je ne me vois pas supporter ça, pourquoi irai-je l’infliger à des joueurs ? Je dois faire un truc agréable. Donc je vais repasser sur des écrans fixes.

Du coup la question s’est posée : comment donner le sentiment d’explorer un vaste monde avec des écrans fixes ? La réponse que j’ai trouvée est celle-ci :

Je vais faire des tous petits bonhommes (je les appelle les bonhommes choupi), un peu comme Chrono Trigger (superbe carte du monde au passage).
Ainsi quand on passe de la carte à un village/donjon, on a un vrai sentiment de changement d’échelle.

Maintenant je dois refaire intégralement la carte du monde. Mais il y a d’autres changements de prévus…

J’ai modifié mon game-design pour que l’on puisse prendre n’importe quel couple de personnages avec Ashla. Et je ne voulais PAS perdre le joli dégradé violet, donc j’ai ajusté plein de trucs et longuement réfléchi jusqu’à arriver à une solution.

Les personnages ont désormais leurs portraits arrangés ainsi :

Comme je voulais garder le dégradé de violet, il ne restait que 5 couleurs dispos. J’ai donc décidé de figer une couleur de plus (un vert très foncé) et chaque perso a uniquement 2 couleurs qui lui sont spécifiques. Ainsi je me suis adapté. Pour les deux filles en bas, je suis parti du vert foncé « figé » et j’ai fait des dégradés pour les cheveux qui vont tantôt vers le jaune tantôt vers le bleu. Pour d’autres persos j’ai juste utilisé leurs 2 couleurs (le PDG par exemple a juste 2 bleus pour sa chemise, ou la policière qui va vers du jaune) etc… En bref, je pense arriver à un compromis satisfaisant qui permet d’avoir une bonne variété tout en gardant mon dégradé violet d’origine.

Enfin ce soir j’ai dessiné les deux derniers persos pour la version « donjon/ville » (grande taille donc) :

Ils ont tous les deux pas mal de blanc/gris.

Niveau game-design, contrairement à avant, il n’y aura plus de blocage si on n’a pas les bons persos. On pourra vraiment tout tenter, mêmes des trucs qui vont à l’encontre des forces des personnages. Il y aura donc une sorte de système d’alignement, et au début du jeu on choisira une bonne fois pour toute 2 alliés. Cela veut dire qu’on ne jouera que Ashla + 2 alliés. Et non pas toute l’équipe.

Et donc, on ne pourra par définition pas voir tout le jeu. Certaines régions du monde seront aisément traversables et d’autres quasi impossibles. Il y aura donc 3 scénarios différents et 3 fins, qui seront plus simples à obtenir si on prend les persos qui vont bien. Au début du jeu on pourra choisir les persos et il y aura un background de présenté etc… Histoire d’aider le joueur à comprendre ces aspects. Mais si je résume, chacun des 6 alliés possibles est adapté pour 2 routes parmi les 3 possibles. Ça laisse donc du choix !

Voilà les grandes des réflexions sur ce prochain jeu :slight_smile:

3 « J'aime »

Pour quelqu un qui a pas avancé sur son projet…. :grin:

Réfléchir tu peux le faire quand tu veux, ça prend pas tellement de temps. J’ai repris les modifs récemment.

Passionnant tout ca. Est-ce que tu m’autorises à montrer ton travail en cours de game design pour montrer l’interet des contraintes ? Comment une reflexion de GD peut etre lièe à une palette de couleurs ? Etc

Ça ne va pas trop parler aux jeunes de notre époque lol. Mais bon si tu veux pas de souci.

J’étais bridé par mes 4 milliards de couleurs disponibles…

Si tu veux leur montrer des contraintes, tu as mon analyse de Shining Force sur Game Gear dans ce même topic qui est pas mal comme exemple.

Comme anecdote tu as le hack sur MKII aussi, qui montre comment on a perdu des couleurs dans une conversions fainéante de la GG vers la MS.

Et sur mon jeu actuel, les contraintes de dupliquer mes personnages et portraits afin d’offrir du choix au joueur + des couleurs dédiées par personnage, donc sans forcer une palette de 15 figée pour tous les persos du jeu (ce qui était fait dans absolument tous les RPGs MegaDrive à l’époque).

1 « J'aime »

C’était indiscutablement un homme résigné qui vous parlait il y a de cela 2 jours. Mais c’était sans compter sur son acharnement à mieux comprendre et progresser.

J’ai enfin réussi à faire un scrolling 100% impeccable sur Master System !
Je suis super content, et en même temps ça m’a fait tellement suer depuis des mois que j’ai un peu de mal à enfin savourer cette victoire.

Donc je ne vais pas mettre à la poubelle ma belle carte du monde, et je ne vais pas faire des bonhommes tous petits comme je l’avais proposé. Vu que tout marche nickel, je vais rester sur ce que j’avais prévu avec une belle grande carte qui défile.

Punaise, qu’est-ce que ça aura été galère d’arriver à ça ! J’ai du reprendre tout mon code autour du scrolling ainsi que ma manière de pousser en mémoire les visuels. J’ai du décaler dans le temps les mises à jour des visuels pour les étaler sur plusieurs refresh (il y en a 60 par secondes pour rappel) et je suis passé sur des écritures dites « UNSAFE » qui sont plus rapides mais doivent absolument se terminer avant l’affichage actif. Et donc j’ai réussi et ça m’a apporté tous les gains espérés. Mon scrolling est absolument parfait, et tourne à 60fps.

Bref, je peux désormais avancer sereinement sur le contenu visuel et les maps. Un poids s’est envolé…

4 « J'aime »

Je viens d’ajouter de la compression pour mes gros décors qui contiennent les monstres. J’utilise l’algorithme de Phantasy Star Gaiden, qui a été largement documenté par la communauté et les outils le supportent nativement. Ainsi je peux facilement convertir mes images au format compressé, puis les charger en les décompressant. Pour tout ce qui est chargement statique (pas du temps réel) cela ne fait aucune différence : ça va aussi vite que si ça n’était pas compressé.

Le gain est supérieur à 50%, c’est un très gros gain. Je vais pouvoir mettre 2 fois plus de monstres en gros. Vu que ces derniers sont intégrés dans les décors, ça va me permettre de faire plus de combinaisons sans trop me soucier de la mémoire que ça prend.

Bien content des progrès sur la partie purement technique ces derniers jours, je vais me remettre à la production des visuels par contre j’ai pas avancé des masses…

3 « J'aime »