Insérer ici le texte d'introduction de la Revue des Projets 122. Parler de la rentrée, des fleurs et des abeilles mourantes tout en inventant un lien aléatoire avec la programmation. Rajouter une blague drôle.
Rédiger le texte de présentation du premier article, de Lightmare, qui porte sur Snow Crash, un jeu aventure-énigme qui plonge le joueur dans un univers de science-fiction où il est possible d'entreprendre une vie virtuelle. Préciser que c'est un jeu éponyme du roman de Neal Stephenson.
Lightmare a écrit : Bonjour les casionautes !
Je viens de finir le chapitre 1 de mon jeu SnowCrash ! Et j'aimerais vous expliquer le fonctionnement du moteur de jeu.
Il existe d'abord plusieurs programmes :
SNOWCRSH : le programme principal qui gère les déplacements et l'interprétation des matrices qui sont au cœur du fonctionnement du programme
SNOWMAPS et SNOWMAP2 : programmes de gestion des maps et de l'initialisation des matrices pour gérer les collisions : si la case sur l'écran ou le joueur veut aller possède la valeur 1, alors le joueur ne peut pas avancer, si elle a la valeur 0, il peut. La case peut toutefois avoir une autre valeur, celles ci ont diffèrent rôles : lorsque la valeur est supérieure à 1, cela définit un dialogue ou un évent ( un dialogue se déclenche si on se trouve sur une case dont la valeur est supérieure à 1 et en appuyant sur [EXE], un event se déclenche dès qu'on arrive sur la case )
Les cases avec une valeur négative definissent un changement de map :
ex : la valeur -4 montre qu'on passe à la map d'id 4.
SNOWEVNT : stocke les évent et les déclenche selon certaines conditions ( map ou on se trouve, avancement dans le jeu... ), les évents changent ensuite une valeur dans la list 1 ( les dialogues peuvent aussi le faire la première fois qu'on l'exécute )
SNOWTEXT : stocke les dialogues et les affiche en mode graphique
et voilà ! si vous voyez des améliorations possibles, dites le moi !
Écrire un commentaire enthousiaste et encourageant sur ce projet, parce qu'il est trop cool.
Insérer ici une deuxième présentation pour le projet suivant : Warning Forever, une adaptation du jeu portant le même nom. Présenter un peu le jeu en disant que c'est un genre de space shooter, avec des boss qui évoluent de manière particulière d'une étape à l'autre. Le processus d'évolution des boss de ce jeu en fait l'un des intérêts principaux, et c'est ce par quoi Yatis a commencé.
Yatis a écrit : Warning Forever est presque "jouable"
J'ai juste quelques soucis de Fps. J'aimerais que ce dernier tourne a 64 Fps, hors quand le boss arrive à un certain stage d'évolution il tombe à 43 Fps.
Ce qui est problématique car il ne peut pas encore tirer / se déplacer (donc les Fps risquent de tomber encore plus). J'ai déjà quelque piste pour gagner quelques Fps:
----->revoir le code (ou harcoder) la gestion des dalles en fond.
----->harcoder les fonctions de dessin (ML_bmp_rota() et ML_bmp_rota_custom()) qui sont les fonctions qui me permette d'afficher des bmp en leur appliquant une rotation. (ML_bmp_rota() tourne le bmp en son centre alors que ML_bmp_rota_custom() tourne le bmp par rapport à un point quelconque).
----->revoir les algo utiliser pour la gestion des "bras".
----->pré-calculer un maximum de choses et éviter les opérations trop longues (modulo, division, etc.).
Qu'est-ce que j'ai faits depuis la RdP précédente ?
J'ai repris le code de 0 pour refaire une structure et...le jeu et passer de 40ko a 19ko donc ça a bénéfique
J'ai touché un peut au driver clavier ce qui m'a permis d'apprendre pas mal de chose sur le "comment la machine fonctionne", maintenant l'add-in est compatible SH3 et SH4.
Les collisions sont "fonctionnelles" (même si j'ai encore quelques soucis avec). J'ai aussi réfléchi sur le "système" d'évolution du boss, et il va se faire sur 3 axes:
----->Attaque: augmente la puissance et l'intelligence des armes.
----->Défense: fait pousser des membres aux endroits le joueur a tirer.
----->Déplacement: le boss réagit de plus en plus vite aux actions du joueur.
Pour l'instant j'ai implémenter seulement le système de défense (qui fonctionne très bien)
J'ai aussi implémenter une des deux caméras (celle-ci vissé sur le joueur) mais j'ai encore du mal à donner une taille de map correcte (c'est soit trop grand sois trop petit...bref il faut que je regarde vraiment parce que pour l'instant j'ai juste piffé dans le code).
Mais j'aimerai d'abord finir ce problème de Fps, seulement je peux pas encore toucher à ML_bmp_rota() et ML_bmp_rota_custom() car l'algo utiliser n'est pas précis donc il faut que je trouve autre chose.
C'est sur quoi je vais travailler la semaine qui arrive (espèrent réussir à trouver une méthode plus rapide et plus précise que celle que j'utilise).
Et pour finir, voila une petite vidéo montrant le système d'évolution (défense) en pleine action
Insérer ici un commentaire encore plus enthousiaste sur ce projet et la vidéo qui vend du rêve. Woah.
Clore l'article de manière drôle et morbide en parlant de chatons et d'explosions. Où est passée ma bouteille ?
Cette semaine, 5 programmes ont été postés !
Fifa19, pour votre Casio Graph 90+E ! Un jeu de foot simple conçu par Manolo.
Snow Crash, de Lightmare. Référez-vous à son article. Un jeu en Basic pour Calculatrices monochromes.
NASAControl, un jeu de Disperseur. Replongez-vous dans l'histoire des premiers pas de l'Homme sur la Lune ! Programme en Basic pour calculatrices monochromes.
IA de mactul.P Un programme en Basic pour calculatrices monochromes où vous discutez avec une IA.
Rocks Planets, de Disperseur. Cet Add-in (Graph 75/85/95+) vous permet de visualiser les planètes telluriques en orbite ! Disponible pour SH3 et SH4.
J'aime assez le style blasé de la RdP Je trouve que ça reflète bien l'état d'esprit des Rédacteurs quand on voit passer 17h45 le dimanche et que l'on se dit "Ah, oui merde, le RdP..."
"Ce n'est pas parce que les chose sont dures que nous ne les faisons pas, c'est parce que nous ne les faisons pas qu'elles sont dures." Sénèque
Inserer un commentaire comme quoi c'est n'importe nawak le style de cet RdP.
Encourager Yatis parce que son projet a l'air vraiment sympa. Et aller se coucher.
Ajouté le 16/09/2018 à 20:41 :
Et exprimer sa joie à la mention d'exploding kitten. Parce que je kiffe ce jeu.
J'ai commencé à écrire quelques notes pour savoir ce que je devais écrire, et j'ai fini par me dire "Et si j'écrivais ma RDP comme ça ?"
Shadow15510 a écrit : J'aime assez le style blasé de la RdP Je trouve que ça reflète bien l'état d'esprit des Rédacteurs quand on voit passer 17h45 le dimanche et que l'on se dit "Ah, oui merde, le RdP..."
Je n'ai pas ce problème, je l'ai rédigée entre 12h et 14h.
Eon the Dragon : version 1.2
Let's have a look!
Marre de ces RPGs qui t'imposent des classes, des compétences et des sorts ? Crée tes propres capacités sur Eon the Dragon ! Des monstres, des dragons et des combats aussi épiques que difficiles t'attendent !
Yatis a écrit : Mmmmmmmm...quitte à faire un jeu de ce style, pourquoi pas en créer un spécial Planet Casio ?
Ouaip, carrément ! Autant concevoir un shoot em' up spécifiquement pour la calculatrice !
Eon the Dragon : version 1.2
Let's have a look!
Marre de ces RPGs qui t'imposent des classes, des compétences et des sorts ? Crée tes propres capacités sur Eon the Dragon ! Des monstres, des dragons et des combats aussi épiques que difficiles t'attendent !
Très bien, désolé, Dark storm. Je trouvais ça assez comique d'avoir quatre quote d'affilée, mais je vois que ça a dégénéré !
Eon the Dragon : version 1.2
Let's have a look!
Marre de ces RPGs qui t'imposent des classes, des compétences et des sorts ? Crée tes propres capacités sur Eon the Dragon ! Des monstres, des dragons et des combats aussi épiques que difficiles t'attendent !
@Yatis : 43 FPS c’est déjà largement suffisant
Je vais essayer de poster une nouvelle version de l'algo de zoom cette semaine. J'ai un peu plus de temps.
Tu n'as pas essayé de jouer sur la calto à 90° ? Vu que l'on doit viser un truc devant nous, ça offre plus de place devant le joueur. Parce que là le bosse prend vraiment tout l'espace :/
Wwwwooooooooooowww, Ne0tux ! Je m'esclaffe devant cet humour imparable !
Eon the Dragon : version 1.2
Let's have a look!
Marre de ces RPGs qui t'imposent des classes, des compétences et des sorts ? Crée tes propres capacités sur Eon the Dragon ! Des monstres, des dragons et des combats aussi épiques que difficiles t'attendent !
43 FPS c’est déjà largement suffisant
Je vais essayer de poster une nouvelle version de l'algo de zoom cette semaine. J'ai un peu plus de temps.
Tu n'as pas essayé de jouer sur la calto à 90° ? Vu que l'on doit viser un truc devant nous, ça offre plus de place devant le joueur. Parce que là le bosse prend vraiment tout l'espace :/
Ouais m'enfin bon je passe de ~300fps a 43 juste en affichant 10 sprites quoi... >_<
Sinon j'ai réussi à enlever tous les modulos présents dans le code et j'arrive à 54fps environ (j'ai optimisé les dalles en fond aussi mais ne je n'ai gagné "que" ~10fps).
J'ai revu encore une fois ton ancien algo de rotation (sans aller jusqu'à l'assembleur) et j'ai gagné ~5fps.
Le truc qui est bizarre c'est que quand je n'utilise pas setFPS() (qui cale le jeu à 64fps) je passe à ~100fps quand le boss est a son apogée donc je comprends pas pourquoi il bloque à 43fps au bout d'un moment (et ça reste constant donc ça ne viens pas spécialement du drawcall >_<).
Ya donc moyen que, sans faire exprès, j'ai laissé un setFPS() quelque part....
Ouais m'enfin bon je passe de ~300fps a 43 juste en affichant 10 sprites quoi... >_<
Je mentionne que la rotation y est peut-être pour quelque chose parce que gint pour un fond d'écran 128×64 en gris gint table sur 400/500 FPS... donc il doit y avoir quelque chose qui traîne.
Le truc qui est bizarre c'est que quand je n'utilise pas setFPS() (qui cale le jeu à 64fps) je passe à ~100fps quand le boss est a son apogée donc je comprends pas pourquoi il bloque à 43fps au bout d'un moment (et ça reste constant donc ça ne viens pas spécialement du drawcall >_<).
setFPS() est une horreur, ne l'utilisez pas. Si vous avez presque les perfs que vous désirez, il va vous faire passer significativement en-dessous, de mémoire. En plus la RTC a une précision de 64 Hz...
Lephenixnoir a écrit : setFPS() est une horreur, ne l'utilisez pas. Si vous avez presque les perfs que vous désirez, il va vous faire passer significativement en-dessous, de mémoire. En plus la RTC a une précision de 64 Hz...
Ha ! Donc mon idée de passer par le TMU pue pas trop ?
Lephenixnoir a écrit : Je mentionne que la rotation y est peut-être pour quelque chose parce que gint pour un fond d'écran 128×64 en gris gint table sur 400/500 FPS... donc il doit y avoir quelque chose qui traîne.
Bien sûr, la rotation y est pour quelque chose mais j'en suis arrivé à un point ou je vois pas quoi optimiser de plus
Je vais déjà essayer de remplacer le setFPS() par un truc moins dégueu...
Bien au contraire, il faut passer par le TMU pour se faire exécuter sa fonction de frame tous les 1/64 s (si tu peux les tenir).
Pour la rotation, tu peux aussi précalculer un certain nombre de directions (10, 12 ?) pour chaque sprite au début du combat, et ensuite les réafficher à l'infini.
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
Citer : Posté le 16/09/2018 18:48 | #
J'aime assez le style blasé de la RdP Je trouve que ça reflète bien l'état d'esprit des Rédacteurs quand on voit passer 17h45 le dimanche et que l'on se dit "Ah, oui merde, le RdP..."
Citer : Posté le 16/09/2018 18:50 | #
Quelque chose me dit que cette adaptation de Warning Forever va finir en une adaptation de Do Don Pachi...
Citer : Posté le 16/09/2018 20:39 | #
Inserer un commentaire comme quoi c'est n'importe nawak le style de cet RdP.
Encourager Yatis parce que son projet a l'air vraiment sympa.
Et aller se coucher.Ajouté le 16/09/2018 à 20:41 :
Et exprimer sa joie à la mention d'exploding kitten. Parce que je kiffe ce jeu.
Citer : Posté le 16/09/2018 21:35 | #
J'ai commencé à écrire quelques notes pour savoir ce que je devais écrire, et j'ai fini par me dire "Et si j'écrivais ma RDP comme ça ?"
J'aime assez le style blasé de la RdP Je trouve que ça reflète bien l'état d'esprit des Rédacteurs quand on voit passer 17h45 le dimanche et que l'on se dit "Ah, oui merde, le RdP..."
Je n'ai pas ce problème, je l'ai rédigée entre 12h et 14h.
Citer : Posté le 16/09/2018 21:59 | #
Quelque chose me dit que cette adaptation de Warning Forever va finir en une adaptation de Do Don Pachi...
Je connaissais pas ce jeu
Bon... si j'arrive à finir Warning Forever j'essaie d'adapter Do Don Pachi sur graph90+ avec gint
@Massena merci !!
Citer : Posté le 16/09/2018 22:01 | #
Je connaissais pas ce jeu
Bon... si j'arrive à finir Warning Forever j'essaie d'adapter Do Don Pachi sur graph90+ avec gint
@Massena merci !!
À quand Ikaruga ?
Citer : Posté le 16/09/2018 22:38 | #
À quand Ikaruga ?
Mmmmmmmm...quitte à faire un jeu de ce style, pourquoi pas en créer un spécial Planet Casio ?
Citer : Posté le 16/09/2018 23:10 | #
Mmmmmmmm...quitte à faire un jeu de ce style, pourquoi pas en créer un spécial Planet Casio ?
Ouaip, carrément ! Autant concevoir un shoot em' up spécifiquement pour la calculatrice !
Citer : Posté le 17/09/2018 10:29 | #
Ouaip, carrément ! Autant concevoir un shoot em' up spécifiquement pour la calculatrice !
Juste parce que les quote quand y en a trop c'est vraiment n'importe quoi
Citer : Posté le 17/09/2018 10:30 | #
Juste parce que les quote quand y en a trop c'est vraiment n'importe quoi
Je suis d'accord
Citer : Posté le 17/09/2018 11:07 | #
Je suis d'accord
Drak pour l'instant je compte finir Warning Forever (et puis voir si mon temps libre pourra tenir a un autre projet xD )
Citer : Posté le 17/09/2018 11:49 | #
Intervention de l'admin : le prochain qui dépasse la double quote (3 niveaux ou plus), il se prend un kick de 24h.
Citer : Posté le 17/09/2018 11:54 | #
Très bien, désolé, Dark storm. Je trouvais ça assez comique d'avoir quatre quote d'affilée, mais je vois que ça a dégénéré !
Citer : Posté le 17/09/2018 17:19 | #
Super de voir vos projets avancer !
@Yatis : 43 FPS c’est déjà largement suffisant
Je vais essayer de poster une nouvelle version de l'algo de zoom cette semaine. J'ai un peu plus de temps.
Tu n'as pas essayé de jouer sur la calto à 90° ? Vu que l'on doit viser un truc devant nous, ça offre plus de place devant le joueur. Parce que là le bosse prend vraiment tout l'espace :/
Citer : Posté le 17/09/2018 17:24 | #
Parce que là le bosse prend vraiment tout l'espace :/
Normal, c'est un boss... ...de l'espace !
Je vais de ce pas me faire désintégrer dans le cosmos intersidéral.
Merci pour cette RDP Drak et bon courage à Lightmare et à Yatis pour vos projet respectifs.
La Planète Casio est accueillante : n'hésite pas à t'inscrire pour laisser un message ou partager tes créations !
Citer : Posté le 17/09/2018 19:17 | #
Wwwwooooooooooowww, Ne0tux ! Je m'esclaffe devant cet humour imparable !
Citer : Posté le 17/09/2018 19:40 | #
43 FPS c’est déjà largement suffisant
Je vais essayer de poster une nouvelle version de l'algo de zoom cette semaine. J'ai un peu plus de temps.
Tu n'as pas essayé de jouer sur la calto à 90° ? Vu que l'on doit viser un truc devant nous, ça offre plus de place devant le joueur. Parce que là le bosse prend vraiment tout l'espace :/
Ouais m'enfin bon je passe de ~300fps a 43 juste en affichant 10 sprites quoi... >_<
Sinon j'ai réussi à enlever tous les modulos présents dans le code et j'arrive à 54fps environ (j'ai optimisé les dalles en fond aussi mais ne je n'ai gagné "que" ~10fps).
J'ai revu encore une fois ton ancien algo de rotation (sans aller jusqu'à l'assembleur) et j'ai gagné ~5fps.
Le truc qui est bizarre c'est que quand je n'utilise pas setFPS() (qui cale le jeu à 64fps) je passe à ~100fps quand le boss est a son apogée donc je comprends pas pourquoi il bloque à 43fps au bout d'un moment (et ça reste constant donc ça ne viens pas spécialement du drawcall >_<).
Ya donc moyen que, sans faire exprès, j'ai laissé un setFPS() quelque part....
Citer : Posté le 17/09/2018 19:53 | #
Je mentionne que la rotation y est peut-être pour quelque chose parce que gint pour un fond d'écran 128×64 en gris gint table sur 400/500 FPS... donc il doit y avoir quelque chose qui traîne.
setFPS() est une horreur, ne l'utilisez pas. Si vous avez presque les perfs que vous désirez, il va vous faire passer significativement en-dessous, de mémoire. En plus la RTC a une précision de 64 Hz...
Citer : Posté le 17/09/2018 20:26 | #
setFPS() est une horreur, ne l'utilisez pas. Si vous avez presque les perfs que vous désirez, il va vous faire passer significativement en-dessous, de mémoire. En plus la RTC a une précision de 64 Hz...
Ha ! Donc mon idée de passer par le TMU pue pas trop ?
Je mentionne que la rotation y est peut-être pour quelque chose parce que gint pour un fond d'écran 128×64 en gris gint table sur 400/500 FPS... donc il doit y avoir quelque chose qui traîne.
Bien sûr, la rotation y est pour quelque chose mais j'en suis arrivé à un point ou je vois pas quoi optimiser de plus
Je vais déjà essayer de remplacer le setFPS() par un truc moins dégueu...
Citer : Posté le 17/09/2018 20:32 | #
Bien au contraire, il faut passer par le TMU pour se faire exécuter sa fonction de frame tous les 1/64 s (si tu peux les tenir).
Pour la rotation, tu peux aussi précalculer un certain nombre de directions (10, 12 ?) pour chaque sprite au début du combat, et ensuite les réafficher à l'infini.