Projet de RPG en Casio basic
Posté le 18/04/2022 20:50
Salut tout le monde,
Après 4 ans sans poster de jeu ( faut dire que ces jeux étaient honteux
) je me lance dans un RPG en casio basic.
Alors des gens me diront que je suis masochiste, notamment les gens de ma classe ou encore chômeur
1) coder sur un écran de 5 cm !!
2) c'est trop lent comme langage !!
3) vous connaissez très bien la suite
Ducoup ouai j'adore coder sur un écran de 5 cm, et j'adore perdre mon temps quoi de mieux comme occupation !
J'ai pas encore de titre, ni d'histoire, l'idée première est de faire un premier moteur de jeu rapide.
Mon premier problème est donc là, je ne suis pas satisfait de la vitesse de chargement entre les parcelles du monde, et plus il y aura de texture dans le jeu plus ce sera long
Je suis donc à la recherche de conseille pour améliorer un peu tout ca. Je vous mets le programme en pièce jointe.
J'ai déjà une petite idée pour gagner 0.5s mais ca demandera plus de code.
Pour la démo il y a 2 parcelles de dispo le reste est vide, celle ou vous arrivez et une à droite ainsi que 2 PNJ.
Les flèches pour se déplacer et EXE pour parler au PNJ.
Merci bonne journée !
Fichier joint
Citer : Posté le 18/04/2022 22:55 | #
Oh, wow c'est propre. J'aime ! :o
Deux petite suggestions : EXE c'est casse-pieds, pourquoi pas SHIFT ? Et comme les maps mettent longtemps à charger je suggère de mettre un indicateur (juste un caractère dans un coin) quand tu commences le chargement, histoire qu'on sache que c'est ça et pas juste que notre joueur freeze sans raison.
Citer : Posté le 19/04/2022 01:27 | #
In -LOADER you can replace your entire If statement with one single line:
Same in -LEARN:
-MAPDATA: If you're filling a matrix with a table of data ([[1,2][3,4]] → Mat A); theres no need to clear the matrix or set its dimensions beforehand
And since the maps take a long time to load I suggest putting an indicator (just a character in the corner) when you start loading
Could just display the map as it loads: Locate 1, Y, StrMid(Str 1, 21Y - 20): tho that might ruin the feeling. (Remove ClrText?)
Double saving the map (as a matrix and str) would be the fastest, but means double the storage and having to type both perfectly (easy for typo)
Maybe just save as a Str and do the calculations on them. no need for a matrix. Speed should be about the same when moving. But changing map will be much faster
Citer : Posté le 19/04/2022 10:11 | #
Oh, wow c'est propre. J'aime ! :o
Deux petite suggestions : EXE c'est casse-pieds, pourquoi pas SHIFT ? Et comme les maps mettent longtemps à charger je suggère de mettre un indicateur (juste un caractère dans un coin) quand tu commences le chargement, histoire qu'on sache que c'est ça et pas juste que notre joueur freeze sans raison.
Pour la touche EXE ca va pas rester, j'avais prévu de mettre alpha à terme ^^, pour l'icone de chargement je n'y avais pas pensé merci de l'idée.
In -LOADER you can replace your entire If statement with one single line:
I am really impressed, I would never have had this idea. The loading time is close to 1 second and is no longer impacted by the amount of texture.
Could just display the map as it loads: Locate 1, Y, StrMid(Str 1, 21Y - 20): tho that might ruin the feeling. (Remove ClrText?)
it could even replace the loading icon, at the beginning I displayed square by square but it slowed down a lot, but here I have to display line by line afterwards so it doesn't slow down and it saves memory I might go with this idea.
Double saving the map (as a matrix and str) would be the fastest, but means double the storage and having to type both perfectly (easy for typo)
The problem is memory, if I want to be able to make a large map I will be stuck with this solution.
Maybe just save as a Str and do the calculations on them. no need for a matrix. Speed should be about the same when moving. But changing map will be much faster
I haven't mastered the Str yet but I'll think about it.
Merci à tous pour vos subjections, j'ai super bien avancé grâce à vous