| GMPaint | |
|
+5bibi675 Wargamer Chulien arthuro Pringle 9 participants |
|
Auteur | Message |
---|
Pringle Petit bavard
Messages : 55 Projet Actuel : Plusieurs projets... en pause quasi permanente
| Sujet: GMPaint Ven 6 Mar 2009 - 22:41 | |
| GMPaint Auteur: Pringle Date de Sortie: Pas maintenant Copyright: Non
Avancement Actuel: |||||||||||||||||||| ~ 30% :p_hello: tout le monde ! Je voulais faire avec GM un logiciel genre Paint, ça m'étonnerait qu'il surpasse un jour tous ceux déjà existants (Photofiltre, Photoshop, plein d'autre, et je ne parle même pas de la 3D), en fait c'est surtout pour m'améliorer dans l'utilisation de GM que je me suis lancé dans ce projet. A cette heure, il est possible d'afficher rectangles, ellipses, triangles, lignes, polygones divers, textes et sprites externes avec bordure, transparence, dégradé,blend mode. Un screenshot qui montre ce qu'il y a déjà : - Spoiler:
Vieille image datant d'avant le moment où j'ai retapé tout le code de GMPaint, maintenant ce résultat pèse 649 octets et non pas 1,66 ko.
En fait GMPaint enregistre un maximum de données sous la forme d'un fichier texte, ça permet d'économiser de la place (sans pinceau, entre quelques centaines d'octets et quelques ko; avec, une dizaine si on n'en abuse pas). J'aimerais bien rajouter d'autres screenshots (notamment avec des pentagones, octogones, et autres polygones), mais ça me prendrait trop de temps de faire quelque chose de beau avant d'avoir mis en place une partie au moins de l'interface (donc je garde la surprise jusqu'à la démo) Améliorations à effectuer :- (Ré)intégrer les surfaces, pour le pinceau (quoi que...) - possibilité d'obtenir le GML de l'image - possibilité d'enregistrer en .bmp - faire l'interface - mettre les modifications diverses (taille, couleur, blend mode, alpha, etc) Ce qui a déjà été fait : - Sauvegarde, charge avec des .txt les plus économes possible en place - Gestion de figures géométriques simples (rectangles, lignes, ellipses, triangles), et polygones (autant de côtés que voulu), de texte, de sprites - GM n'affiche pas d'erreur en cas de chargement d'un mauvais fichier ou d'un inexistant Informations Complémentaires & Techniques:Type de Jeu Logiciel Multijoueurs: Non (et puis quoi encore lol ?) Spécification d'utilisation: Pour l'instant faut juste un PC pas trop vieux, un écran... L'exe fait 2,3 Mo, les sauvegardes .txt quelques KoResolution: 1024*768 en mode fenêtré, non réglable, enfin pour l'instantChangement de résolution opérable: / Pas encore (ça viendra sans doute un jour)Version de Game Maker utilisée: 7.0 Pro
Dernière édition par Pringle le Sam 14 Mar 2009 - 19:44, édité 6 fois |
|
| |
arthuro Utilisateur confirmé: Rang ****
Messages : 1483 Localisation : Paris Projet Actuel : Diagon https://arthursonzogni.com/Diagon
| Sujet: Re: GMPaint Sam 7 Mar 2009 - 0:07 | |
| ça c'est cool.
Si tu arrive a faire quelque chose de pousser où on pourrais dessiner et mettre le code dans gm, sa plairait à plus d'un. Sa existe déjà, mais si c'est mieu, c'est n'est que mieu .
Sinon j'avais essayer de faire quelque chose dans le même genre, mais je ne m'y était pas attaché assez longtemps pour le finir. J'avais penser a faire plusieurs élément.Que l'on pose et qu'en le sélectionnant on peut voir un menu pour le modifier quand on veut (genre, couleur, blend mode, transparence) Un peu comme l'éditeur flash, ou des éditeur d'image vectorielle. mais si tu as déjà commencé avec une autre idée, garde la, c'est déjà très avancé j'ai l'impression. |
|
| |
Chulien Utilisateur confirmé: Rang *****
Messages : 2232
| Sujet: Re: GMPaint Sam 7 Mar 2009 - 0:53 | |
| tiens ça me donne une idée, vous connaissez drawn to life? c'est un jeu de plates formes sur ds ou on dessine son perso et ses armes jpense que ça doit être faisable mmm mmiamiam :pac_gh: enfin bonne chance |
|
| |
Wargamer *Excellent utilisateur*
Messages : 6938 Projet Actuel : Bataille de cake au fruits
| Sujet: Re: GMPaint Sam 7 Mar 2009 - 3:08 | |
| si j'ai bien compris tu veux faire comme le projet.kkreiger? enregistrer des truc immense en seulement quelque ko? si oui bon courage je susi de tout coeur avec toi _________________ Règle #1 du CBNA, ne pas chercher à faire dans la subtilité; personne comprend |
|
| |
bibi675 Utilisateur confirmé: Rang *****
Messages : 2456 Localisation : Oise Projet Actuel : Jeu par navigateur original
| Sujet: Re: GMPaint Sam 7 Mar 2009 - 10:31 | |
| Ton projet à l'air d'être bien partis donc bon courage pour la suite ! - Pringle a écrit:
- - Créer les images pour les divers menu :snif2:
Si tu me décris précisement ce que tu veux, je peux m'en occuper. _________________ |
|
| |
arthuro Utilisateur confirmé: Rang ****
Messages : 1483 Localisation : Paris Projet Actuel : Diagon https://arthursonzogni.com/Diagon
| Sujet: Re: GMPaint Sam 7 Mar 2009 - 11:26 | |
| si besoin, quelque image: prend le gif |
|
| |
Pringle Petit bavard
Messages : 55 Projet Actuel : Plusieurs projets... en pause quasi permanente
| Sujet: Re: GMPaint Sam 7 Mar 2009 - 12:24 | |
| Merci à tous pour vos encouragements ! @ bibi675 : En fait il me faut plein d'images de 24 sur 24 ou 32 sur 32 pixels, pour chacune des actions à effectuer : - des images pour charger, sauvegarder - pour la création d'éléments : rectangle, disque, triangle, texte, charger une surface, un sprite, supprimer surface/sprite, pinceau - pour la modification : taille, angle, couleur (simple), couleur (dégradé), transparence, bm_mode, bordure, positionner juste au dessus, positionner juste en dessous, supprimer, image d'un pot de colle Après il faut une séparation entre chaque icône, tu peux rassembler toutes les îcones en quelques images (en ligne ou en colonne), ou faire chaque icône séparément, comme tu veux. @ Wargamer : On pourra tout enregistrer en quelques ko sauf les surfaces, qui servent pour le pinceau. (là faut enregistrer sous forme d'image, car je vois pas comment enregistrer chaque couleur de chaque pixel dans un fichier texte sans faire 1 000 000 de lignes) @ arhuro : je suis pas sûr d'avoir compris. Il faudrait pouvoir dessiner en tapant une ligne de code plutôt qu'en cliquant sur des boutons, ou alors pouvoir afficher les images obtenues dans n'importe quel jeu avec quelques lignes de code ? Sinon merci pour les images, mais je sais pas si elles conviendront parfaitement, je vais voir... |
|
| |
arthuro Utilisateur confirmé: Rang ****
Messages : 1483 Localisation : Paris Projet Actuel : Diagon https://arthursonzogni.com/Diagon
| Sujet: Re: GMPaint Sam 7 Mar 2009 - 12:47 | |
| oui que l'on puisse dessiner dans ton logiciel et intégré le dessin sous forme de script dans game maker en faite une fonction "obtenir script"
le script il y aurait dedans par exemple: draw_line(15,68,146,42) draw_line(15,68,642,1) draw_rectangle(0,65,45,11) draw_rectangle_color(0,13,68,42,c_white,c_black,c_red,c_red) |
|
| |
Pringle Petit bavard
Messages : 55 Projet Actuel : Plusieurs projets... en pause quasi permanente
| Sujet: Re: GMPaint Sam 7 Mar 2009 - 13:48 | |
| Le seul problème c'est qu'il faudrait parfois utiliser deux scripts, notamment pour créer les fonts et charger les sprites... Mais ça n'a pas l'air trop compliqué à mettre en place (enfin pour les strings et images c'est une autre histoire) D'ailleurs je vais m'en charger avant un script d'inversion (pour faire passer une figure au dessus d'une autre ou en dessous) qui m'exaspère Sinon tu viens de me rappeler que j'ai oublié d'intégrer les lignes :p_lol: Edit : En fait enregistrer le code GML de l'image crée 2 fichiers, 1 pour la création des fonts/sprites, et 1 pour ce qu'il y a à faire en Draw. Par contre faudra pas utiliser execute_file sur le premier .txt, car GM affiche une erreur quand il lit les '\'. Là j'ai bientôt fini le script :lng: Edit2 : Bien sûr faudra obligatoirement la version Pro pour utiliser les scripts obtenus Edit3 : Le script est fini, et sans bugs :fier: |
|
| |
Wargamer *Excellent utilisateur*
Messages : 6938 Projet Actuel : Bataille de cake au fruits
| Sujet: Re: GMPaint Sam 7 Mar 2009 - 15:50 | |
| ba pour les image j'ai lu on truc qui rend hyper bien niveau poid - Spoiler:
kkrieger makes extensive use of procedural generation methods:
Textures are stored via their creation history instead of a per-pixel basis, thus only requiring the history data and the generator code to be compiled into the executable, producing a relatively small file size.
je comprend trop comment c'est possible mais bon _________________ Règle #1 du CBNA, ne pas chercher à faire dans la subtilité; personne comprend |
|
| |
Pringle Petit bavard
Messages : 55 Projet Actuel : Plusieurs projets... en pause quasi permanente
| Sujet: Re: GMPaint Sam 7 Mar 2009 - 16:15 | |
| En gros... faut enregistrer l'historique des modifications errectuées :sourire: Je saurais le faire en créant jusqu'à 30 variables par seconde Non sérieusement, ça peut économiser pas mal de place, mais je vois pas comment épargner la mémoire vive avec ce système |
|
| |
Mass *Excellent utilisateur*
Messages : 3351 Localisation : Dans une canonnière wookie. Projet Actuel : Monter des trucs et des machins
| Sujet: Re: GMPaint Sam 7 Mar 2009 - 16:35 | |
| moui mais ça marche que avec des dessins ayant peu de formes... Si tu fait une ville en pixel art, elle va peser très lourd |
|
| |
Wargamer *Excellent utilisateur*
Messages : 6938 Projet Actuel : Bataille de cake au fruits
| Sujet: Re: GMPaint Sam 7 Mar 2009 - 17:32 | |
| ah ouai je comprend la pour les texture 3D c'est utile mais pour la 2D ca sert a rien ma faute j'ai rien dit _________________ Règle #1 du CBNA, ne pas chercher à faire dans la subtilité; personne comprend |
|
| |
Invité Invité
| Sujet: Re: GMPaint Sam 7 Mar 2009 - 18:15 | |
| lol n'importe quoi... quel rapport avec kkrieger ? c'est juste un fichier texte qui contient des protions de code de draw, c'est pas sorcier. |
|
| |
bibi675 Utilisateur confirmé: Rang *****
Messages : 2456 Localisation : Oise Projet Actuel : Jeu par navigateur original
| Sujet: Re: GMPaint Sam 7 Mar 2009 - 18:41 | |
| - Pringle a écrit:
- Merci à tous pour vos encouragements !
@ bibi675 : En fait il me faut plein d'images de 24 sur 24 ou 32 sur 32 pixels, pour chacune des actions à effectuer : - des images pour charger, sauvegarder - pour la création d'éléments : rectangle, disque, triangle, texte, charger une surface, un sprite, supprimer surface/sprite, pinceau - pour la modification : taille, angle, couleur (simple), couleur (dégradé), transparence, bm_mode, bordure, positionner juste au dessus, positionner juste en dessous, supprimer, image d'un pot de colle Après il faut une séparation entre chaque icône, tu peux rassembler toutes les îcones en quelques images (en ligne ou en colonne), ou faire chaque icône séparément, comme tu veux. Ça sera fait dans les jours qui viennent ! :fier: _________________ |
|
| |
Pringle Petit bavard
Messages : 55 Projet Actuel : Plusieurs projets... en pause quasi permanente
| Sujet: Re: GMPaint Sam 7 Mar 2009 - 19:27 | |
| - bibi675 a écrit:
- Pringle a écrit:
- Merci à tous pour vos encouragements !
@ bibi675 : En fait il me faut plein d'images de 24 sur 24 ou 32 sur 32 pixels, pour chacune des actions à effectuer : - des images pour charger, sauvegarder - pour la création d'éléments : rectangle, disque, triangle, texte, charger une surface, un sprite, supprimer surface/sprite, pinceau - pour la modification : taille, angle, couleur (simple), couleur (dégradé), transparence, bm_mode, bordure, positionner juste au dessus, positionner juste en dessous, supprimer, image d'un pot de colle Après il faut une séparation entre chaque icône, tu peux rassembler toutes les îcones en quelques images (en ligne ou en colonne), ou faire chaque icône séparément, comme tu veux. Ça sera fait dans les jours qui viennent ! :fier: Un grand merci à toi , d'ailleurs faudra que je fasse une liste de remerciements spéciaux :-D - Max a écrit:
- moui mais ça marche que avec des dessins ayant peu de formes... Si tu fait une ville en pixel art, elle va peser très lourd
Ben là vaut mieux enregistrer en image plutôt qu'en fichier texte :gniah: - shm31 a écrit:
lol n'importe quoi... quel rapport avec kkrieger ? c'est juste un fichier texte qui contient des protions de code de draw, c'est pas sorcier. En fait c'est plutôt des variables que j'enregistre (le code c'est possible aussi, si on veut intégrer l'image dans un jeu sans prendre trop de place, mais ça prend quelques ko en plus ). Mais je te remercie, car indirectement tu m'as donné une idée Sinon maintenant faut que je bosse, allez hop un petit script pour intervertir deux figures (ça m'avait paru tout simple au début, mais en fait... :gniah: ) |
|
| |
bibi675 Utilisateur confirmé: Rang *****
Messages : 2456 Localisation : Oise Projet Actuel : Jeu par navigateur original
| Sujet: Re: GMPaint Sam 7 Mar 2009 - 19:40 | |
| Si tu veux enregistrer tes données en binaire (donc ça prend beaucoup moins de place), n'hésite pas à me demander comment faire ! Car j'ai déjà mis en place un petit système de stockage binaire et mes algorithmes sont tous chauds. :fier: _________________ |
|
| |
arthuro Utilisateur confirmé: Rang ****
Messages : 1483 Localisation : Paris Projet Actuel : Diagon https://arthursonzogni.com/Diagon
| Sujet: Re: GMPaint Sam 7 Mar 2009 - 20:00 | |
| - bibi675 a écrit:
- j'ai déjà mis en place un petit système de stockage binaire et mes algorithmes sont tous chauds. :fier:
je peut voir? |
|
| |
bibi675 Utilisateur confirmé: Rang *****
Messages : 2456 Localisation : Oise Projet Actuel : Jeu par navigateur original
| Sujet: Re: GMPaint Sam 7 Mar 2009 - 20:33 | |
| _________________ |
|
| |
Pringle Petit bavard
Messages : 55 Projet Actuel : Plusieurs projets... en pause quasi permanente
| Sujet: Re: GMPaint Sam 7 Mar 2009 - 21:58 | |
| Intéressant :fier: J'ai récupéré le gmk, j'essaierai de comprendre un peu plus tard, pour l'instant j'ai déjà pas mal de soucis... Toujours mon script d'inversion qui est très long, puis après il y aura le souci de la sélection des figures (notamment pour les triangles, textes, cercles) Sinon j'ai essayé de me renseigner sur les surfaces Et bien je n'y comprend tout simplement rien (j'ai lu la section "Drawing Surfaces" dans l'aide de GM, la traduction en français, j'ai voulu essayer quelques trucs...rien :gniah: ); je pense que je vais remettre le pinceau à plus tard pour le moment... |
|
| |
bibi675 Utilisateur confirmé: Rang *****
Messages : 2456 Localisation : Oise Projet Actuel : Jeu par navigateur original
| Sujet: Re: GMPaint Sam 7 Mar 2009 - 22:37 | |
| Pour l'outil Pinceau, je ne sais pas comment tu procèdes mais tu pourrais tout simplement enregistrer la position du curseur toute les steps et tracer une ligne au fur et à mesure...
Comme ça pas de surfaces, très compact au niveau de la taille du fichier, facilement enregistrable/chargeable et seulement un seul fichier. _________________ |
|
| |
Pringle Petit bavard
Messages : 55 Projet Actuel : Plusieurs projets... en pause quasi permanente
| Sujet: Re: GMPaint Dim 8 Mar 2009 - 0:49 | |
| Au début j'y avait pensé, mais finalement j'avais abandonné cette idée, ayant peur que ça mange trop la mémoire vive Mais en fait j'ai jamais essayé alors... J'ai effectué un test, avec un draw_line_width supplémentaire par step avec une room_speed de 90 : - Avec seulement des lignes comme ça, on garde très longtemps 90 fps - Avec en supplément l'image du screenshot, la vitesse diminue constament : - 1000 lignes : 80 fps - 3400 lignes : 30 fps - 5100 lignes : 20 fps (noter aussi qu'après 32000 lignes y'a une erreur logiquement, mais j'ai pas testé assez longtemps) Après ça veut pas dire grand chose vu que sur un autre pc que le mien on peut avoir +/- de fps Bon normalement, même à 30 lignes/seconde quand on utilisera le pinceau, on ne devrait pas avoir autant de lignes crées (puis faudra que je fasse un script pour gommer) |
|
| |
bibi675 Utilisateur confirmé: Rang *****
Messages : 2456 Localisation : Oise Projet Actuel : Jeu par navigateur original
| Sujet: Re: GMPaint Dim 8 Mar 2009 - 10:40 | |
| Hum en effet, pas terrible, j'arrive à 70 fps à 5000 lignes avec mon code (et mon E8500 :hehe: ). Je pense que si tu garde ce principe là et que tu dessine dans une surface ça devrait passer. Après pour le chargement, il ne suffirait que de redessiner la surface sans bouffer de perfs contrairement au draw_line()... _________________ |
|
| |
Pringle Petit bavard
Messages : 55 Projet Actuel : Plusieurs projets... en pause quasi permanente
| Sujet: Re: GMPaint Dim 8 Mar 2009 - 11:19 | |
| Le problème c'est que je sais pas comment dessiner dans une surface :gniah:
Le seul truc qui s'affiche c'est des motifs bizzares non souhaités en bas de l'écran... (des petits traits de couleurs différentes, qui viendraient d'autres programmes qui nettoient pas à leur fermeture)
Sinon c'est dommage j'avais obtenu un script pour gommer (et au passage trouvé un script pour avoir la distance entre un point et une ligne, que j'ai pas trouvé sur le site) |
|
| |
bibi675 Utilisateur confirmé: Rang *****
Messages : 2456 Localisation : Oise Projet Actuel : Jeu par navigateur original
| Sujet: Re: GMPaint Dim 8 Mar 2009 - 11:25 | |
| J'arrive à plus de 9500 fps ( :gniah: j'ai un screen) avec les surfaces et le nombre de lignes est illimité ! Par contre un truc qui me fait trop flipper, la carte mère (pas le haut-parleur piezzo) fait un bruit quasiment inaudible qui est soit grave quand c'est dans les 1000 fps soit très aigu quand c'est dans les 9000 fps. Vous pensez que ma GeForce 8800 GT n'aime pas ? _________________ |
|
| |
arthuro Utilisateur confirmé: Rang ****
Messages : 1483 Localisation : Paris Projet Actuel : Diagon https://arthursonzogni.com/Diagon
| Sujet: Re: GMPaint Dim 8 Mar 2009 - 11:44 | |
| la distance entre un point est une ligne si je me souviens bien sa devrait être avec u(a,b) le vecteur directeur de la droite et t(x,y) on peut calculer a et b avec les deux points de la droite c(x1,y1)|d(x2,y2) a=(x2-x1) b=(y2-y1) ensuite mais je ne suis pas a 100% sûr distance=(b*x-a*y)/(sqrt(sqr(a)+sqr(b))) (sqrt(sqr(a)+sqr(b))) -> représente la l'intensité du vecteur directeur en utilisant Pythagore. et donc en rassemblant tous: avec 1 point et la droite (bc) a(x,y) b(x1,y1) c(x2,y2)
distance=((y2-y1)*x-(x2-x1)*y)/point_distance(x1,x1,x2,y2)je rappelle que je ne suis pas certainLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL Pour dessiner dans une surface: normalement tu dessine toujours dans la surface qui va être afficher en jeu. il faut changer la destination de toutes les action de dessin dans ta surface surface_set_target( surface) et ensuite pour revenir a la destination de l'écran tu met surface_reset_target() LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL j'ai le même problème pour certains de mes jeux où les surfaces affiche n'importe quoi. Sa m'intéresserait un script pour gommer ces erreurs LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL bibi675, 9500 fps? woua, impressionnant. Avec ceci ton écran n'affiche que 1 image sur plus de 100 ^^. Mon ordi arrive a avoir des pointes a 335 fps max avec un programme léger. (tu n'as pas un zéro de trop?) |
|
| |
bibi675 Utilisateur confirmé: Rang *****
Messages : 2456 Localisation : Oise Projet Actuel : Jeu par navigateur original
| Sujet: Re: GMPaint Dim 8 Mar 2009 - 12:02 | |
| Pas de zéro en trop Arthuro ^^. En fait je viens de trouver : c'est mon alimentation qui fait ça, ma carte tire trop quand elle est en charge ce qui fait que l'alim' de 500 W ne suit plus donc faut que je la change, enfin ça tombe bien car je pensait changer de boitier. Mais pour tes calculs : à quoi servent-ils ? :nezrouge: Dernière chose :Sur un maximum de 9999 fps (que j'ai mis en room_speed à la room). J'obtiens 9700 sachant que quand je mettais à 5000 fps, il me renvoyait 4500... Enfin bon : Tous les traits bizarres sont des vecteurs et le nombre à côté des FPS est le nombre de vecteurs. _________________ |
|
| |
arthuro Utilisateur confirmé: Rang ****
Messages : 1483 Localisation : Paris Projet Actuel : Diagon https://arthursonzogni.com/Diagon
| Sujet: Re: GMPaint Dim 8 Mar 2009 - 12:11 | |
| heu les calculs c'était juste pour calculer la distance minimal entre un point est une droite avec le: - Citation :
- et au passage trouvé un script pour avoir la distance entre un point et une ligne, que j'ai pas trouvé sur le site
j'ai pas su résister a trouver comment calculer sa. |
|
| |
bibi675 Utilisateur confirmé: Rang *****
Messages : 2456 Localisation : Oise Projet Actuel : Jeu par navigateur original
| Sujet: Re: GMPaint Dim 8 Mar 2009 - 12:12 | |
| Ah oui, excuse-moi, j'avais lu en diagonale et j'avais pas vu. :hehe: _________________ |
|
| |
Pringle Petit bavard
Messages : 55 Projet Actuel : Plusieurs projets... en pause quasi permanente
| Sujet: Re: GMPaint Dim 8 Mar 2009 - 12:15 | |
| J'ai fabriqué mon script comme ça : //distance_to_line(x,y,line x1, line y1, line x2, line y2)a = point_distance(argument2,argument3,argument4,argument5) dist = 99999 for(dl = 1;dl <= a; dl += 1) { dpx = argument2+(argument4-argument2)/a*dl dpy = argument3+(argument5-argument3)/a*dl if point_distance(argument0,argument1,dpx,dpy)<dist{dist = point_distance(argument0,argument1,dpx,dpy)} } return dist Après c'est pas vraiment exact ou optimisé. Lol je viens de comprendre pour les surfaces, en fait c'est jusque que je dessinais la surface sur elle-même (ça n'a pas de sens je sais ) et non pas sur l'écran Sinon pour nettoyer la surface, au premier step je dessine un gros rectangle blanc dessus (en plus ça change de mon fond gris) Edit : en fait si j'avais de mauvais résultats avec les draw_line, ça vient peut-être de ma carte graphique... Une Nvidia 5700 (ou peut-être 5300) ou un nom du genre je sais plus... en fait je peux pas dépasser 140 fps avec un casse-brique |
|
| |
Contenu sponsorisé
| Sujet: Re: GMPaint | |
| |
|
| |
| GMPaint | |
|