Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Projets de programmation


Index du Forum » Projets de programmation » Adoranda : Un Aventura-like rafraîchissant
Tituya Hors ligne Administrateur Points: 2138 Défis: 26 Message

Adoranda : Un Aventura-like rafraîchissant

Posté le 10/08/2021 00:44

Salut !

C'est l'été (malgré la météo quelque peu désagréable), et été rime avec projet pour moi !

Comme vous avez peut-être pu le voir, j'ai commencé depuis peu un nouveau projet grandement inspiré de Aventura, le Royaume Poudingue (dont je vous invite à aller voir le Press Shift)

Alors non ce ne sera pas un remake, juste un jeu répondant aux mêmes principes c'est à dire :
Une grande carte accessible dès le début
La possibilité de progresser comme on le souhaite
Pouvoir xp d'une certaine façon

Je n'ai pas encore une idée bien claire du gameplay ou de l'histoire, mais je suis dans l'optique de faire un jeu avec un univers propre et détaillé. C'est pour cela que j'ai rajouté des personnages avec qui vous pouvez discuter

Au niveau développement, j'ai privilégié le côté esthétique au technique :
Les cartes sont créées avec Tiled et peuvent posséder 2 layers.
Les collisions/objets sont indiquées directement dans le tileset grâce aux valeurs de Tiled. Il n'y a donc rien de plus simple que de définir un mur !
Le joueur est constamment affiché au centre à la manière d'un jeu pokémon. La carte est donc affichée autour du joueur et non pas l'inverse.
Le joueur est animé.
Des personnages peuvent être dissimilés partout sur la carte avec des dialogues uniques. (Vous n'êtes pas à l'abri d'apparaître dans le jeu sauf refus catégorique )

Au niveau de ce que je souhaite rajouter :

Un intérieur (aléatoire ?) des maisons
Des capacités et de quoi xp
La carte sera divisée en 4 parties. Une par saison selon mes prévisions.
Une sauvegarde évidemment
Un tileset complet, pour l'instant c'est une partie de celui de pokémon rouge feu
Et des choses en plus, je ne vais quand même pas tout raconter !

Ce projet est avant tout un moyen d'apprendre le C et de découvrir les fabuleux outils de Lephenixnoir. Notamment fxconv qui est juste génial
Je vais donc continuer tranquillement le développement du jeu en essayant de donner des nouvelles de temps en temps. Pour vous teaser, voici une panoplie de screenshots de l'état actuel du projet (la carte sert de test, je ne compte pas la garder) :




Voilà le git du projet si vous souhaitez suivre le développement : https://github.com/bgiraudr/Adoranda

Hope you enjoy

@RDP <- C'est drôle, je me donne du travail pour dimanche


Fichier joint


Lephenixnoir Hors ligne Administrateur Points: 24145 Défis: 170 Message

Citer : Posté le 24/07/2022 23:02 | # | Fichier joint


Right donc j'ai testé la démo moi aussi !

La répétition des touches c'est vraiment vraiment casse-pieds. À mon avis c'est un problème de gint et pas de ton code, donc j'ai poussé un fix et je joins le G3A avec la répétition parce que j'aurais rage quit avant d'arriver au bord de la map sinon. xD

Note : la répétition utilise le défaut de 400 ms pour la première, 40 ms pour les suivantes, ce qu'il faudrait sans doute changer. En fait tu devrais vraiment abandonner getkey() et utiliser les événements ici !

J'ai aussi soumis une PR avec les tweaks qu'il m'a fallu pour réussir à compiler.

J'ai plus le temps de rédiger un test sérieux ce soir, alors je repasserai une autre fois (désolé !).
Mon graphe (24 Mars): (gint#27 ; (Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; ...) || (shoutbox v5 ; v5)
Lephenixnoir Hors ligne Administrateur Points: 24145 Défis: 170 Message

Citer : Posté le 25/07/2022 02:03 | #


Cette fois j'ai testé pour de vrai au lieu de juste regarder le code.

Dans l'ensemble, le gameplay est convaincant à mon avis. Tu as un système de dialogues avec un historique, les événements variés (y compris la boîte de réponse Oui/Non), et la conversion des maps est magnifique, avec toutes les infos proprement établies dans Tiled à l'avance. Les animations sont un peu limitées (ou alors sous-utilisées), mais sinon il semblerait que tu as à peu près tout pour faire un Pokémon.

Niveau combat, difficile de juger à quel point les mécaniques sont complètes sur un petit exemple comme ça, mais on trouve ce qu'on attend. Les visuels sont sans doute ce qui va te demander le plus de travail (animations et transitions spécifiquement). Ah, et aussi les ennemis sont 3 fois trop fort et 10 fois trop aléatoires, c'est juste pas possible d'atteindre le niveau 5 avec 3 potions.

Et plein de remarques en vrac :

  • L'espacement entre les mots est trop court à mon avis ; il faudrait bien 2 pixels de plus. Je vois que ta police a un blanc pour espace, ce qui cause toujours ce problème quand la police est proportionnelle (lorsque fxconv élimine le blanc autour du glyphe il élimine tout). Tu peux régler ça en utilisant un gris clair pour remplir le glyphe, comme ici dans la police par défaut de gint. fxconv n'éliminera pas le gris clair en réduisant le glyphe, mais gint ne l'affichera pas non plus, donc ça te donne un espace.
  • La caméra met longtemps à suivre le joueur. Du coup si je marche vers le bas et que soudain je tourne à droite, la caméra continue de descendre d'un pixel de temps en temps pendant 1-2 seconds après que j'aie tourné, ce qui donne une impression de lenteur. Le feeling un peu bizarre sur les répétition (ou le fait de devoir rappuyer) y contribue aussi. C'est con parce que t'as largement les FPS.
  • On peut voir que des sprites ont perdu beaucoup de couleurs dans la conversion du tileset, eg. les arbres ou les hautes herbes ; je sais pas si c'est fait exprès.
  • Les attentes du clavier (genre dans les boîtes de dialogues) sont bizarres, des fois ça attend des plombes de façon inexplicable. Peut-être un truc qu'on devrait regarder (possible lié à gint).
  • T'as un joli rectangle de couleur en-dessous de chaque attaque, mais tu le remplaces par du vert là où on sélectionne durant un combat, ce qui fait qu'on sait jamais vraiment à quel type on a affaire sans bouger le curseur.

Mon graphe (24 Mars): (gint#27 ; (Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; ...) || (shoutbox v5 ; v5)
Tituya Hors ligne Administrateur Points: 2138 Défis: 26 Message

Citer : Posté le 25/07/2022 18:53 | #


Merci d'avoir testé de fond en comble, et surtout merci pour le retour complet, c'est vrai que cette demo n'a pas fait fureur...

En effet avec le moteur actuel je dois être capable de faire un pokemon like sans trop de problème, j'ai par contre quelques problèmes à corriger aj niveau du code.
J'ai simplement programmé 2 monstres dans cette demo, c'est vrai que ça manque de variété pour se rendre compte des différences mais j'espère que ça t'as tout de même plu. Ils sont certainement trop puissants dans l'état actuel oui, à vrai dire j'utilise a chaque fois le pnj pour reset mes stats
J'ai rajouté au dernier moment la zone qui te bloque au niveau 5 pour montrer la possibilité de faire des zones, derrière, il y a une maison qui mène à un intérieur qui n'est pas aléatoire, afin de montrer que je suis en capacité de faire des intérieurs différents

Trop aléatoire ? Tu entends quoi par là ?

Les sprites perdent beaucoup de couleurs je suis d'accord, pour préserver un peu de poids le tileset est en P4, il faut juste que je revois ma palette pour mieux gérer ça.

Les attentes du clavier ? Je n'ai jamais eu de problème par rapport à ça, étrange.

Et lui les couleurs en combat ne suis d'accord, à force je voudrais seulement changer le contour de l'attaque et non le fond lié au type. Cependant je n'ai pas encore implémenté le changement de plusieurs couleurs dans une image

Merci encore !
Bretagne > Reste du globe
(Et de toute façon, vous pouvez pas dire le contraire)
Projet en cours : Adoranda

Mes programmes
Hésite pas à faire un test !


Lephenixnoir Hors ligne Administrateur Points: 24145 Défis: 170 Message

Citer : Posté le 25/07/2022 19:05 | #


Trop aléatoire ? Tu entends quoi par là ?

Les monstres sont d'un niveau très variable, quand tu commences au niveau 1 il faut croiser les doigts pour tomber sur un monstre qui ne te one shot pas et faut vraiment être chanceux pour tomber sur un monstre que tu peux battre (en gros faut qu'il soit niveau 1). Même si tu y arrives il faut utiliser une potion pour récupérer tes HP et encore tu n'es qu'au niveau 3 donc c'est facile de tomber sur un monstre que tu ne peux de nouveau pas battre. Si tu perds et que t'es à court de potions t'es bloqué à 0 HP et y'a pas moyen de continuer. x)

Et lui les couleurs en combat ne suis d'accord, à force je voudrais seulement changer le contour de l'attaque et non le fond lié au type. Cependant je n'ai pas encore implémenté le changement de plusieurs couleurs dans une image

Wait pourquoi tu modifierais plusieurs couleurs dans une image ? Dessine juste un contour indépendamment ?

Edit : Ah oui et pendant que j'y suis pourquoi la map fait pas tout l'écran ?

Bon courage, je testerai les prochaines versions !
Mon graphe (24 Mars): (gint#27 ; (Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; ...) || (shoutbox v5 ; v5)
Tituya Hors ligne Administrateur Points: 2138 Défis: 26 Message

Citer : Posté le 25/07/2022 19:23 | #


C'est vrai que c'est assez aléatoire le niveau des monstres
A vrai dire par défaut le niveau est calculé en fonction de ton niveau à toi +/- 5, il faut que je lisse cette courbe là, merci de m'y avoir fait pensé

Lephe a écrit :
Wait pourquoi tu modifierais plusieurs couleurs dans une image ? Dessine juste un contour indépendamment ?

C'est vrai, je peux simplement dessiner une autre contour au lieu de m'embêter à changer la palette, bien vu

Lephe a écrit :
Ah oui et pendant que j'y suis pourquoi la map fait pas tout l'écran ?

À la base c'était pour réduire le nombre d'éléments à dessiner et donc d'optimiser un peu le jeu.
Mais maintenant je pense faire une UI pour indiquer les différents boutons / infos directement en jeu !
Bretagne > Reste du globe
(Et de toute façon, vous pouvez pas dire le contraire)
Projet en cours : Adoranda

Mes programmes
Hésite pas à faire un test !



LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 79 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd