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 - Projets de programmation


Index du Forum » Projets de programmation » ParticuleEngine : l'éditeur de jeu pour calculatrice
Farhi Hors ligne Membre Points: 1375 Défis: 0 Message

ParticuleEngine : l'éditeur de jeu pour calculatrice

Posté le 27/05/2020 21:50

Vos retours seront cruciaux pour son amélioration,
merci d'avance pour une éventuelle suggestion de votre part.


Lien de serveur discord de ParticuleEngine : https://discord.gg/pQgRuEtdRA

Particule est un moteur de jeu pour calculatrice casio inspiré du logiciel Unity.
Il est capable d'importer de nombreux formats d'image et il peut transformer une image en couleur en .bmp compatible pour la casio.
On peut faire toutes sortes de jeux (RPG, aventure, arcade, plateforme, MMO, etc.).
Vous avez la possibilité de créer vos propres images et lignes de code (une documentation détaillée sera bientôt mise à disposition)
Pour l'instant il est possible de créer des jeux uniquement en 2D.

Je tiens à remercier les personnes suivantes pour m'avoir aidé: Lightmare, Sentaro21, Lephenixnoir, Zezombye, Kbd2
Des vidéos explicatives sont jointes.
Bon amusement !

Liens de téléchargement : Particule
Lien des vidéos Tuto : Playlist
Signaler un bug

Anciennes versions
Cliquer pour enrouler

Download : https://drive.google.com/drive/folders/1W3IiTccQw9a7GLTil6_Kff9-saHyjr5B?usp=sharing

Version 1.1 :


Vidéo présentant la création d'un Component (Partie 1):


Version 2.0 Beta




Précédente 1, 2, 3, 4, 5, 6, 7, 8 ··· 10, 11, 12 Suivante
Lephenixnoir En ligne Administrateur Points: 24574 Défis: 170 Message

Citer : Posté le 24/12/2021 16:45 | #


Demain ? Wow c'est Noël
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Farhi Hors ligne Membre Points: 1375 Défis: 0 Message

Citer : Posté le 24/12/2021 16:52 | #


Yep
Mais je vais voir car il faut aussi faire la page de présentation de Particule donc ça va être short en terme de délai.

Ajouté le 24/12/2021 à 20:37 :
Lephenixnoir, est-ce que je publie Particule sur Planet Casio ou sur le site de la documentation ?
Parce que j'aimerai avoir accès à la page de publication et faire des mise à jour si c'est sur Planet Casio
"La créativité est contagieuse faites la tourner"
Albert Einstein
Shadow15510 Hors ligne Administrateur Points: 5503 Défis: 18 Message

Citer : Posté le 24/12/2021 20:43 | #


Tu peut modifier ton programme une fois celui-ci posté la seule restriction est que tu ne peux pas le supprimer.
"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

Lephenixnoir En ligne Administrateur Points: 24574 Défis: 170 Message

Citer : Posté le 24/12/2021 20:43 | #


Ça nous arrange plus (les admins du forum j'entends) si tu le distribues sur Planète Casio, dans le sens où le "point central" pour télécharger les releases, s'informer des mises à jour et poser des questions serait ici. Est-ce qu'il y a quelque chose que tu voudrais faire dans une page de publication que tu ne pourrais pas faire dans un topic ici ?

Aussi rien ne t'empêche de mettre les fichiers sur ton serveur et des liens de téléchargements dans ce topic, ce qui nous "intéresse" c'est de ne pas diviser l'audience en plusieurs sites, le côté technique c'est indépendant.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Farhi Hors ligne Membre Points: 1375 Défis: 0 Message

Citer : Posté le 24/12/2021 20:52 | #


Lephenixnoir a écrit :
Est-ce qu'il y a quelque chose que tu voudrais faire dans une page de publication que tu ne pourrais pas faire dans un topic ici ?

La seule chose c'est que je veux aussi publier une version Windows compilé et du coup ça signifie qu'elle pèse pas mal genre 500 Mo donc il faudrait retirer la limite de taille pour ce projet.

Lephenixnoir a écrit :
Aussi rien ne t'empêche de mettre les fichiers sur ton serveur et des liens de téléchargements dans ce topic, ce qui nous "intéresse" c'est de ne pas diviser l'audience en plusieurs sites, le côté technique c'est indépendant.

L'autre site c'est juste la docu de Particule avec un page Report Bug en plus.
"La créativité est contagieuse faites la tourner"
Albert Einstein
Lephenixnoir En ligne Administrateur Points: 24574 Défis: 170 Message

Citer : Posté le 24/12/2021 20:55 | #


Ah oui ouf, 500 Mo c'est énorme. Juste tu es sûr que tu as besoin d'un truc aussi gros ? Quel genre de libs tu te trimballes pour avoir ça ? Pour info GCC sur mon PC fait 150 Mo avec tous ses utilitaires, et c'est déjà du très gros, donc ça paraît pas très... naturel o_o

Si t'as la place de mettre les 500 Mo sur ton site ça peut marcher aussi.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Farhi Hors ligne Membre Points: 1375 Défis: 0 Message

Citer : Posté le 24/12/2021 21:04 | #


Il y a beaucoup de librairie, genre une vingtaine (toutes utiles bien sûr) ce qui explique surement son poids.
Deuxième soucis, py2exe qui est le compilateur que j'utilise pour le transformer en exe, quand je le lance mon pc le détecte comme un virus. Evidemment, il n'y a pas de virus, mais j'ai lu sur internet que c'est un problème venait de py2exe qui compile comme un bourrin, et ça me soule.

Lephenixnoir a écrit :
Si t'as la place de mettre les 500 Mo sur ton site ça peut marcher aussi.

On peut faire des redirection d'URL ?
"La créativité est contagieuse faites la tourner"
Albert Einstein
Lephenixnoir En ligne Administrateur Points: 24574 Défis: 170 Message

Citer : Posté le 24/12/2021 21:09 | #


Hmm c'est subtil. Je me doute que toutes les libs sont utiles mais honnêtement je ne crois pas qu'il y a 500 Mo de code dans tout ça... je sais pas si tu te rends compte de ce que ça fait. Pour info gint tout entier ça fait 150 kio, donc même avec le code externe tu ne dois pas sans doute pas utiliser 3000 fois plus (enfin bref)

On peut faire des redirection d'URL ?

Tu peux mettre un lien vers www.tonsite.com/particule-0.2.zip dans le topic, pourquoi s'embêter ?
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Farhi Hors ligne Membre Points: 1375 Défis: 0 Message

Citer : Posté le 24/12/2021 21:11 | #


Lephenixnoir a écrit :
Tu peux mettre un lien vers www.tonsite.com/particule-0.2.zip dans le topic, pourquoi s'embêter ?

J'aimerai bien savoir le nombre de téléchargement c'est pour ça
"La créativité est contagieuse faites la tourner"
Albert Einstein
Lephenixnoir En ligne Administrateur Points: 24574 Défis: 170 Message

Citer : Posté le 24/12/2021 21:14 | #


Ah ! Pour ça je ne vois pas d'option facile. Tu peux mettre un compteur de ton côté si tu l'infra nécessaire... un programme de 500 Mo sur Planète Casio c'est probablement tendu pour le serveur à la fois en stockage et échanges de données. (Déjà les émulateurs je suis pas confiant dès que ça fait 100 Mo). Tu pourrais aussi tricher en mettant le lien dans un fichier texte en téléchargement sur PC mais à ce niveau-là ça devient contraignant.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Farhi Hors ligne Membre Points: 1375 Défis: 0 Message

Citer : Posté le 24/12/2021 21:43 | #


Finalement le .ZIP pèse 172 Mo, c'est la forme décompressé qui pèse 400Mo (à noté qu'il y a Particule et Visual Scratch donc c'est deux logiciel en un) .

Ajouté le 25/12/2021 à 00:10 :
Joyeux Noël !
Après deux ans de Travail, la toute première version Officiel sort enfin !
D'autres vidéos Tuto arriveront
(Je dis pas non a une revue de Projet ou un truc dans le genre dans Actualités pour Particule )
"La créativité est contagieuse faites la tourner"
Albert Einstein
Lephenixnoir En ligne Administrateur Points: 24574 Défis: 170 Message

Citer : Posté le 25/12/2021 07:59 | #


Bravo !

Farhi a écrit :
(Je dis pas non a une revue de Projet ou un truc dans le genre dans Actualités pour Particule )

Écris pour la RDP, on pourra en faire un article complet
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Farhi Hors ligne Membre Points: 1375 Défis: 0 Message

Citer : Posté le 25/12/2021 12:34 | #


Lephenixnoir a écrit :
Écris pour la RDP, on pourra en faire un article complet

Ok

Sinon :
Un correctif a été fait pour la version Windows car je me suis rendu compte qu'elle avait des problèmes au démarrage.
Vous devez tout extraire (y compris visual scratch) et ne pas modifier les emplacements des dossiers.


Ajouté le 26/12/2021 à 13:37 :
Je voulais savoir si quelqu'un a testé Particule et si oui me confirmer que ça fonctionne de votre côté, notamment la version Windows car elle est très instable par rapport à la version source.
(Par exemple la version Windows n'a pas l'air de fonctionner sur les 32 bits)

Ajouté le 27/12/2021 à 21:32 :
Voici un petit Time Lapse de la création d'un Menu Principale (pour un projet de jeu) avec Particule :
Particule Time Lapse : Projet new super mario bros

Ajouté le 28/12/2021 à 15:41 :
Je n'ai rien à rajouter

"La créativité est contagieuse faites la tourner"
Albert Einstein
Lephenixnoir En ligne Administrateur Points: 24574 Défis: 170 Message

Citer : Posté le 28/12/2021 15:43 | #


Euh... wait, pardon ? Si si t'as beaucoup de choses à rajouter ! xD

  • Moteur maison ou port ?
  • Comment est édité le modèle ?
  • Quelle relation par rapport aux fonctionnalités de Windmill ?
  • À titre d'information : pas encore de séparation dynamique des triangles (pour les triangles partiellement visibles) ?
  • Y a-t-il un z-buffer ?
  • Quelles performances jusqu-ici (est-ce que ça tient avec des textures) ?
  • Glitchs connus/stabilité ?

etc etc, on veut des détails
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Eragon En ligne Gardien des bots Points: 479 Défis: 0 Message

Citer : Posté le 28/12/2021 15:44 | #


Tu en a dit trop et pas assez en même temps.
Dis en plus !
Farhi Hors ligne Membre Points: 1375 Défis: 0 Message

Citer : Posté le 28/12/2021 15:51 | #


Lephenixnoir a écrit :
Moteur maison ou port ?

Moteur maison
Lephenixnoir a écrit :
Comment est édité le modèle ?

Sur blender puis un script python le transforme automatiquement
Lephenixnoir a écrit :
Quelle relation par rapport aux fonctionnalités de Windmill ?

Aucune, tout fait tout seul
Lephenixnoir a écrit :
À titre d'information : pas encore de séparation dynamique des triangles (pour les triangles partiellement visibles) ?

non pas encore
Lephenixnoir a écrit :
Y a-t-il un z-buffer ?

Oui mais il est pas dynamique (en gros quand la cam se déplace celui ci ne change pas)
Lephenixnoir a écrit :
Quelles performances jusqu-ici (est-ce que ça tient avec des textures) ?

Dès qu'on se rapproche du model 3D ça ram
Je suis en train d'essayer de l'implémenter, l'objectif serai d'utiliser les Bopti_image (et la class Texture de Particule)

Je savais que ça allait faire son effet

Malheureusement avec les gros model 3D (quand il y a plus de 300 triangles), il y a une erreur de mémoire.
"La créativité est contagieuse faites la tourner"
Albert Einstein
Lephenixnoir En ligne Administrateur Points: 24574 Défis: 170 Message

Citer : Posté le 28/12/2021 15:55 | #


Ah ben bien sûr ça fait son effet... ne gâche pas une si bonne idée en ne communiquant pas surtout, plus tu en dis plus il y aura de public !

Aucune, tout fait tout seul

Pas par rapport au code, mais aux fonctionnalités. Plus simple disons : qu'es-ce que ça fait exactement pour l'instant ? Rastérisateur de triangles classique (l'algo parallèle avec le rectangle englobant le triangles et les coordonnées locales u/v) plus un z-buffer ?

Est-ce qu'il y a du culling par exemple ? Comment est-ce que tu tries tes faces pour l'affichage ?

Malheureusement avec les gros model 3D (quand il y a plus de 300 triangles), il y a une erreur de mémoire.

À ce point-là ? Tu alloues quoi de gros ?
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Farhi Hors ligne Membre Points: 1375 Défis: 0 Message

Citer : Posté le 28/12/2021 16:07 | #


Lephenixnoir a écrit :
Est-ce qu'il y a du culling par exemple ? Comment est-ce que tu tries tes faces pour l'affichage ?

Oui il y a un culling. Il fait un calcul de distance pour chaque triangle et les ranges dans le bon ordre, puis il les affiches.

Lephenixnoir a écrit :
Tu alloues quoi de gros ?

Les models 3D et le tableau qui permet de faire le culling

à vrai dire j'ai repris ce projet là : vidéo du projet, que j'ai essayé de rendre compatible sur Graph 90.
J'ai passé une semaine pour l'adapter avec Particule.

C'est pour ça que la partie texturing est compliqué car je ne connais pas suffisamment Gint pour récupéré les pixels d'un Bopti_image.
Du coup si vous voulez avoir des textures sur les models, j'aurais besoin d'un petit coup de main sur ce point là.
"La créativité est contagieuse faites la tourner"
Albert Einstein
Lephenixnoir En ligne Administrateur Points: 24574 Défis: 170 Message

Citer : Posté le 28/12/2021 16:21 | #


C'est pour ça que la partie texturing est compliqué car je ne connais pas suffisamment Gint pour récupéré les pixels d'un Bopti_image.

Sur Graph 90+E c'est super facile ! Tout est marqué dans la définition de la structure ou presque.

Dans tous les cas width et height te donnent la taille. Ensuite, il y a plusieurs formats (nommés ici) indiqués dans profile. Le plus simple est RGB565 ; pour celui-là, le pixel à la position (x,y) c'est data[y*width + x].

Pour RGB565A, c'est pareil sauf que si le pixel indiqué est égal à .alpha alors il est transparent.

Pour P8 c'est un poil plus compliqué : data est un tableau de 256 couleurs (la palette), et à compter de data+256 (512 octets après le début) tu as un tableau de uint8_t contenant les indices dans la palette (un par pixel).

Pour P4 c'est encore un poil plus subtil ; la palette ne fait que 16 entrées, et à partir de data+16 (32 octets après le début) tu as un tableau où chaque nibble (moitié d'octet) représente un pixel. Sur la branche master du fxSDK les lignes peuvent s'arrêter au milieu d'un octet (si la largeur est impaire), mais sur la branche dev un octet non fini est complété par un nibble nul (tu devrais viser le nouveau comportement, ça sera fusionné bientôt).
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Farhi Hors ligne Membre Points: 1375 Défis: 0 Message

Citer : Posté le 28/12/2021 16:27 | #


D'acc merci pour les explication. Je vais donc essayer de faire le texturing, mais pas aujourd'hui car j'ai la flemme
J'ai trop travaillé sur Particule en ce moment, je vais faire une petite pause
"La créativité est contagieuse faites la tourner"
Albert Einstein
Lephenixnoir En ligne Administrateur Points: 24574 Défis: 170 Message

Citer : Posté le 28/12/2021 16:30 | #


Excellent ! Puisque tu as du temps, fais un petit message pour la RDP expliquant un peu comment ça marche
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Précédente 1, 2, 3, 4, 5, 6, 7, 8 ··· 10, 11, 12 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 202 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