Posté le 05/10/2013 11:25
Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 74 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
Citer : Posté le 05/10/2013 18:42 | #
xD On est pas dans Inception non plus !
Bon la compression je pense pas que ce soit trop mon truc, mais en gros si j'ai bien compris, je mets mon niveau sous forme [[x,x][x,x]]->Mat A, et ensuite je fais une boucle comme a dit Dodormeur qui retranscrit les chiffres de la matrice en une Str !
Citer : Posté le 05/10/2013 18:45 | #
voila, et si tu veux economiser de la place, tu peut meme mettre plusieurs case dans un nombre (mais c'est plus compliquer)
par exemple
0100011101 -> mat A[1,1]
et pour decompresser
mod(mat A[1,1]/A^10,10) == 1=>strjoin(str 1,"F")->str1
next
donc voila, dans l'idée c'est ca
envie de plonger dans la mer pour ramasser des tresors? => ballon sea
envie de sauver l'univers dans un jeu avec une longue durée de vie? => saviors of the future
un add-in addictif avec plein de secret et de trophées => evasion survival
un shmup bien dur et sadique => saviors 2
merci a tout le monde pour son soutien
zelda prizm de smashmaster (en esperant qu'il puisse le finir)
les tests de marmotti
un RPG de dark storm
(dont je connais le nom, mais pas vous )Arcuz !Citer : Posté le 05/10/2013 18:46 | #
Fait attention car il te supprimera le 0 du début dans la matrice
Zelda de Smashmaster
Super Geek Brothers de Siapran
Pac-Man
Pac-Man Color
Meta Ball
Add-ins Jetpack Joyride et Pac-Man sur PRIZM (les 2 non commencés mais en réflexion)
A la recherche des sprites jetpack Joride si quelqu'un les a en couleur
Citer : Posté le 05/10/2013 18:48 | #
mais cela ne changera rien, car meme si le zero est supprimé, mat A[1,1]/A^10 renvera 0 si le nombre n'est pas assez grand
envie de plonger dans la mer pour ramasser des tresors? => ballon sea
envie de sauver l'univers dans un jeu avec une longue durée de vie? => saviors of the future
un add-in addictif avec plein de secret et de trophées => evasion survival
un shmup bien dur et sadique => saviors 2
merci a tout le monde pour son soutien
zelda prizm de smashmaster (en esperant qu'il puisse le finir)
les tests de marmotti
un RPG de dark storm
(dont je connais le nom, mais pas vous )Arcuz !Citer : Posté le 05/10/2013 18:51 | #
Hein Inception? Où ça? (c'est mon film préféré, cf mon avatar!)
Pour la compression, c'est un peu au cas par cas, faut voir s'il n'y a pas d'infos inutiles et minimiser la place libre: pour Timeless Remix, j'ai pris des suites de 14 cases, -> binaire, -> décimal, je stocke, et ça 3 fois pour la partie réelle + 3 fois pour la partie imaginaire de la variable => 14*6 = 84 cases en une variable!
Puis je stocke le reste dans l'autre variable, et les objets, j'ai pris 3 chiffres, mais 2 suffisent! (leur n° de case entre 1 et 95, cf entropie de Shannon pour les initiés), résultat: une niveau entier en 2 variables complexes!
Enfin bref, ce qu'il faut c'est optimiser, ne garder que la "substantifique moelle" de l'information, le nombre minimal de renseignements nécessaires pour caractériser ton objet/niveau...
J'espère que ce que je dis t'aide un peu...
Edit: Dodormeur: voilà c'est l'idée, et après tu peux recompresser sur le binaire pour encore gagner de la place!
Timeless Remix
Super Run & Jump
Timeless
Les tests vidéo de Marmotti
Timeless Remix Airwolf
Citer : Posté le 05/10/2013 18:55 | #
bon maintenant ca depend aussi du nombre de blocs different, mais tu peut carrement prendre une base non-conventionnelle (genre 5) en changeant juste la valeur du modulo et de l'exposant (par contre, il te faudra faire un codeur de niveau dans ce cas la)
envie de plonger dans la mer pour ramasser des tresors? => ballon sea
envie de sauver l'univers dans un jeu avec une longue durée de vie? => saviors of the future
un add-in addictif avec plein de secret et de trophées => evasion survival
un shmup bien dur et sadique => saviors 2
merci a tout le monde pour son soutien
zelda prizm de smashmaster (en esperant qu'il puisse le finir)
les tests de marmotti
un RPG de dark storm
(dont je connais le nom, mais pas vous )Arcuz !Citer : Posté le 05/10/2013 19:01 | #
j'aimerais juste voir genre si je peux pas faire un SRJ2 avec du scrolling vertical, mais ça va être plus chaud...
(Enfin Remiweb l'a déjà fait avec Calcraft donc ça devrait le faire!)
C'est pas bien compliqué et le jeu reste rapide
D'ailleurs j'ai recodé ce scrolling cet après-midi, l'ancien était pas super optimisé (et le code bordélique a force de rajouter des trucs un peu partout)...
Citer : Posté le 05/10/2013 19:05 | #
Dodormeur le codeur c'est indispensable! On va pas rentrer tous les chiffres 1 par 1!
Remiweb Oui mais tu gères quelle hauteur? Parce que le système "une Str/ligne" ne fonctionne plus quand on a plus de 20 "étages"...
Enfin c'est pas pour tout de suite que je m'y remet! Pas avant août 2014 après mes concours!
Timeless Remix
Super Run & Jump
Timeless
Les tests vidéo de Marmotti
Timeless Remix Airwolf
Citer : Posté le 05/10/2013 19:05 | #
Oulahh alors là je suis complètement perdu Oo ! J'ai rien compris au code de dodormeur et vous commencez à parler d'hexa et de binaire, je vous suis plus là x)
Je sais pas en quelle classe vous êtes mais moi je viens de rentrer en seconde
Citer : Posté le 05/10/2013 19:07 | #
Ah oui c'est que moi je suis en MP*... (math spé)
Evidemment t'es pas obligé de te lancer direct dans un truc de cette envergure, t'as le temps de prévoir! (moi j'ai commencé en première)
(et c'était quoi le rapport avec Inception?)
Timeless Remix
Super Run & Jump
Timeless
Les tests vidéo de Marmotti
Timeless Remix Airwolf
Citer : Posté le 05/10/2013 19:11 | #
Bah à vrai dire je pensais pas à un truc si compliqué x)
J'ai réussi à faire un scrolling mais après vos méthodes me permettront d'accélérer le jeu.
Bon en tout cas merci pour vos réponses, je verrais ce que je vais faire
Tu peux même compresser les chiffres de la matrice dans une Str (ironie du sort) et tu appliques plein de transformations via les bases numériques, pour compresser et re-compresser le tout!
On va compresser, puis compresser, puis compresser x)
Citer : Posté le 05/10/2013 19:18 | #
Ah oui...
Moi c'est plutôt la récursivité qui me fait penser à Inception: on descend dans les niveaux d'appels récursifs, et quand on est tout en bas on trouve la réponse, et on ressort de tout les niveaux en simultané!
Et tu sais je disais juste qu'après avoir compressé via le binaire, tu pouvais recompresser en décimal, et les mettre dans une même variable à la suite, par exemple, c'est tout! T'es pas obligé d'appliquer l'algorithme de Huffman! (euh attend... Mais si c'est une bonne idée en fait! J'aurais dû le faire pour mes Str! :aie2: )
Bonne chance en tout cas!
Timeless Remix
Super Run & Jump
Timeless
Les tests vidéo de Marmotti
Timeless Remix Airwolf
Citer : Posté le 05/10/2013 19:30 | #
pour le binaire, c'est une base differente de la notre
nous on compte avec 0,1,2,3,4,5,6,7,8,9, alors que l'ordi ne compte qu'avec des 0 et des 1
donc 1 en decimal = 1 en binaire
2 = 10
3 = 11
4 = 100
etc.
c'est d'ailleurs pour ca que certains nombre reviennent souvent en progra (par exemple, les 256 caracteres, c'est 2^8 )
envie de plonger dans la mer pour ramasser des tresors? => ballon sea
envie de sauver l'univers dans un jeu avec une longue durée de vie? => saviors of the future
un add-in addictif avec plein de secret et de trophées => evasion survival
un shmup bien dur et sadique => saviors 2
merci a tout le monde pour son soutien
zelda prizm de smashmaster (en esperant qu'il puisse le finir)
les tests de marmotti
un RPG de dark storm
(dont je connais le nom, mais pas vous )Arcuz !Citer : Posté le 05/10/2013 19:41 | #
Hein Inception? Où ça? (c'est mon film préféré, cf mon avatar!)
Pour la compression, c'est un peu au cas par cas, faut voir s'il n'y a pas d'infos inutiles et minimiser la place libre: pour Timeless Remix, j'ai pris des suites de 14 cases, -> binaire, -> décimal, je stocke, et ça 3 fois pour la partie réelle + 3 fois pour la partie imaginaire de la variable => 14*6 = 84 cases en une variable!
Puis je stocke le reste dans l'autre variable, et les objets, j'ai pris 3 chiffres, mais 2 suffisent! (leur n° de case entre 1 et 95, cf entropie de Shannon pour les initiés), résultat: une niveau entier en 2 variables complexes!
Enfin bref, ce qu'il faut c'est optimiser, ne garder que la "substantifique moelle" de l'information, le nombre minimal de renseignements nécessaires pour caractériser ton objet/niveau...
J'espère que ce que je dis t'aide un peu...
Edit: Dodormeur: voilà c'est l'idée, et après tu peux recompresser sur le binaire pour encore gagner de la place!
Tu peu donner un mode d'emploi plus clair stp? j'ai pas tout compris et je pense que ça pourrait améliorer de nombreux jeux
Citer : Posté le 05/10/2013 20:05 | #
Oui bien sûr, là j'ai expliqué à l'arrache.
Demain je détaille le tout!
Timeless Remix
Super Run & Jump
Timeless
Les tests vidéo de Marmotti
Timeless Remix Airwolf
Citer : Posté le 05/10/2013 20:09 | #
Tu peu donner un mode d'emploi plus clair stp? j'ai pas tout compris et je pense que ça pourrait améliorer de nombreux jeux
+1, c'est fouillis
Citer : Posté le 05/10/2013 20:29 | #
Ok, vivement demain...
Citer : Posté le 05/10/2013 20:46 | #
Moi je pense avoir compris : au départ on a une liste de 14 cases qui correspond au sol du jeu : si sur la liste il y a un 0 on affiche un trou, si il y a un 1 on affiche un #.
On se retrouve avec une suite de 0 et de 1 qui se retrouve stocké dans une liste, un chiffre par case.
Ce que alex fait, c'est qu'il considère cette suite comme un nombre affiché en base 2.
ex si on veut afficher # # # # #### on stocke|1|0|1|0|0|1|0|1|0|0|1|1|1|1| dans la liste un .
Il considère cela comme un nombre 10100101001111 qui en décimal vaut 10575.
Quel que soit le nombre en binaire, s'il contient 14 chiffres, son équivalent en décimal en possède au maximum 5 (11111111111111_binaire=16383_décimal).
Or une variable peut retenir des nombres qui possèdent jusqu’à 16 chiffres, après le nombre est arrondis.
On peut donc stocker 3 nombres de 5 chiffres dans une variable : si on veut stocker 10575, 16383 et 0 dans la variable A et bien on fait 0+16383*10^5 + 10575*10^10 →A , on a donc A=105751638300000.
De plus si le nombre est un nombre complexe (du type a+b*i , i étant un nombre particulier(imaginaire) : i²=-1);la variable stocke jusqu'à 16 chiffres pour a et 16 pour B .
Un exemple pour finir si A=105751638300000 + 123451258712501i); A stocke pour nous 10575, 16383 , 0,12345,12587 et 12501, ce qui convertit en binaire donne 10100101001111, 11111111111111, 00000000000000, 11000000111001, 11000100101011 et 11000011010101 ce qui correspond à
Citer : Posté le 05/10/2013 20:48 | #
Ok, je vais voir ça...
Citer : Posté le 06/10/2013 13:26 | # | Fichier joint
Voici ce que j'ai trouvé comme solution, qui n'est pas du tout compressée mais qui marche :
Je définis le niveau en 7 Str qui représentent chaque ligne, je fais une boucle qui retranscrit ce niveau en Matrice (si il y a rien, c'est 0, si il y a un # (piège) c'est 2 et si il y a autre chose c'est 1). Comme ça je peux mettre autant de caractères différents que je veux dans mon niveau, ils seront tous considérés comme blocs physiques (1). Ensuite je fais du scrolling avec ces 7 Str, mais je teste la collision grâce à la matrice.
Bon c'est pas compact parce que je vais prendre 10000 octets de Matrice pour ce programme x).
Mais bon j'ai rien compris à vos trucs de compression donc bon
Voilà j'ai mis en pièce jointe ce que ça donne si ça vous intéresse, il faut tout d'abord créer une matrice A de 7*66, ensuite il faut lancer d'abord INIT, puis MOTEUR2.
Ajouté le 06/10/2013 à 14:42 :
Et quelqu'un pourrait m'aider à faire un double saut ? Je me souviens plus du tout comment j'ai fait !
Citer : Posté le 06/10/2013 15:14 | #
Voilà c'est exactement comme ça que j'ai fait pour SRJ!
+1, c'est fouillis
Bah oui! Le but était de présenter le résultat pas de faire un mode d'emploi!
Bon AlexBasicC s'en est chargé pour moi... Si vous voulez une explication encore plus détaillée je veux bien créer un topic dédié et raconter en détails comment j'ai fait!
J'ai quelques précisions: en pratique ça marche pas complètement: j'ai pris 14 cases par 14 et pas 16 par 16 ou même 15 par 15 car la caltos peut arrondir spontanément même si l'on ne dépasse pas sa capacité! Exemple: 100000000000001 sera arrondi en 100000000000000 alors que 100000000000011 ne sera pas modifié.
Mon algorithme bug quand même des fois, il y a une map en particulier que j'ai du modifier parce qu'une case disparaissait sans cesse à la compression... Mais j'ai réduit ce risque au minimum je pense.
(c'est que je ne voudrais pas trop partir dans le HS... Vu que Drakalex ne semble pas trop intéressé par la compression, on n'est pas obligé de ne parler que de ça sur son propre topic... )
Timeless Remix
Super Run & Jump
Timeless
Les tests vidéo de Marmotti
Timeless Remix Airwolf