Messagerie


Stéganographie et Level Editor (niveau débutant).

Kloug
1497 messages
Fusion 2.5
lundi 7 août 2017 à 17:00
Merci infiniment pour ton exemple Patrice.

Le principe de la lecture tu l'avais déjà montré, dans Brick Editor Plus.

http://comptoir-mmf.eu/Forum/index.php?topic=1576.0

Et ailleurs si mes souvenirs sont bons, je ne doute pas une seconde que tout le monde a capté le truc sur le comptoir.

Seyjin
1471 messages
Fusion 2.5 Dev
Exporteur Android Exporteur HTML5 Fusion 2.5+
lundi 7 août 2017 à 19:03
En vrai, il ne suffit pas de coller un code dans une image pour faire de la stéganographie. Il faut aussi qu’il soit dissimulé, qu’on ne le voit pas. Et dans ce que tu propose, on voit bien qu’il y a quelque chose. C’est juste crypté.

Voici une image,


Il y a un truc codé dans l’image,


Le truc, c’est que dans l’image de base, toutes les couleurs ont une valeur R paire. Et là où on a un point noir dans le code, la couleur a une valeur R impaire.
Pièces jointes
Cyberclic
664 messages
Fusion 2.5 Dev
Exporteur iOS Exporteur Android Exporteur HTML5
lundi 7 août 2017 à 20:00
Pas mal Seyjin ! J'ai simplifié le code, je me crois toujours dans un Klik défi  :P
Pièces jointes
Seyjin
1471 messages
Fusion 2.5 Dev
Exporteur Android Exporteur HTML5 Fusion 2.5+
lundi 7 août 2017 à 20:27
Hoo  :love
Là j’apprends un super truc avec la valeur d’une chaine en binaire, merci  ;D
Cyberclic
664 messages
Fusion 2.5 Dev
Exporteur iOS Exporteur Android Exporteur HTML5
lundi 7 août 2017 à 20:51
Héhé. Moi j'ai appris à camoufler un code dans une image grâce à ton exemple. En général je ne me fait pas chier et tout est visible.

Ça peut être extra pour proposer des niveaux supplémentaires pour un jeu à télécharger, sous forme d'image Artwork. Toujours plus sympa qu'un vulgaire fichier texte ou tableau, ou une image qui ne ressemble à rien.
Seyjin
1471 messages
Fusion 2.5 Dev
Exporteur Android Exporteur HTML5 Fusion 2.5+
lundi 7 août 2017 à 22:34
Yui il faut que la méthode serve à quelque chose, sinon un tableau suffit. Par exemple on pourrait partager de niveaux avec juste une image illustrant le niveaux au lieux d’avoir plusieurs fichiers.

J’ai eu l’idée de cette méthode en observant les images de jeux pour Pico 8. Je pensais que seule les zones grises contenaient le code, mais en fait c’est toute l’image. Comme la palette de base est limitée, il peut y avoir beaucoup de variations pour le code.
Kloug
1497 messages
Fusion 2.5
mardi 8 août 2017 à 08:44
Heureux de constater votre satisfaction.

Seyjin Merci de ton exemple, de ta précision.

J'ai beau relire mes explications, il n'est question nul part de dissimulation, j'offre des ressources graphiques, à quoi bon les protéger.

Si tu ne prends pas le temps de souligner, que tu n'as pas tout compris concernant ma misérable méthodologie.

J'en reste là, pour les explications, pour la bonne raison qu'un gros travail de fond a été effectué avant de proposer le sujet, Stéganographie et Level Editor (niveau débutant).

Traduction du sujet, pour te faire plaisir, "Cryptage, décryptage, d'un layer pour un level "rpg".

Mes exemples sans mes explications sont des Klougs aux marrons roulés sous les aisselles.

Quand on veut traire génisse...
Patrice
2784 messages
Fusion 2.5 Dev Fusion 2.5
Firefly Exporteur UWP Exporteur iOS Exporteur Android Exporteur HTML5 Fusion 2.5+
mardi 8 août 2017 à 10:42
"La stéganographie est l'art de la dissimulation : son objet est de faire passer inaperçu un message dans un autre message. Elle se distingue de la cryptographie, « art du secret », qui cherche à rendre un message inintelligible à autre que qui-de-droit."

Modo : on
Il me semble que nous sommes tous ici pour contribuer afin de partager nos petites expériences. Sinon ce n'est pas sur le forum qu'il faut poster c'est un article qu'il faut faire. Merci de garder un ton courtois et bienveillant.

Modo : off
Merci, j'ai appris pleins de trucs grâce à ce post.

Modifié le vendredi 23 août 2019 à 11:54 par Patrice
Seyjin
1471 messages
Fusion 2.5 Dev
Exporteur Android Exporteur HTML5 Fusion 2.5+
mardi 8 août 2017 à 10:55
Ha non non non, tes idées sont très bonnes. Ma critique était juste lexicale.

Et la dissimulation n’as pas forcément pour but de protéger ses ressource, tout comme le cryptage. On en revient au parfait exemple des images de jeu Pico 8, qui permettent de partager l’image et le code en même temps.
Je ne remets pas du tout ton travail en question. Les idées que je donne ici sont qu’une extension des tiennes.

[edit] Et s’il te plait Kloug, peux tu arrêter de te dénigrer, même en plaisantant ? Tu apportes énormément de choses vraiment intéressantes.
Modifié le vendredi 23 août 2019 à 11:54 par Seyjin
Kloug
1497 messages
Fusion 2.5
mardi 8 août 2017 à 12:42
Hello!

Ouvrez la parenthèse.

*moderation*

Fermez la parenthèse.

J'apporterai plus tard plus de détails pour les débutants, en éditant le sujet.

Désolé Patrice, je n'ai pas le temps d'écrire un article.

@+++
Modifié le vendredi 23 août 2019 à 11:54 par Pit73
Kloug
1497 messages
Fusion 2.5
mercredi 9 août 2017 à 13:27
Bonjour!

Un débutant peut utilisé 31 tuiles sans problème, grâce à une palette RGB, généreusement offerte.

https://mega.nz/#!OAhT3Y7a!3TiWtfyFMfLbP4FMqCOC07WUPnhSBpyIWrTJt-Ey1kE

Utilisation avec CTF.

Un curseur entre en collision avec une tuile codée, CTF récupère le code couleurs RGB, via un compteur ou une variable.

Red=8 >> (8/8=1)-1 >> Créer objet actif >> Image n°1 = 0.

Red=16 >> (16/8=2)-1 >> Créer objet actif >> Image n°2 = 1.

Etc... Donc Valeur compteur = (Red/8)-1

Bonne continuation, pour ceux qui ont un projet de jeu vidéo en cours.

@+++

890 messages

mercredi 9 août 2017 à 14:22
Hello Kloug,

Pourquoi as-tu une limitation à 31 tuiles ? tu utilises une direction par tuile ? dans le cas de tuile animée peut être mais sinon, colle tout dans 1 seule direction et tu en auras beaucoup plus.
Sinon, passe par un objet picture et codes le nom de tes sprites ainsi :
A_B_C_nom du sprite.png
A est le numéro (unique) de la série de sprite que tu dois appeler (par exemple avec ton compteur basé sur le code RGB), B est le nombre d'image de cette série et C est la temporisation entre 2 images (la vitesse de lecture de ton anim). Et voilà, tu as une infinité de tuiles à 1 image ou N, hors de ton exe (donc maintenable comme tu le veux) et avec ton système d'image "ini".

merci beaucoup de ton partage en tout cas ! Bonne suite amigo ;)
Kloug
1497 messages
Fusion 2.5
mercredi 9 août 2017 à 15:02
Merci de ton retour ArthurH, je n'ai pas tout capté, si tu peux proposé un exemple, ce serait fort sympathique.

Kloug
1497 messages
Fusion 2.5
mercredi 9 août 2017 à 23:24
Oups! Quelle tête en l'air, j'ai oublié de répondre à tes questions ArthurH.

"Pourquoi as-tu une limitation à 31 tuiles ?"

Parce qu'une trentaine de tuiles, c'est cool pour un débutant.

"tu utilises une direction par tuile ?"

Plutôt, le numéro d'une image d'un objet actif, il me semble l'avoir précisé.

Voilà, avec ces informations, maintenant, toi aussi tu peux faire un exemple.

Bon courage, et surtout merci par avance.

Édit: Si besoin n'hésite pas à mettre une, ou plusieurs boucles rapides.
Emmanuel
2412 messages
Fusion 2.5 Dev Fusion 2.5
Firefly Exporteur UWP Exporteur iOS Exporteur Android Exporteur HTML5 Fusion 2.5+
mardi 15 août 2017 à 01:23
Bonjour super intéressant tout ça  :bravos
890 messages

mardi 15 août 2017 à 11:11
Salut Kloug !
çà va être difficile pour moi de te produire un exemple pour le moment.
le moteur est pas forcément compliqué mais il faut le faire en prenant pour principe que tu ne connais pas le nombre d'images dans ton répertoire. je ne sais plus ce que j'avais fait pour récupérer tous les noms des fichiers d'un répertoire pour les mettre dans une liste. La liste est ordonnée. Ensuite je scannais toute la liste pour récupérer le premier chiffre qui représente mon ID. C'est aussi le numéro de ton code RGB dans ton appli. Donc je sélectionne les lignes 1 à 1 via une loop, je la transfère dans string parser. (Nota : Chaque nom de fichier doit avoir le même nombre d'élément et dans le même ordre évidemment : ID_nombre d'images de la séquence_temporisation en ms_numéro de l'image).
Si le premier élément de la chaine mise dans string parser est égal à l'ID que tu recherche (ton code RGB), alors tu stoppes ta loop et tu charges dans le groupe d'animation cette image et tu initialises le compteur d'image maxi de ton animation ainsi que la tempo entre 2 chargements d'image.
Enfin dans ton moteur d'animation, tu lis tous les N ms (ta tempo) ton image "ID_nombre d'images de la séquence_temporisation en ms_(numéro de l'image +1)modulo (compteur image maxi)".

Le soucis est que pour le moment, je n'arrive plus à extraire les noms des fichiers d'un rep... et j'ai trop peu de temps en ce moment !
De plus il est fort possible (voir plus que probable) que ma solution est moisie par rapport aux pointures de ce forum ! ;)
Bonne suite !!!

Kloug
1497 messages
Fusion 2.5
mercredi 16 août 2017 à 08:07
Salut!

ArthurH, merci infiniment de ton exemple à ta façon.

A ton avis combien il est besoin de tuiles, pour réaliser un jeu vidéo avec des dizaines de niveaux?

A+
Monos
2713 messages
Fusion 2.5 Dev
Fusion 2.5+ Exporteur Android Exporteur HTML5
mercredi 16 août 2017 à 08:37

[quote]A ton avis combien il est besoin de tuiles, pour réaliser un jeu vidéo avec des dizaines de niveaux?[/quote]
C'est variable, avec une tuile "mur" tu peux faire un jeu. Nous ne pouvons plus trop le faire maintenant, mais en jouant avec les modif de couleur, un seul tuile peut être utilisé pour plusieurs tuiles.
Kloug
1497 messages
Fusion 2.5
mercredi 16 août 2017 à 14:00


Sans modifier une tuile (3 tiles maxi à l'écran), avec seulement un moteur de déplacement case par case, 4 directions.

Tu ferais quoi comme jeu?
Monos
2713 messages
Fusion 2.5 Dev
Fusion 2.5+ Exporteur Android Exporteur HTML5
mercredi 16 août 2017 à 16:14
un mazin game ou il faut ramasser des clef et éviter des ennemies.

Une tuile sol, une tuile mur, le troisième une porte.

Aprés ça sera une question de "sprites" clef, bonus d'arme pour tuer un ennemie si on le touche, bonus d'armure pour éviter de perdre de la vie si on touche un ennemie.

un game play comme ça.
Utilisateurs en ligne
  • Aucun utilisateur en ligne
  • 5 visiteurs au total

Derniers messages