[Projet] Elphorina
Posté le 30/12/2020 12:25
Bonjour !
Je suis en train de créer un jeu vidéo pour Graph Monochrome, je vous laisse pour l'histoire avec le README du dépôt Git :
Elphorina est un jeu pour Casio Graph Monochromes.
L'histoire : Dans le royaume d'Elphorina, deux camps se livrent une bataille sans merci pour une terre : le comté de Hannenbourg.
Vous êtes le réconciliateur, c'est-à-dire que vous avez le pouvoir de réconcilier les camps ennemis.
Vous devez donc vous rendre dans le comté d'Hannenbourg, pour arrêter cette guerre, donc vous vous enfermez 2 mois dans votre maison pour réviser vos secrets de magiciens.
Au bout de ces 2 mois, on a oublié de vous dire un petit détail : le royaume a été ravagé par une tempête, qui a tout détruit sur son passage.
Votre but ? Le reconstruire pour pouvoir passer.
Mais vous ne pourrez pas toujours ne mettre qu'un bout de bois ! Il faudra faire preuve d'une grande ingéniosité pour reconstruire le chemin...
Je vais avancer progressivement là dessus, en attendant vous pouvez trouver le dépôt (mis à jour régulièrement) ici :
https://gitea.planet-casio.com/Potter360/Elphorina
Enjoy
Citer : Posté le 30/12/2020 12:31 | #
Bon courage pour le projet, si tu as des screens ou des avancements importants, je te conseille d'en parler dans la rdp
Essaye de tenir à jour cette page au fil du temps
(Et de toute façon, vous pouvez pas dire le contraire)
MultipliCasio
RDM Calculs
Back Mirror
A Switch To The Top C
Citer : Posté le 30/12/2020 12:33 | #
Si jamais, pour proposer un article à la RDP c'est ici : https://www.planet-casio.com/news-writing/rdp/form
Ce lien est accessible depuis la page de ton compte (https://www.planet-casio.com/Fr/compte/index2.php).
Citer : Posté le 30/12/2020 12:35 | #
C'est fait, j'ai proposé mon jeu à la rdp !
Ajouté le 30/12/2020 à 19:52 :
J'ai supprimé mes messages, c'est bon !
Ajouté le 31/12/2020 à 17:23 :
J'ai un problème avec le code que vous pouvez trouver sur Github à https://gitea.planet-casio.com/Potter360/Elphorina/, le personnage s'affiche trop en bas et on ne voit pas sa tête alors qu'il est à y=56 et qu'à y=40 on le voit en entier.
Et le bloc ne s'affiche pas non plus ...
J'ai ca depuis que j'ai rajouté
Et :
dans :
dimage(x, y, current_anim->img);
dimage(0,40,&img_bloc);
dupdate();
Citer : Posté le 31/12/2020 17:29 | #
Ça va être difficile de chercher le bugs sur la base entière de code quand ton programme grandit.
À ton avis, qu'est-ce qui peut poser problème avec ça ? Qu'est-ce qui pourrait bien empêcher le personnage de s'afficher et qui a un impact entre y=40 et y=56 ? Par exemple quelque chose de hauteur 16 qui est affiché à y=40 et qui occupe donc l'espace jusqu'à y=56 ?
Citer : Posté le 31/12/2020 17:31 | #
Eh ben, bloc fait 16 de hauteur, mais il s'arette à 56 donc ca devrait marcher
Ajouté le 31/12/2020 à 17:31 :
Je vais essayer avec y = 60
Citer : Posté le 31/12/2020 17:36 | #
Au passage t'es sérieux sur ce NAME et ce INTERNAL ? x)
https://gitea.planet-casio.com/Potter360/Elphorina/src/branch/master/project.cfg#L5
Citer : Posté le 31/12/2020 17:38 | #
Yep, j'ai remarqué ca je vais changé
Citer : Posté le 31/12/2020 17:39 | #
Ton y vaut 56, le personnage est affiché à y=56. Y'a aucun problème ici, la position d'un dimage() comme de toute autre fonction graphique c'est le coin haut gauche du dessin. Si tu veux qu'il s'affiche en entier faut le mettre à y=40 puisqu'il fait 24 pixels de haut et que l'écran fait 64.
Citer : Posté le 31/12/2020 17:41 | #
Non, 40 c'est la position du bloc, du coup le bloc va pas s'afficher....
Au passage j'ai modifié project.cfg et mis à jour le Github !
Citer : Posté le 31/12/2020 17:43 | #
Quand je dis ça je teste en même temps pour vérifier que je dis pas de conneries.
Donc l'explication pour ton personnage c'était ça.
Ton bloc est pas noir et blanc, il y a une poignée de pixels qui est plus proche du gris foncé de gint (#555555) que du noir (#000000) et donc fxconv l'a converti en niveaux de gris, elle ne s'affiche du coup pas quand le moteur de gris est pas démarré.
Citer : Posté le 31/12/2020 17:44 | #
Pourtant je l'avait convertie avec gimp, je vais refaire ca ...
Ajouté le 31/12/2020 à 17:44 :
Donc pas besoin de changer les positions?
Citer : Posté le 31/12/2020 17:48 | #
Avec ces indications tu devrais pouvoir trouver tout seul. Demande-toi ce que tu veux, puis avec les infos que je t'ai données comment le faire. C'est un problème vraiment basique ici, il faut que tu le prennes à bras le corps sinon ce topic fera 30 pages avant la première release. x3
Citer : Posté le 31/12/2020 17:55 | #
Mon bloc s'affiche maintenant en très gros pas totalement en bas, et mon personnage en bas...
Ajouté le 31/12/2020 à 18:11 :
Je n'ai pas changé le code, j'ai juste mis mon image en noir et blanc...
Ajouté le 01/01/2021 à 11:13 :
Voici une vidéo du problème : (désolé pour la qualité)
Citer : Posté le 01/01/2021 11:33 | #
Well the screen is 64 pixels in height, and you render the player with his top at Y=60, so...
Remember, sprites are rendered from the top left, and screen coordinates increase starting at (0,0) from the top left
Citer : Posté le 01/01/2021 11:40 | #
Je t'ai dit ça hier en plus, avec la solution.
Ton y vaut 56, le personnage est affiché à y=56. Y'a aucun problème ici, la position d'un dimage() comme de toute autre fonction graphique c'est le coin haut gauche du dessin. Si tu veux qu'il s'affiche en entier faut le mettre à y=40 puisqu'il fait 24 pixels de haut et que l'écran fait 64.
Et ensuite j'ai insisté en disant que j'avais testé et que ça avait donné le résultat que tu attendais :
Quand je dis ça je teste en même temps pour vérifier que je dis pas de conneries.
Donc l'explication pour ton personnage c'était ça.
Tu ne peux pas ne même pas tester ce qu'on t'a dit et reposer la même question, c'est juste un manque de respect pour ceux qui t'aident. >_>
Citer : Posté le 01/01/2021 11:43 | #
Oui mais ce que je comprends pas c'est que mon personnage va etre affiché à y=40 comme mon bloc, donc ils vont se "chevaucher" ?
Citer : Posté le 01/01/2021 11:45 | #
Ben oui. Tu as affiché ton bloc à y=40, il occupe 16 pixels (donc tout jusqu'à y=56). Il reste 8 pixels en bas, c'est trop petit pour afficher ton personnage. Tu ne peux pas afficher à la fois ton bloc à y=40 et ton personnage en entier dessous, il n'y a pas la place...
Citer : Posté le 01/01/2021 11:47 | #
Ahh mais d'accord, en fait je croyais que l'ecran partait du bas, genre que y=0 mettrait le personnage en bas !
Merci !
Ajouté le 01/01/2021 à 11:49 :
Mais le bloc va s'afficher à y=40 jusqu'a 56 et le perso de 40 jusqu'a 64, le haut du personnage va donc etre sur le début du bloc ?
Citer : Posté le 01/01/2021 11:51 | #
Conseil : teste avant de demander.
Citer : Posté le 01/01/2021 12:01 | #
La je ne peux pas mais je vais tester
Hypothèse : il faudra afficher le perso à y=16 car 16+24 = 40 : le perso s'affiche donc de 16 à 40 puis en bas de 40 à 56, il ya le bloc ...
Ajouté le 02/01/2021 à 20:01 :
Mon hypothèse est validée, ca a marché !
Le résultat final :
(Apparement, le screen shot sur Gint est compliqué, donc désolé pour la qualité !
Ajouté le 02/01/2021 à 20:35 :
D'ailleurs, y-a-til un moyen de faire en sorte que la caméra suive le personnage (que si le personnage arrive au bout de l'écran, la camera avance)