Crunchez vos adresses URL
|
Rejoignez notre discord
|
Hébergez vos photos
Page 12 sur 12 PremièrePremière ... 2456789101112
Affichage des résultats 331 à 348 sur 348
  1. #331
    Je vais clarifier la question en prenant le contexte de mon jeu mais ça s'applique pour tout le monde :
    Les rooms sont en 1280x720, les vues sont intégrales (1280x720). Je permets au joueur de resize comme il veut, de passer en fullscreen, et GM est en mode "keep aspect ratio", ça me paraît être la base.

    Le problème, c'est comme n'importe quel agrandissement (genre un agrandissement d'une photo en x3). Le rendu sera potentiellement dégueulasse. Principalement parce que les sprites sont adaptés pour la taille de la room mais pas pour la résolution dans laquelle le joueur affiche le jeu.
    Et c'est pour ce problème que j'aimerais une solution efficace. J'avais pour idée d'utiliser de base des sprites de plus haute définition que celle dans laquelle ils seront affichés dans le jeu en faisant un scaling à leur création pour qu'ils soient de la taille désirée par exemple. Mais je ne sais pas si ça marcherait directement avec juste un basique xscale et yscale, ou s'il faudrait s'occuper de refresh le masque de collision aussi par exemple (ça se teste rapidement ceci-dit).

    C'est un problème de base pour n'importe qui voulant faire un jeu un minimum clean.
    Découvrez TrackMania RPG - Liste des canards (& Ajout auto) : Spelunky ; Rayman Legends ; Pinball FX2 / FX3

  2. #332
    A priori si tu touches au image_xscale et image_yscale via le code, le masque de collision est recalculé.
    De mémoire j'utilisais ça pour faire changer de sens des ennemis (xscale de 1 à -1)

    Je sais en tout cas que quand c'est fait à l'avance via le room editor le masque scale avec (c'est comme ça que je met les zones de collision).

    Peut-être faudra-t-il se méfier des problèmes d'arrondis pour ne pas avoir de demi-pixels ou quelque chose du genre?
    Je serais curieux de connaître le résultat de tes essais, ayant toujours choisi le moindre effort en la matière.

  3. #333
    J'ai discuté un peu sous une vidéo du sujet (cf. message ci-dessus) mais je suis pas énormément plus avancé. Après le problème reste léger pour le moment à ce niveau donc je ne m'embête pas trop avec.

    Rapport à un problème déjà eu avec la fonction ds_map_create() qui fonctionne comme un pointeur, si on essaie de copier la ds_map dans une nouvelle variable on ne fait que référencer le pointeur de base. Quelqu'un sait comment contourner le problème et copier vraiment la ds_map ?
    En l’occurrence là j'ai voulu tester un peu le système de particules et faire un effet simple de trainée derrière la balle. Ça fonctionne bien mais si je veux changer la couleur de la trainée pour les multi-balles qui sont d'une couleur différente, c'est un peu dommage d'avoir à copier les 10 lignes de déclaration du type de la particule juste pour un argument à changer dans le tas (c_white en c_red) :
    Code:
    // Ball trail particle effect
    ballTrail = part_type_create();
    part_type_shape(ballTrail, pt_shape_sphere);
    part_type_size(ballTrail, 0.5, 0.5, -0.005, 0);
    part_type_scale(ballTrail, 1, 1);
    part_type_colour1(ballTrail, c_white);
    part_type_alpha2(ballTrail, 0.1, 0);
    part_type_speed(ballTrail, 0, 0, 0, 0);
    part_type_direction(ballTrail, 0, 0, 0, 0);
    part_type_gravity(ballTrail, 0, 0);
    part_type_orientation(ballTrail, 0, 0, 0, 0, 0);
    part_type_blend(ballTrail, false);
    part_type_life(ballTrail, 100, 100);
    
    // Si je fais ça, je vais simplement me retrouver avec l'instance id de ballTrail et ça va modifier la couleur à rouge pour toutes les balles
    // Copier 10 lignes quasi identiques, c'est un peu laid. Même si je peux faire un script pour ça mais c'est pas beaucoup mieux
    multiballTrail = ballTrail;
    part_type_colour1(multiballTrail, c_red);
    J'ai vu qu'il n'y avait pas besoin à priori de déclarer speed, direction, gravity et orientation si c'est pour mettre 0 partout mais bon c'était pour découvrir un peu le truc et puis ça change pas grand chose en l'état.
    Découvrez TrackMania RPG - Liste des canards (& Ajout auto) : Spelunky ; Rayman Legends ; Pinball FX2 / FX3

  4. #334
    Plus j'avance dans le développement de mon jeu avec Game Maker, plus je découvre toutes les possibilités qu'il offre !
    Dernière trouvaille : les masques dynamiques.
    J'ai découvert ça grâce à un post de blog : https://www.yoyogames.com/blog/430/d...endering-masks
    Les images montrées sont assez simples mais on peut faire des trucs de oufs avec cette idée :



    J'ai aussi découvert Sparks, qui permet de visualiser très simplement des effets de particules : http://gmc.yoyogames.com/index.php?showtopic=539511
    Y'en a qui ont trouvé des effets de particules sympa, pour trouver un peu d'inspiration ?
    Et un post de blog pour ceux qui découvrent : https://help.yoyogames.com/hc/en-us/...ming-Particles

  5. #335
    Merci pour le partage!
    Ca a l'air sympa et ça rend bien dans ton exemple. Je prend note, il est temps de chopper un power-up effets graphiques

    J'ai acheté GM2 il y'a peu mais je n'ai pas encore sauté le pas pour les nouveaux projets, il a l'air mieux mais je pense qu'un bi-écran est nécessaire pour vraiment bien l'utiliser.
    Ton projet est sur 1.4 il me semble, il va y avoir un ultime update bientôt qui corrige les bugs audio introduits par la dernière mise à jour et le pop-up pénible d'erreur au lancement.

  6. #336
    J'ai acheté GM2, mais pour Abyss Crew je reste encore sur GM1.4, car j'ai toutes les releases disponibles (achetées en humble bundle), et ça m'évite de convertir un (gros) projet.
    Mais faudra bien y passer à un moment. L'absence de support futur ne me rassure pas trop...

  7. #337
    Après avoir testé plusieurs languages pour un projet perso, avec chaque fois des limitations bloquantes, je tente de le faire avec GMS2, que je découvre. Ce n'est pas un jeu, mais GMS semble répondre à tous mes besoins.

    J'ai bien avancé, mais j'ai maintenant un problème d'UI : il y a quoi comme moyen simple de créer une UI pas trop moche (boutons, champs texte quelque fois modifiables) ? Il faut forcément tout dessiner, et calculer les clics de souris chaque fois (if x entre A et B && y entre C et D alors l'utilisateur a cliqué sur le bouton), ou il y a des fonctions existantes, des objets, ou je ne sais quoi, pour aider ?
    Est-ce qu'il y a moyen d'ajouter des checkbox, des menus déroulants, etc, sans recréer le code de chaque élément ?

    Question bonus : pour un panneau qui sort d'un côté de la fenêtre et en recouvre une partie, quand la souris est au-dessus d'une zone donnée (panneau qui contient des options ici), vous feriez comment ? Une surface mise en buffer ? Dessin de tous les éléments d'option dans Draw GUI avec un if ? D'autres possibilités que je n'ai pas encore vues ?

  8. #338
    (je sais pas si t'as testé Godot mais y'a plein d'options et de nodes tout fait pour les UI, avec moyen de faire des thèmes, en tout cas les questions que tu poses ici j'ai déjà vu la réponse dans des tutoriels)
    Le premier chef d'œuvre d'une longue série, cliquez ici
    Le second, cliquez

  9. #339
    Citation Envoyé par Hyperpenguin Voir le message
    (je sais pas si t'as testé Godot mais y'a plein d'options et de nodes tout fait pour les UI, avec moyen de faire des thèmes, en tout cas les questions que tu poses ici j'ai déjà vu la réponse dans des tutoriels)
    Non, pas testé, et pour l'instant je voudrais rentabiliser autant que possible les heures passées à apprendre Game Maker.
    Au pire je refais tous les éléments d'UI, ça sera peut-être même plus efficace qu'avec des éléments prédéfinis (et ça sera assez moche, je suis pas un artiste...).

  10. #340
    Bon, j'ai avancé, en dessinant et gérant les boutons à la main. C'est pas ce qu'il y a de plus sexy, mais ça fonctionne, et c'est pas trop moche non plus. Par contre, ça fait un paquet de "if then else".
    Et je crois que je commence à prendre le pli, pour la portée des variables, les passages de valeur ou d'adresse, etc. Vu que j'arrive de mieux en mieux à utiliser le debugger, je commence à être à peu près à l'aise.


    Quelques questions, encore et toujours :

    Dans la définition d'un objet, il n'y a que quelques types de variables (integer, real, string, boolean, colour, expression, ressource, list), . Est-ce qu'il est possible de mettre une variable de type objet dans un objet (potentiellement le même, pour faire une liste chaînée) ? Si oui, comment déclarer cette variable, puisqu'on ne peut pas le faire dans la liste des variables de l'objet ? Dans le Create ? Avec un type de variable List ?

    A ce propos, il me semble qu'il n'y a pas de différence entre les variables définies dans le Create d'un objet, et les variables propres à cet objet, visibles dans la fenêtre "Variables definitions". Je me trompe ?

    De la même façon, j'aimerais avoir des infos sur la structure de base d'un jeu, et les best practices : par exemple comment gérer les paramètres généraux (un objet paramètre qui contient toutes les variables de paramètre, ou des variables d'un objet manager, ou des variables globales, etc), quels sont les avantages et limitations d'avoir un objet singleton qui gère tout le reste, ce genre de chose. Si vous avez des bons liens, je prends.


    Enfin, commence à se poser la question des sauvegardes/chargement de sauvegarde. Vous auriez des sources, pas en vidéo, sur les bases des sauvegardes dans gamemaker ? Presque tous les tutos GM sont sous forme de vidéo, j'aime pas du tout, je retiens moins bien, et je peux pas vraiment suivre ça au taf. J'ai quelques notions de base, mais pas très poussées (genre je vois vite fait ce qu'est la serialisation, pas vraiment quand et comment l'utiliser), et il faut adapter ça au fonctionnement de GM.


    Aujourd'hui, j'ai deux singleton : le manager primaire et un objet "video player" (basé sur une extension GMS qui permet de lire une video sur une surface, et pas en splash). Le manager primaire sert à charger une vidéo, et créer un nouvel objet video player pour une nouvelle vidéo. J'avais créé un objet pour contenir tous les paramètres, mais finalement je fais sans, pour ne pas avoir à retrouver l'instance chaque fois (mais comme dans ma question plus haut, si je pouvais mettre l'instance de cet objet dans une variable d'un des deux singletons, plus de problème pour la retrouver).

    Ensuite j'ai deux autres objets, pour enregistrer les actions du joueur dans le temps : un pour les points dessinés par l'utilisateur à la souris, un pour les paragraphes tapés. Les instances se trouvent toutes dans deux ds_list, une par type d'objet.

    Je voudrais sauvegarder toutes les instances des deux objets de log, probablement sous forme binaire pour tout recharger le plus vite possible, et certains paramètres du singleton video player, là potentiellement dans un .ini ou sous une forme textuelle. Le manager global ne contient en l'état pas de paramètre à sauvegarder.

  11. #341
    Crotte, je viens de voir que Gamemaker est désormais payant?
    Selon leur site, la nouvelle version Studio 2 propose une version d'essaie de 30 jours mais qui ne permet pas de builder un executable de ses jeux

    Qu'en est-il de la version Studio 1 legacy? Elle aussi est limitée dans le temps et ne permet plus de créer un exe de ses jeux?
    Pour devenir mon coupaing: Steam, BattleNet

  12. #342
    "désormais" ? Tu confonds peut-être avec Construct 2 qui a une version gratuite qui permet de build un exec. Edit : Dans la FAQ ils parlent effectivement d'une free version mais ils mettent la même réponse qu'en-dessous.
    Aucune idée pour la v1 si tu peux build ou non avec gratuitement, probablement pas. Edit : Apparemment cette version n'est plus du tout dispo à moins de l'avoir possédée avant la sortie de la v2.
    Découvrez TrackMania RPG - Liste des canards (& Ajout auto) : Spelunky ; Rayman Legends ; Pinball FX2 / FX3

  13. #343
    Yep, alors effectivement, comme j'avais crée un compte par le passé pour GM Studio 1, j'ai du coup une license inexpirable pour ce dernier ouf!
    J'ai pu le télécharger et l'utiliser sans problème, j'ai pas encore builder un exe mais ca devrait être bon.

    Par contre, pour GM Studio 2, tu es forcé à passer à la caisse en gros, la free trial version c'est surtout pour se faire la main avec l'outils mais tu ne pourras rien produire comme jeu avec.
    Pour devenir mon coupaing: Steam, BattleNet

  14. #344
    Citation Envoyé par LaVaBo Voir le message
    Bon, j'ai avancé, en dessinant et gérant les boutons à la main. C'est pas ce qu'il y a de plus sexy, mais ça fonctionne, et c'est pas trop moche non plus. Par contre, ça fait un paquet de "if then else".
    Dans l'éditeur de sprite tu as une fonction "buttonize" qui donne une apparence de bouton a ton image.
    Sinon tu peux jouer avec les events : mouse_enter (la souris survole) et mouse_button_pressed (on clique sur le bouton). Tu donnes un sprite différent, voir un image_blend different si tu es flemmard, dans chacun de ces cas, et ça donnera quelque chose de bien.
    Et pour gagner du temps, tu peux mettre tous tes boutons en child d'un bouton parent qui contient le code, comme ça tu n'auras pas à copier coller ton code
    (Si quoi que ce soit n'est pas clair ci-dessus, n'hésite pas à demander des détails)


    Quelques questions, encore et toujours :

    Dans la définition d'un objet, il n'y a que quelques types de variables (integer, real, string, boolean, colour, expression, ressource, list), . Est-ce qu'il est possible de mettre une variable de type objet dans un objet (potentiellement le même, pour faire une liste chaînée) ? Si oui, comment déclarer cette variable, puisqu'on ne peut pas le faire dans la liste des variables de l'objet ? Dans le Create ? Avec un type de variable List ?
    Oui, tu écris :
    MonObjet = instance_create(x,y,objACreer)

    A ce propos, il me semble qu'il n'y a pas de différence entre les variables définies dans le Create d'un objet, et les variables propres à cet objet, visibles dans la fenêtre "Variables definitions". Je me trompe ?
    Je vois pas ce qu'est la fenêtre "variables définition" mais je dirais que c'est effectivement équivalent

    De la même façon, j'aimerais avoir des infos sur la structure de base d'un jeu, et les best practices : par exemple comment gérer les paramètres généraux (un objet paramètre qui contient toutes les variables de paramètre, ou des variables d'un objet manager, ou des variables globales, etc), quels sont les avantages et limitations d'avoir un objet singleton qui gère tout le reste, ce genre de chose. Si vous avez des bons liens, je prends.
    C'est une question vaste, qui dépend beaucoup de ton projet.
    Quelques trucs en vrac :
    -évite de manipuler les variables globales (global.machin). C'est pratique pour des variables a peu près constantes dans ton jeu (la résolution d'écran, le nom du joueur), mais il est déconseillé de leur faire faiee des calculs ou autres manipulations pendant le jeu
    -dans l'event draw, evite les calculs aussi (boucles for et autres, sauf si ça concerne des fonctions draw)
    -avoir un objet "contrôle" avec un peu tout ce dont tu as besoin dans le jeu est pratique
    -personnellement j'évite de multiplier les events dans les objets, j'ai create, step, draw et éventuellement les alarmes. J'utilise aussi un begin step pour tout ce qui est input (clic de souris, touches pressée), et un step pour la réaction à cet input (avancer, sauter, etc)


    Enfin, commence à se poser la question des sauvegardes/chargement de sauvegarde. Vous auriez des sources, pas en vidéo, sur les bases des sauvegardes dans gamemaker ? Presque tous les tutos GM sont sous forme de vidéo, j'aime pas du tout, je retiens moins bien, et je peux pas vraiment suivre ça au taf. J'ai quelques notions de base, mais pas très poussées (genre je vois vite fait ce qu'est la serialisation, pas vraiment quand et comment l'utiliser), et il faut adapter ça au fonctionnement de GM.
    Pas de conseil ou de ressource malheureusement :/


    Aujourd'hui, j'ai deux singleton : le manager primaire et un objet "video player" (basé sur une extension GMS qui permet de lire une video sur une surface, et pas en splash). Le manager primaire sert à charger une vidéo, et créer un nouvel objet video player pour une nouvelle vidéo. J'avais créé un objet pour contenir tous les paramètres, mais finalement je fais sans, pour ne pas avoir à retrouver l'instance chaque fois (mais comme dans ma question plus haut, si je pouvais mettre l'instance de cet objet dans une variable d'un des deux singletons, plus de problème pour la retrouver).
    Du coup ça m'intéresse, c'est quoi ton extension ?

  15. #345
    Citation Envoyé par pierrecastor
    En passant, Pollux568, tu as fait le jeu sous game maker 1.4 ? Parce que je l'avais acheter avec un humble bundle y'a longtemps, et à l'époque, en y liant sur mon compte l'export HTML5, j'avais bien pu exporter mon clique le clown en html.

    Et la, même si gamemaker me dis que j'ai bien le module HTML, impossible d'en faire l'export.
    (suite du topic sur la game jam make something horrible 2019)

    J'utilise bien game maker 1.4, avec probablement le même bundle que toi...
    Qu'est-ce que tu as message d'erreur ? HTML5 n'apparait pas dans la liste déroulante de l'export ? (la liste en haut avec Windows, Windows YYC, Mac, etc)

  16. #346
    Ah oui, c'est juste moi qui suis aveugle. Je n'avais pas vu cette option. Je cherchait dans tout les menus et config et n'ai pas penser à regarder ici.

    Merci, je compil le jeu pour voir si ça fonctionne.

  17. #347
    Est-ce qu'on peut, de façon relativement simple, entrer un masque sous forme d'image N&B, transformer ça en obstacles physiques, et implémenter un pathfinding simple ?
    Par exemple, avec un labyrinthe bidon dessiné dans paint. Que du noir et du blanc, le noir représente des murs impassables, le blanc la zone où un personnage pourrait se déplacer.

    Est-ce que je peux donner des règles simples à GM (l'image est mon niveau, noir = obstacle, blanc = je peux y aller), ou est-ce qu'il faut recréer une couche physique du monde en créant des obstacles depuis l'image ?

  18. #348
    Pas sûr de comprendre.
    Tu peux pas juste utiliser un masque de collision pour définir les zones impassables ou non ?
    Au lieu d'avoir du noir et du blanc, tu as juste du noir et du transparent, tu définis le masque là où il y a de la couleur.

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •