Le CPC #30 - Les profondeurs !
Posté le 27/05/2023 18:00
Bonjour/bonsoir à tous les amateur·es de programmation et de calculatrices... aujourd'hui on plonge dans un nouveau concours de programmation avec le 30ème édition du CPC.
Cette édition est la première depuis un bon moment (Juillet 2022) alors profitez-en bien ! Une Graph 90+E (la dernière de mon stock !) est à remporter pour qui produira le meilleur jeu.
Règles, lot et barème
L'objet du concours est de programmer un jeu sur calculatrice durant la période d'une semaine, sur un thème qui varie à chaque édition. En gros, c'est une game jam sur calculatrices ! Je serai votre testeur pour cette édition (un autre testeur pourra être recruté selon les disponibilités.)
- Tout membre inscrit peut participer. S'inscrire.
- Les participations doivent être postées avant le Samedi 3 Juin à 18h. Elles peuvent être modifiées avant cette heure mais plus après, jusqu'à ce que les jurés donnent le feu vert après avoir téléchargé les programmes. Soumettre un programme.
- Votre jeu doit être programmé en Basic, C.Basic, Python (officiel ou PythonExtra), ou C/C++ sur Graph monochrome ou Graph 90+E (essentiellement n'importe quel langage et n'importe quelle calculatrice sauf les Classpad).
- Les résultats seront annoncés le Jeudi 8 Juin.
Le lot de cette édition est une Graph 90+E, gracieusement offerte par
Casio Éducation.
Les soumissions seront évaluées avec le barème établi du CPC et comparées
à l'état de l'art du langage et modèle choisi et non les unes aux autres. Par exemple, la qualité des graphismes en Basic sur Graph mono sera jugée par rapport à ce qui se fait en Basic sur Graph mono et non par rapport à ce que les autres soumissions font en couleur sur Graph 90.
Le barème est le suivant :
- Gameplay : 3 points
- Graphismes et interface : 3 points
- Narration et univers : 2 points
- Level design : 1 point
- Interprétations originales, les bonus : 1 point
La catégorie
Gameplay comprend tout le fond de votre jeu. On cherche à savoir si le principe est inventif, si les règles sont bien équilibrées, si la difficulté est correctement ajustée, et si les éléments utilisés sont bien exploités, par exemple.
La catégorie
Graphisme et interface concerne tout l'aspect visuel du jeu, ainsi que la gestion des contrôles. C'est là que vous pouvez exploiter tous vos talents d'artiste : Picture, animations, fluidité, tout est bon pour marquer des points. La clarté des contrôles fait aussi partie de cette catégorie.
Dans
Narration et univers, on s'intéresse à la partie scénaristique de votre programme. Identifier des personnages, expliquer qui ils sont et pourquoi ils sont là, placer un cadre et donner des objectifs permet d'améliorer grandement le ressenti du joueur. Les pistes sont infinies !
La catégorie
Level design consiste à évaluer la façon dont les maps, énigmes, puzzles, niveaux, épreuves sont conçus. Pour gagner des points ici, il faut exploiter à fond les éléments introduits (par exemple des plateformes mouvantes dans un plateformer). Dans le rare cas où cette catégorie ne s'applique pas bien à votre jeu, on avisera.
Et enfin, les
Bonus sont un point supplémentaire attribué pour diverses raisons : éléments positifs ne rentrant pas dans le barème, interprétations originales ou inventives du sujet imposé, exploitation de genres rares de jeux, etc.
Le code n'est pas évalué (sauf s'il y a des bugs partout !), et la durée de vie non plus. Il y a des gros points à gagner pour les jeux qui prennent le temps d'avoir une narration et un univers détaillés. x3
Le thème
Le thème de cette édition est
« Les profondeurs »
Crédit image : underground city par MartaNael
Comme d'habitude le thème est une direction ; vous pouvez parler d'un lieu, d'un concept difficile, exploiter un jeu de mots, etc. Les interprétations originales sont bonifiées.
À vos calculatrices !
Citer : Posté le 02/06/2023 22:04 | #
*Farhi à mis K.O Acro*
*se relève péniblement*
Ouah. Le premier humain qui à réussi à me mettre K.O. Avec une image, en plus. Mais quelle image. J'ai vraiment hâte du g3a.
Et donc, là, c'est avec overclock ?
Citer : Posté le 02/06/2023 22:07 | #
Mdr (et pourtant il n'y a pas grand chose )
Et donc, là, c'est avec overclock ?
Yep !
Albert Einstein
Citer : Posté le 02/06/2023 22:08 | #
ah, mais du coup, quand y'avait pas d'overclock et que t'avais un ressenti de 25 fps max., c'était du 10 fps ?
c'est quand même giga !
Citer : Posté le 02/06/2023 22:08 | #
A mon humble avis, il vaudrait mieux avoir de l'éclairage "cuit" et non dynamique, mais qui est un peu mieux.....
Mais bon c'est déja plusieurs univers parallèles devant ce que je fais, donc je ne peux que baisser mon chapeau !
Caltos : G35+EII, G90+E (briquée )
Citer : Posté le 02/06/2023 22:12 | #
Ah ? C'est pas fini ? Avec autant d'avancées ?
Nan parce qu'il y a beaucoup de système qui sont pas encore accessible mais sont pourtant là, genre le système d'inventaire. Il est là ainsi que les centaines d'items mais on peut pas encore ramasser d'objet donc au final ce que vous allez voir c'est que 50% du vrai travail parce que le reste il n'est pas encore fini et donc pas encore utilisable.
Ahan
Tu y arriveras sûrement, peut-être pas pour demain, mais tu y arriveras
Crois en tes rêves
Ils vont surtout me poursuivre pour copyright oui
en vrai
Bon, on modifie un peu le nom là... "The Legend of Melda" ça passe hein
FastGeek, a very simple guy
Projet(s) terminé(s) : CRL
Projet(s) en cours :CRLII
Citer : Posté le 02/06/2023 22:19 | #
ah, mais du coup, quand y'avait pas d'overclock et que t'avais un ressenti de 25 fps max., c'était du 10 fps ?
Nan c'est du 5 fps mais je le répète encore une fois mais l'accélérateur artificielle que j'ai fait il est abusé
A mon humble avis, il vaudrait mieux avoir de l'éclairage "cuit" et non dynamique, mais qui est un peu mieux.....
Mais bon c'est déja plusieurs univers parallèles devant ce que je fais, donc je ne peux que baisser mon chapeau !
Mdr, j'ai réussi à te faire craquer Dis-toi juste que j'utilise aucune méthode conventionnel pour ma 3D. Je suis parti du principe que "Si ça se trouve, les méthode pour faire de la 3D moderne ne sont pas adapté pour la casio", du coup j'ai un système tout nouveau. Pour te dire, ChatGPT et Copilot il ne comprenait rien à ce que je faisais Mais au moins, j'ai pas de sinus et cosinus, matrices etc...
Ahan
Tu y arriveras sûrement, peut-être pas pour demain, mais tu y arriveras
Crois en tes rêves
Faut pas me dire ça, sinon je vais pas dormir pour le finir ce soir. C'est de la provocation involontaire
Bon, on modifie un peu le nom là... "The Legend of Melda" ça passe hein
Tant je ne reçois pas de courrier de leur part, je ne touche à rien
Albert Einstein
Citer : Posté le 02/06/2023 22:25 | #
Mdr, j'ai réussi à te faire craquer Dis-toi juste que j'utilise aucune méthode conventionnel pour ma 3D. Je suis parti du principe que "Si ça se trouve, les méthode pour faire de la 3D moderne ne sont pas adapté pour la casio", du coup j'ai un système tout nouveau. Pour te dire, ChatGPT et Copilot il ne comprenait rien à ce que je faisais Mais au moins, j'ai pas de sinus et cosinus, matrices etc...
Tu sais que tu fais un truc cool quand ChatGPT/Copilot comprennent pas.... Mais ducoup t'utilises quoi ? J'ai pensé a du BSP comme Doom, ou même a des vecteurs et tu remplis de textures entre... Mais je vois vraiment pas comment tu peux faire de la 3D sans trigo...
Edit : Après avoir regardé les screens, déja tu dois utiliser des quads et pas des triangles, et la perspective fait pas super naturelle quand on fait attention donc tu dois pas faire de la 3D rigoureuse.... il y a anguille sous roche mais j'arrive pas a mettre le doigt dessus....
Caltos : G35+EII, G90+E (briquée )
Citer : Posté le 02/06/2023 22:35 | #
Tu sais que tu fais un truc cool quand ChatGPT/Copilot comprennent pas....
Ou que tu fais vraiment n'importe quoi
Mais ducoup t'utilises quoi ? J'ai pensé a du BSP comme Doom, ou même a des vecteurs et tu remplis de textures entre... Mais je vois vraiment pas comment tu peux faire de la 3D sans trigo...
Rien de tout ça, oublie tout ce que tu connais.
J'utilise principalement la technique du décalage. En gros je décale et je réduis l'affichage des textures en fonction de leur positions. C'est aussi simple que ça
Albert Einstein
Citer : Posté le 02/06/2023 22:38 | #
J'utilise principalement la technique du décalage. En gros je décale et je réduis l'affichage des textures en fonction de leur positions. C'est aussi simple que ça
Dans ce cas là, il doit il y a avoir des sacrées optimisations a faire.... vu que c'est quasiment de la 2D smooth scrolling en fait...
Mais ducoup ça veut dire qu'en fait je fais de la "3D" plus rigoureuse que toi avec mon raycaster
Caltos : G35+EII, G90+E (briquée )
Citer : Posté le 02/06/2023 22:41 | #
Mais ducoup t'utilises quoi ? J'ai pensé a du BSP comme Doom, ou même a des vecteurs et tu remplis de textures entre... Mais je vois vraiment pas comment tu peux faire de la 3D sans trigo...
Rien de tout ça, oublie tout ce que tu connais.
J'utilise principalement la technique du décalage. En gros je décale et je réduis l'affichage des textures en fonction de leur positions. C'est aussi simple que ça
Tu utilises une troisième coordonnée virtuelle ? Ou les modèles sont vraiment en 3D dès le départ ?
FastGeek, a very simple guy
Projet(s) terminé(s) : CRL
Projet(s) en cours :CRLII
Citer : Posté le 02/06/2023 22:49 | #
Dans ce cas là, il doit il y a avoir des sacrées optimisations a faire.... vu que c'est quasiment de la 2D smooth scrolling en fait...
Mais ducoup ça veut dire qu'en fait je fais de la "3D" plus rigoureuse que toi avec mon raycaster
C'est ce qu'on pourrai se dire : "c'est de la 2D donc c'est plus rapide" sauf que si c'était si simple, le jeu tournerai à 100 fps. Je t'ai dis grossièrement le principe que j'utilise mais tu te doute bien que j'ai fait pas mal de modification pour faire des Particules en 3D et plein d'autres possibilité.
Mais oui dans le fond ton raycaster est beaucoup plus proche de la vrai 3D que mon moteur. Mais si je te l'avais pas dit tu ne l'aurais jamais deviné
Tu utilises une troisième coordonnée virtuelle ? Ou les modèles sont vraiment en 3D dès le départ ?
J'utilise en effet une 3ème coordonné virtuelle, elle sert à changer la taille, à déterminé l'ordre d'affichage, la vitesse de déplacement des objets (un objet loin se déplace moins vite qu'un objet proche, le principe de parallaxe)
Albert Einstein
Citer : Posté le 02/06/2023 22:52 | #
Ha sinon... Cadeau
Albert Einstein
Citer : Posté le 02/06/2023 22:53 | #
"c'est de la 2D donc c'est plus rapide"
Mais oui dans le fond ton raycaster est beaucoup plus proche de la vrai 3D que mon moteur. Mais si je te l'avais pas dit tu ne l'aurais jamais deviné
C'est toujours une excuse pour ma lenteur
Caltos : G35+EII, G90+E (briquée )
Citer : Posté le 02/06/2023 22:53 | #
J'utilise en effet une 3ème coordonné virtuelle, elle sert à changer la taille, à déterminé l'ordre d'affichage, la vitesse de déplacement des objets (un objet loin se déplace moins vite qu'un objet proche, le principe de parallaxe)
Ah d'accord. C'est vrai que ça a l'air beaucoup plus simple que des modèles entiers
Et donc après, en fonction de la distance l'affichage change (taille, ombre, etc), un peu comme avec le "spinning donut" quoi
FastGeek, a very simple guy
Projet(s) terminé(s) : CRL
Projet(s) en cours :CRLII
Citer : Posté le 02/06/2023 22:54 | #
hawwww :3
y'a déjà les cinématiques de début ?
Hé, par contre, Zelda ressemble moins à la Zelda dans le jeu, elle à les hanches moins grosses (Eragon, tu te tait )... Quoi ?
Citer : Posté le 02/06/2023 22:55 | #
Ha sinon... Cadeau
Bon mais : The legend of Zelda sans Zelda...
Je suis en train de travailler sur TD'PC : un Tower Defense sur G35+EII (Bien sûr que oui je travaille dessus )
Cursor Location
Proies
Citer : Posté le 02/06/2023 22:55 | #
Hé, par contre, Zelda ressemble moins à la Zelda dans le jeu, elle à les hanches moins grosses (Eragon, tu te tait )... Quoi ?
Je prends quand même hein.....
Caltos : G35+EII, G90+E (briquée )
Citer : Posté le 02/06/2023 22:56 | #
Ben oui, j'ai pas dit que c'était nul x)
C'est juste que ça ce remarque
ça va finir en discution PMU, ça...
Citer : Posté le 02/06/2023 22:59 | #
Hé, par contre, Zelda ressemble moins à la Zelda dans le jeu, elle à les hanches moins grosses (Eragon, tu te tait )... Quoi ?
Heuuuu… WTF. J'ai pas parlé de zelda moi…
Citer : Posté le 02/06/2023 23:02 | #
Le gros truc c'est que c'est plus facile de pas redessiner l'écran entier chaque frame.... Et ducoup c'est aussi pour ça que Super Mario 3D se fait caca dessus quand tu baisse la caméra non ? Les transformations sont plus intensives a calculer a ces angles...
T'as tout compris En gros il calcule à l'avance le "step" de l'image quand l'angle est faible le step est très grand donc plus rapide à afficher. A l'inverse si le step est inférieur à 1 le jeu est en pls
un peu comme avec le "spinning donut" quoi
Non je dirai c'est comme quand un gamin fait de la 3D sur du papier Tu fais un gros carré puis tu traces des diagonales
y'a déjà les cinématiques de début ?
Qui a dit que c'était une cinématique ? C'est pas comme si on pouvait la contrôler non, non, non
Albert Einstein
Citer : Posté le 02/06/2023 23:09 | #
A mon avis c'est assez pourri comme solution, mais je suis bien obligé de constater les résultats.... Et ducoup c'est assez limité en terme de distance de rendu et de taille de champ de vision ?
En plus d'être limité en angle de caméra (rendant la première personne impossible), mais je suis sûr que il y a des meilleurs moyens de faire de la 3D.
Vous devez vous lasser de m'entendre parler de Doom mais pour moi c'est juste la meilleure approche a la 3D sur un matos aussi limité, avec le raycasting juste derrière. Après de la rasterisation avec très peu de polygones doit être possible, mais il faut un cerveau plus gros que le mien pour faire marcher ça, surtout sur G90
PS: Par exemple dans la scène de ta 1ère image il y a ~38 triangles a rasteriser si tu joue bien, et encore moins de quads.
Caltos : G35+EII, G90+E (briquée )