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 - Actualités


Index du Forum » Actualités » Puzzle Bobble / Bust-a-Move, le jeu d'arcade Taito enfin pour Graph 90+E
Critor En ligne Administrateur Points: 2673 Défis: 18 Message

Puzzle Bobble / Bust-a-Move, le jeu d'arcade Taito enfin pour Graph 90+E

Posté le 26/04/2020 18:43

Puzzle Bobble également connu sous le nom de Bust-a-Move en Amérique du Nord, est un jeu de Taito sorti en 1994 initialement sur borne d'arcade, puis adapté pour consoles de jeux et Windows en 1995.
Taito nous ressortait donc ses charmants dinosaures Bub et Bob introduits dans son jeu d'arcade mythique de 1983, Bubble Bobble. Ces derniers manœuvrent ici un canon qui lance des bulles colorées. Le but est de nettoyer intégralement chaque tableau, sachant que frapper un groupe de 3 bulles ou plus avec une bulle de la même couleur les fait éclater.

En 2012, Eiyeron t'en avait sorti un portage sous la forme d'une application pour les calculatrices Casio couleur de l'époque, les fx-CG10/20.
Un portage de haute facture aux graphismes très fidèles à l'original !



Hélas, cette fantastique application n'était pas compatible avec le nouveau modèle couleur Graph 90+E sorti pour la rentrée 2017, ni son équivalent international fx-CG50. Le problème était le nouveau matériel avec diverses différences.



Et bien accroche-toi bien à ton siège, car aujourd'hui Eiyeron te met enfin à jour son application avec la compatibilité Graph 90+E et fx-CG50 !

Non tu ne rêves pas, tu peux enfin faire rentrer ce monument du jeu vidéo dans ta Graph 90+E !

De quoi bien t'éclater en cette nouvelle semaine de confinement, merci Eiyeron !



Téléchargement : https://www.planet-casio.com/Fr/programmes/programme1905-1-bust-a-move-eiyeron-jeux-add-ins.html

Source : https://www.planet-casio.com/Fr/forums/topic11543-last-bust-a-move-sur-fx-cg-1020.html#77701


1, 2 Suivante
Kikoodx Hors ligne Ancien labélisateur Points: 3039 Défis: 11 Message

Citer : Posté le 26/04/2020 18:45 | #


Le jeu est magnifique, j'y ai joué c'est très agréable. Mon add-in favori sur la 90 jusque ici
ouais ouais
Dj_omnimaga Hors ligne Membre Points: 175 Défis: 0 Message

Citer : Posté le 26/04/2020 20:09 | #


Je pétais des gros score à ce jeu quand c'est sorti
Eiyeron Hors ligne Ancien modérateur Points: 5525 Défis: 57 Message

Citer : Posté le 26/04/2020 20:45 | #


Merci pour la news, je m'attendais pas à un tel traitement. Concernant la catégorie dans laquelle le jeu est posté, sera-t-il toujours pertinent de le garder dans la section CG-10/20 alors qu'il est compatible avec les trois modèles?

Des infos sur les performances : on atteint un solide 12FPS sur ma CG-20 de base et 48-50 avec un overclock légèrement tweaké, paramètre F4 de Ptune + IFC à 235MHz. Ça tourne mieux que le paramètre F5 de base probablement parce que la vitesse du bus est plus importante. J'ai envisagé de mettre un mode "rapide" en enlevant toutes les features visuelles mais cela n'apporta qu'un changement marginal. Le code y est toujours mais je l'ai désactivé car il ne sert pas à grand chose. Si vous avez besoin, je pourrai remettre l'affichage du framerate au besoin pour avoir un autre programme qui teste la calculatrice dans une situation où c'est les graphismes qui ralentissent le plus le jeu, la logique est minime. Au niveau des underclocks, je note qu'on peut diviser la vitesse de l'IFC à 58MHz depuis le paramètrage initial (F1) sans changement au niveau performances, le jeu est très probablement bound par le BFC. (Corrigez-moi si je me trompe).

Quelques info en bonus pour ceux qui lisent le topic:
- Bub et Bob sont nommés Bubblun et Bobblun, je vous laisse deviner pourquoi.
- Le jeu est sorti sur MVS et Neo-Geo, deux machines d'arcades différentes. La version de la Neo-Geo est légèrement différente au niveau graphismes et tout est un peu compressé sur l'horizontale (~16 pixels pour les fonds par exemple). J'avais basé l'ancienne version sur les graphismes de la dernière mais pour la version 1.0 j'ai repris les graphismes de la version MVS pour avoir une zone de jeu un peu plus large et des bulles rondes. Aussi j'ai limité le rendu du jeu à la résolution d'origine (320x224, 320x216 sur CG-50) dans l'éventualité où j'ai encore plus de temps à perdre.
- Je crois que ce jeu est le père direct de tout les bubble shooters, j'ai pas trouvé de jeu plus vieux qui a le même type de gameplay. On pourrait éventuellement le mettre dans la généalogie des jeux match-3/tile-matching au même titre que Dr. Mario ou Columns.
- J'ai la version PC en fait, je savais pas qu'elle était sortie en 1995. Cette version a non seulement des fonds complètement différents mais aussi une sélection de niveaux originaux (120 au lieu de 30).
- La version que j'ai programmé n'a pas toutes les fonctionnalités du jeu d'origine. Je n'ai pas trouvé une bonne solution pour dessiner le guide d'assistance au début d'une partie de manière performance jusqu'à présent. Le problème trotte encore dans ma tête mais je ne promets rien. Même chose pour le mode versus, pas le moyen de tester ni les compétences pour engager quelque chose qui concerne le port série (ou une AI).
- Je réfléchis à un système de sauvegarde rapide au cas où un joueur quitte la partie mais j'ai des hésitations du au potentiel save-scumming rendu plus facile ainsi.

Addendum : Critor, si tu as besoin, je peux fournir des screnshots ou une capture vidéo du jeu. (La capture sera à 60 FPS donc ça sera probablement "trop beau" une calulatrice mais c'est à voir.)
Critor En ligne Administrateur Points: 2673 Défis: 18 Message

Citer : Posté le 26/04/2020 21:07 | #


Merci pour tous tes détails fort intéressants.

N'hésite pas à partager tout screenshot ou capture animée que tu juges pertinent pour la mise en avant de ton jeu.
Nous pourrons notamment les utiliser sur twitter - j'avais prévu un tweet dédié mais plutôt demain, parce le dimanche est l'un des jours les plus creux de la semaine depuis quelques temps (en tous cas selon les courbes de visites que nous montre GA).
Sentaro21 Hors ligne Membre Points: 878 Défis: 0 Message

Citer : Posté le 27/04/2020 12:04 | #


This is a great update.
I've played this game quite a bit in CG10/20.
I'm very happy to be able to play with the CG50 again.

In order to improve the frame rate, increasing the bus clock or reducing memory latency is more effective than overclocking the CPU.
Is there an option to show the frame rate in the game?
Je continue à développer C.Basic. (Il est compatible avec Basic Casio.)
Overclocking utilitaire Ftune/Ptune2/Ptune3 est également disponible.
Si vous avez des questions ou un rapport de bogue, n'hésitez pas à me le faire savoir.
Eiyeron Hors ligne Ancien modérateur Points: 5525 Défis: 57 Message

Citer : Posté le 27/04/2020 14:58 | #


Sentaro21 a écrit :
In order to improve the frame rate, increasing the bus clock or reducing memory latency is more effective than overclocking the CPU.


That was what I found out by toying with the clock settings (even if I still don't understand what kind of impact half of the settings on the main screen have nor the register-specific sub-screens), the game seems largely bound by drawing stuff on the screen. The default settings that brings the BFC to 117MHz is doing a dang great job.

I tried using the DMA but I quickly got visual garbage and the result wasn't really worth the effort. I'd love to master the DMA so I could blit partially the screen. Right now I understand we can only tweak the settings vertically, but cropping the render zone horizontally would be very welcome. Might be an interesting exercise.

Sentaro21 a écrit :
Is there an option to show the frame rate in the game?


There used to be a framerate counter. I might have to rewrite it, I counted the FPS by measuring a frame by its RTC ticks. It's just a matter of re-enabling it. I might throw a toggle in a future version, I found some visual glitches I fixed yesterday.
Totoyo Hors ligne Membre d'honneur Points: 16102 Défis: 102 Message

Citer : Posté le 27/04/2020 15:14 | #


Bravo Eiyeron et content de voir que tu penses toujours à nous

J'avais découvert ce jeu sur un Linux. Il était plaisant.
Lephenixnoir Hors ligne Administrateur Points: 24572 Défis: 170 Message

Citer : Posté le 27/04/2020 16:13 | #


I tried using the DMA but I quickly got visual garbage and the result wasn't really worth the effort. I'd love to master the DMA so I could blit partially the screen. Right now I understand we can only tweak the settings vertically, but cropping the render zone horizontally would be very welcome. Might be an interesting exercise.

This is not too difficult as long as you can control the screen. You basically need to set the visible region to whichever horizontal stripe you want to update, then perform the transfer normally. Bdisp_PutDisp_DD() would not like it though. I've coded it some time ago.

Now that I think about it, there is a syscall for that : Bdisp_PutDisp_DD_stripe
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Eiyeron Hors ligne Ancien modérateur Points: 5525 Défis: 57 Message

Citer : Posté le 27/04/2020 19:57 | #


Lephenixnoir a écrit :
This is not too difficult as long as you can control the screen. You basically need to set the visible region to whichever horizontal stripe you want to update, then perform the transfer normally. Bdisp_PutDisp_DD() would not like it though. I've coded it some time ago.


Yeha, I gave it a try, but I think I dropped when I thought I couldn't make an use of it. Seemed like it works until I want to play around with the horizontal coordinates, and at this point, it just gave me garbage. I didn't want to stay too long on the matter because for once I wanted just to finish that game and not getting fed off of a project before finishing it. I gave it a spin right now and it seems that it makes me gain a few frames per seconds on the higher overclocks. I'm using the sample code located here for now.

I'd like to good around having a true clipping region for the DMA and not only a stripe parameters because the game is centred and blitting the black untouched columns of pixels on each side seems quite a waste. I haven't found the documentation for the DMA yet so I can't tell if it supports offsetting memory addressees after each scanline, maybe you'd have a trick in your sleeve for that?

Edit: Aw, the DMA hook doesn't allow to tweak the transfer's parameters. Too bad, I'd have loved to see HBlank-powered visual effects akin to what the 16-bit era consoles could bring to us.
Lephenixnoir Hors ligne Administrateur Points: 24572 Défis: 170 Message

Citer : Posté le 27/04/2020 20:17 | #


You actually could specify the transfer area. This has nothing to do with the DMA, which just copies around the data at a fixed address. All you have to do is to set the window parameters of the LCD to a region with non-trivial x1 and x2 before starting the transfer. You'll still have to deal with the fact that the DMA usually copies blocks of 32 bytes so you might have a few pixels to copy by hand (?).

There is even a syscall for that in the topic you linked:

Bdisp_DefineDMARange(6,389,0,215);

6 to 389 is the selected x area. You know because 6 pixels is the size of the vertical stripes around the VRAM. 0 to 215 is the selected y area.

I've been using the full screen setting of 396x224 for months in gint without any kind of trouble. I'm sure you'll be able to do this even with just the syscalls.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Eiyeron Hors ligne Ancien modérateur Points: 5525 Défis: 57 Message

Citer : Posté le 27/04/2020 20:21 | #


I'm trying that right now, I'll see where it'll bring me to, I got the CPU's doc, thanks for the info.

Edit: after playing around, I finally got to make the DMA work the way I wanted. The next version will have its resolution bumped up to the original game's (320x224, allowing me to remove the hacks I had to add to make sure the game would fit the previous render region) plus it'll have a slight boost in performance.

So all current video captures and screenshots (minus the pack I sent to Critor) will be outdated as soon as I sent the 1.01, sorry for the inconvenience.

Ajouté le 01/05/2020 à 21:27 :
Version 1.1 uploadée.
- Changement des routines du dessin. Le jeu rend désormais sur du 320x224, comme l'original, plus de bidouilles pour faire rentrer les éléments à l'écran
- Gain de performances dû à l'utilisation du DMA (pas encore testé sur G90+), on atteint les 55FPS dans les meilleurs cas d'overclock et 13-15FPS sans overclock.
- Optimisation de la gestion des particules et autres effets
- Rajout de l'affichage des FPS en appuyant sur F6.
Lephenixnoir Hors ligne Administrateur Points: 24572 Défis: 170 Message

Citer : Posté le 01/05/2020 21:34 | #


Bien joué, c'était assez rapide ! o/
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Eiyeron Hors ligne Ancien modérateur Points: 5525 Défis: 57 Message

Citer : Posté le 01/05/2020 21:52 | #


Merci, on peut difficilement faire pire que 8ans pour une mise à jour, n'est-ce pas?

Pour les plans futurs, je suis toujours dans le nettoyage du code pour pouvoir le publier mais je suis aussi en train de réfléchir à rajouter un mode de jeu Marathon/Endurance pour compléter un peu le jeu. Ça va probablement nécessiter un peu de refactorisation pour que le système de tableau supporte d'autres modes de stockage de bulles. Dans l'instant, la grille n'évolue pas, elle est juste poussée par le "pusher", si je veux générer des bulles à l'infini, il va falloir que je retravaille cette partie pour alterner le positionnement. Ça devrait pas nécessiter beaucoup de changements mais ça va être quand même bien !!fun!!.
Lephenixnoir Hors ligne Administrateur Points: 24572 Défis: 170 Message

Citer : Posté le 01/05/2020 23:05 | #


Hey, on peut faire un abandon, c'est plus facile et ça prend pas 8 ans. Donc tu sais quoi, je suis bien content que tu sois arrivé au bout et que ça marche sans souci sur la Graph 90+E.

Si tu publies les sources, n'hésite pas à avoir un miroir sur la forge Gitea, c'est bienvenu. En attendant, s'il y a des nouveautés sympa à venir on en reparlera dans la RDP ou sur la page d'accueil.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Sentaro21 Hors ligne Membre Points: 878 Défis: 0 Message

Citer : Posté le 02/05/2020 02:31 | #


Thank you for the update to Version 1.1
It's usually 29 fps at normal CG50.
In overclocking, it reaches 55 fps.

I've found a bug.
[EXIT] doesn't seem to work.
Je continue à développer C.Basic. (Il est compatible avec Basic Casio.)
Overclocking utilitaire Ftune/Ptune2/Ptune3 est également disponible.
Si vous avez des questions ou un rapport de bogue, n'hésitez pas à me le faire savoir.
Eiyeron Hors ligne Ancien modérateur Points: 5525 Défis: 57 Message

Citer : Posté le 02/05/2020 11:32 | #


Exit doesn't work? That's a first. I could reproduce the issue on FX-CG Manager, I have an idea why it's happening. I'll keep you updated, sorry for the inconvenience.
Critor En ligne Administrateur Points: 2673 Défis: 18 Message

Citer : Posté le 02/05/2020 12:43 | #


Confirmed the issue on a real Graph 90+E.

My guess is you don't reset the screen controller properly after using the full screen mode.

[EXIT] seems to freeze the game display.
Note although you can't see it you did really exit the game; you can turn off the calculator with [SHIFT][AC].
But unfortunately, when you turn the calculator back on you get a corrupted display (although the display looks ok if captured through USB with ScreenReceiver). So no other way, you need to reset the calculator each time you play.


Ajouté le 02/05/2020 à 12:52 :
Confirmed a similar issue on the fx-CG20.

[EXIT] does freeze the game display, and you can turn off the calculator.
But on the difference the display is ok after turning the calculator back on.
Lephenixnoir Hors ligne Administrateur Points: 24572 Défis: 170 Message

Citer : Posté le 02/05/2020 12:56 | #


Remember to (1) wait for the last DMA transfer to finish, and (2) reset the window setting to 384x216 before returning. That's all I do usually.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Eiyeron Hors ligne Ancien modérateur Points: 5525 Défis: 57 Message

Citer : Posté le 02/05/2020 13:56 | #


Merci pour les reports, c'est corrigé et uploadé. Voici les changements pour la 1.02:

- Les sprites dupliqués où seule la palette change ont été enlevés, gain d'environ 200 KB
- Correction d'un souci graphique causé par une mauvaise gestion du DMA visible sur les modèles plus récents que ma vieille CG-20
- Correction sur les graphismes du background et sprites de bordure des niveaux 3-5.
Sentaro21 Hors ligne Membre Points: 878 Défis: 0 Message

Citer : Posté le 02/05/2020 14:42 | #


Thanks for the quick update!!
The updated version works very well.
Je continue à développer C.Basic. (Il est compatible avec Basic Casio.)
Overclocking utilitaire Ftune/Ptune2/Ptune3 est également disponible.
Si vous avez des questions ou un rapport de bogue, n'hésitez pas à me le faire savoir.
1, 2 Suivante

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 94 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