Chute tridimensionnelle est un ajout fun à la Jam Python #1.
Dans Chute tridimensionnelle, vous chutez dans un tunnel en trois dimensions et vous essayez tant bien que mal de rester sur les plateformes et d'éviter les obstacles !
Vous êtes sur la plateforme du bas, et vous pouvez tourner de 90° vers la droite (simple tape sur AC/ON) ou tourner de 180° pour aller directement sur la plateforme du haut (double tape sur AC/ON).
Il y a trois types de sections que vous devez maîtriser et passer pour survivre : les sections vertes (positionnement), rouges (obstacles), et bleues (technique mixte). Tant que vous êtes sur une plateforme, votre score augmente. Si vous n'êtes pas supporté·e ou en contact avec un obstacle, votre score diminue rapidement !
Si votre score atteint 333, un truc sympa se produit (après quelques secondes de lag).
Contrôles
Simple appui sur AC/ON : Tourner vers la droite
Double appui sur AC/ON : Tourner de 180° (inversion)
Triple appui sur AC/ON : Quitter, pause
Chaque appui sur AC/ON interrompt le frame courant, qui doit recommencer ensuite. Il est quasiment impossible d'interrompre pour de vrai le programme, mais il y a une très fine tranche de temps où c'est possible parce que le bloc try/except n'est pas actif en permanence (ça ne m'est arrivé qu'une fois et par pur hasard). On pourrait réduire encore ce risque en imbriquant deux try.
Version Graph 90+E et Graph 35+E II
Chute tridimensionnelle est conçu pour la Graph 90+E.
Il y a aussi une version pour Graph 35+E II, mais comme la Graph 35+E II est lente le jeu est beaucoup moins dynamique. Je recommande d'utiliser Ftune3 pour accélérer la calculatrice. Appuyer sur F6 au démarrage pour décliner l'analyse de la RAM, puis choisissez F4 ou F5 ; pour revenir à la normale, choisissez F1
Côté performances, ça tient la route ; le tracé des lignes est le plus long, toute la logique avec des grosses listes ne l'influence presque pas. Je soupçonne que le tas tienne très bien dans le cache et qu'accéder à la VRAM l'embête, mais c'est pas une certitude.
Je pense avoir démontré qu'encore une fois le double buffering dans le système de dessin du Python est infiniment supérieur au Basic... et aussi démontré que l'absence d'entrées clavier est infiniment inférieure. On croise les doigts pour que ce soit ajouté. x)
Il y a des vraies transformations 3D là-dedans : différentes rotations, déformations, projections, du clipping (near-plane), profondeur de champ, des trucs comme ça (aussi quelques bugs que j'ai laissé par facilité).
L'image de présentation est une vidéo d'une version PC du programme, énormément transformée, pour tenir dans un GIF 50 ko et s'approcher de la fluidité de la calto. Screen Receiver capturait 1 frame sur 10 et laggait horriblement donc ouais.
Bonjour, comme ça directement non, mais je peux l'adapter assez facilement (c'est surtout une histoire d'ajuster les couleurs et la position des éléments à l'écran).
Je peux faire ça dans l'après-midi ; on verra si les performances sont bonnes, mais ça devrait être jouable au moins.
ah bonne idée
j'avais essayé de regarder le source mais honnêtement ce n'est pas de mon niveau et je n'ai pas tout compris loin sans faut.
d'avance merci pour cette portabilité
Petite update rapide, ça marche sur Graph 35+E II avec la version ci-joint, par contre c'est lent (genre beaucoup). Je vais optimiser un peu avant d'ajouter le fichier en téléchargement.
Si tu veux des explications sur le code Ptitjoz d'ailleurs, je serai ravi d'en donner.
Voilà, j'ai ajouté la version Graph 35+E II finale. C'est toujours assez lent (~2 FPS), mais la Graph 35+E II est plus lente que la Graph 90+E, je ne peux rien y faire à moins de réécrire tout le programme. Ftune3 s'en sort très bien cela dit, le preset à 117 MHz donne une expérience vraiment cool.
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