| [Résolu] Ressources externes | |
|
|
Auteur | Message |
---|
Liang Pas mal
Messages : 37
| Sujet: [Résolu] Ressources externes Ven 1 Avr 2011 - 22:52 | |
| Hmmm... J'ai l'impression de passer pour un gros débutant à chaque fois que je viens poser une question ici ahah Mais c'est juste que je me penche sur des aspects plus "avancés" du GML et donc, forcément, je galère un peu en ce moment... Sinon, je tiens à préciser que je sais me débrouiller un minimum !
Or donc, je cherche cette fois ci à créer mes jeux en me servant de ressources externes (je pense plus particulièrement aux sprites actuellement), et me pose quelques questions :
L'utilisation de ces ressources externes optimise-t-elle vraiment le jeu ? (en supprimant à chaque fois les sprites inutilisés bien sûr) Lorsque l'on met à disposition, en ligne, un projet fait avec des ressources externes, l'utilisateur peut interagir à sa guise avec celles-ci, non ? (Remplacer les images en gardant les noms par exemple.) Comment remédier à cela ? Dans le cas où l'utilisateur installe le dossier de jeu dans un emplacement différent de celui indiqué dans le code du .gmk, faut-il utiliser pour chaque sprite la fonction "sprite_find_first(mask,attr)" pour trouver chaque sprite recherché ?
Merci d'avance, Liang.
Dernière édition par Liang le Lun 4 Avr 2011 - 9:50, édité 1 fois |
|
| |
onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: [Résolu] Ressources externes Ven 1 Avr 2011 - 23:00 | |
| Pour vérifier si un sprite n'as pas été modifié/changé tu peut faire un test de parité avec certains octets. Ou sinon tu peut utiliser un truc simple : Tu regarde ce que la somme de tous les octets (ou un sur 2 ou ce que tu veux) modulo 256 donne comme valeur et tu la stock dans l'exe, pis avant de charger ta ressource tu fait un test pour voir si c'est toujours la même valeur. Si le gars a changé la ressource t'as 255 chances sur 256 de le savoir. Par contre la faudrait faire une dll vu la lenteur des fonctions de lecture de GM. |
|
| |
Liang Pas mal
Messages : 37
| Sujet: Re: [Résolu] Ressources externes Ven 1 Avr 2011 - 23:19 | |
| Je ne sais absolument pas me servir des octets avec GM. Je n'ai d'ailleurs qu'une représentation imprécise de ce qu'est un octet, et comment il est géré par l'ordinateur (et encore, merci wikipédia) !
D'après ce que j'ai compris, ce serait une mesure de l'information contenue dans les fichiers ? Mais, en faisant cela, ne risque-t-on pas de tomber sur de nombreux éléments ayant le même nombre d'octets ? (avec la masse de fichiers présents sur les ordis...) |
|
| |
CoDeAVE Utilisateur confirmé: Rang **
Messages : 408 Localisation : Québec
| Sujet: Re: [Résolu] Ressources externes Ven 1 Avr 2011 - 23:56 | |
| - onilink_ a écrit:
- Pour vérifier si un sprite n'as pas été modifié/changé tu peut faire un test de parité avec certains octets.
Ou sinon tu peut utiliser un truc simple : Tu regarde ce que la somme de tous les octets (ou un sur 2 ou ce que tu veux) modulo 256 donne comme valeur et tu la stock dans l'exe, pis avant de charger ta ressource tu fait un test pour voir si c'est toujours la même valeur. Si le gars a changé la ressource t'as 255 chances sur 256 de le savoir. Par contre la faudrait faire une dll vu la lenteur des fonctions de lecture de GM. Pourquoi pas un modulo de 1 000 000 ou plus? |
|
| |
Adamo Utilisateur confirmé: Rang ***
Messages : 681 Localisation : Quebec
| Sujet: Re: [Résolu] Ressources externes Sam 2 Avr 2011 - 1:54 | |
| au pire si tu as peur que ton contenue sois modifier ou autre, tu prend une dll qui ouvre les fichier a partir dune archive rar/zip ou autre avec un password :O |
|
| |
onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: [Résolu] Ressources externes Sam 2 Avr 2011 - 10:15 | |
| Pour le modulo c'était un exemple, me suis mal exprimé. En tout cas faire une dll qui fait cette vérification est extrêmement simple, et le traitement devrais être super rapide. Donc si ça t'intéresse je peut te coder ça. |
|
| |
Liang Pas mal
Messages : 37
| Sujet: Re: [Résolu] Ressources externes Sam 2 Avr 2011 - 11:01 | |
| Ce serait avec grand plaisir ! (Ok, je viens de voir la doc sur les Dll, ça n'a pas l'air hyper compliqué de les appeler depuis GM !)Merci Adamo pour cette astuce, je vais voir comment faire cela avec GM ! |
|
| |
onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: [Résolu] Ressources externes Sam 2 Avr 2011 - 11:42 | |
| |
|
| |
Liang Pas mal
Messages : 37
| Sujet: Re: [Résolu] Ressources externes Sam 2 Avr 2011 - 14:40 | |
| Ok, à ce que je vois, ton script permet donc de récupérer la valeur en "modulo octet" d'un fichier au démarrage du jeu, c'est bien cela ?
Le "problème" étant qu'il n'y a pas moyen de savoir si un utilisateur a changé le fichier entre deux session de jeu, si ? La solution serait de stocker chaque modulo octet de chaque fichier image dans un fichier texte pour vérifier à chaque début de jeu s'il y a une différence entre les deux ? |
|
| |
onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: [Résolu] Ressources externes Sam 2 Avr 2011 - 15:02 | |
| En fait avant de compiler ton exe tu récupère les valeurs de chaque ressources et tu fait ensuite des tests :
if( verify_value("image.png", ton_modulo) != valeur_image ) show_error("Fichiers corrompus", 1)
Les valeurs doivent donc être calculées et écrites avant de créer l'exécutable. |
|
| |
Liang Pas mal
Messages : 37
| Sujet: Re: [Résolu] Ressources externes Sam 2 Avr 2011 - 15:16 | |
| Ah oui d'accord, nickel ça marche j'ai compris ! Par contre, c'est un peu long, si je dois calculer ça pour chaque image de mon jeu... :/
Et pour ce qui est du chemin du fichier, changeant selon l'endroit où l'utilisateur place son dossier, comment faire ? |
|
| |
onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: [Résolu] Ressources externes Sam 2 Avr 2011 - 15:56 | |
| ben tu les met en relatif.
Par exemple ton jeu est dans le dossier Game , et les ressources sont dans un dossier Res (situé dans Game). Alors pour avoir accès a la ressource au lieu de mettre tout le chemin tu met juste Res\Nom ressource. De plus y a aussi des variables globales comme working_directory pour connaitre l'emplacement de l'exe de ton jeu.
Après pour le système de contrôle t'as qu'a l'automatiser avec les file_find et tu sauvegarde ton dans le clipboard par exemple pour ensuite les utilise. Enfin c'est un exemple mais c'est sur que faire tout a la main n'est pas conseillé :p |
|
| |
zebdal Utilisateur confirmé: Rang *****
Messages : 2874 Localisation : Chez Vanilla Projet Actuel : Shrapnel
Kanon
Sengoku Rance Online
Vanilla H
| Sujet: Re: [Résolu] Ressources externes Sam 2 Avr 2011 - 16:47 | |
| - Citation :
- L'utilisation de ces ressources externes optimise-t-elle vraiment le jeu ? (en supprimant à chaque fois les sprites inutilisés bien sûr)
oui - Citation :
- Lorsque l'on met à disposition, en ligne, un projet fait avec des ressources externes, l'utilisateur peut interagir à sa guise avec celles-ci, non ?
oui - Citation :
- Comment remédier à cela ?
crypter les données. mais même avec ca, la personne pourra toujours chercher à modifier le fichier et il y arrivera. ou alors il hackera simplement ton programme game maker pour récupérer ton code de cryptage (très simple à faire). dans tous les cas, que tu caches ou non tes sprites et autres de quelque manière que ce soit, il y aura toujours un moyen de récupérer ces fichiers, même si tes fichiers ne sont pas en externes et sont cryptés. si tu veux que tes données soient sécurisés, n'utilise pas game maker. |
|
| |
onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: [Résolu] Ressources externes Sam 2 Avr 2011 - 16:52 | |
| Pas faux, mais a mon avis Liang ne veux pas protéger ses ressources, mais juste empêcher le premier venu de les modifier sans que le jeu ne s'en rende pas compte. |
|
| |
zebdal Utilisateur confirmé: Rang *****
Messages : 2874 Localisation : Chez Vanilla Projet Actuel : Shrapnel
Kanon
Sengoku Rance Online
Vanilla H
| Sujet: Re: [Résolu] Ressources externes Sam 2 Avr 2011 - 17:13 | |
| moi je trouve ca marrant de pouvoir éditer les ressources du jeu pour le faire à sa sauce.
|
|
| |
Liang Pas mal
Messages : 37
| Sujet: Re: [Résolu] Ressources externes Lun 4 Avr 2011 - 9:50 | |
| Oui effectivement, au final ce n'est pas si grave que ça ! C'était pour voir s'il n'était pas possible de faire quelque chose de plus "professionnel", mais après tout, si l'utilisateur veut changer quelques trucs, pourquoi pas. Surtout que ce n'est pas le joueur lambda qui va chercher à modifier les ressources d'un jeu ! Merci pour ces réponses efficaces ! Liang. |
|
| |
Contenu sponsorisé
| Sujet: Re: [Résolu] Ressources externes | |
| |
|
| |
| [Résolu] Ressources externes | |
|