AccueilAccueil  FAQFAQ  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
Le Deal du moment :
Funko POP! Jumbo One Piece Kaido Dragon Form : ...
Voir le deal

 

 Soucis sauvegarde

Aller en bas 
2 participants
AuteurMessage
Mamie Wawa
Très bonne participation



Messages : 112

Soucis sauvegarde  Empty
MessageSujet: Soucis sauvegarde    Soucis sauvegarde  EmptyMer 13 Aoû 2014 - 17:52

EDIT: J'ai résolu le problème à ma manière, j'ai fais le mask des ennemis plus petits et un simple bounce, vu qu'ils se chevauchent que de quelques pixel ça fait un effet pas trop dégueu  happy1 

Mais j'ai une autre question, j'utilise le système de sauvegarde de base de Game Maker ( je sais c'est mauvais mais j'ai du mal à comprendre comment en faire un soi même  snif  ), jusqu'à maintenant tout fonctionnait mais j'ai constaté que si je sauvegarde dans la room A et que je reload le jeu m'affiche la couleur du background sur l'écran ( plus de jeu juste le background ) alors que le système de sauvegarde peu fonctionner dans la room B, alors que toutes les deux on les mêmes propriétés et pas d'items qui pourrait altérer les saves  ouh  snif 


// Ancien problème
Bonjour,

J'ai fais une IA pour mes ennemis, elle fonctionne mais quand il y a plusieurs ennemis, et qu'il se mettent tous à me suivre les collisions me font quelques soucis, ils se coincent les uns dans les autres et puis ne bougent plus  mop 

Pour le code de l'IA j'ai fais :
Code:
if ( instance_exists(obj_player) )
{
    if (  distance_to_object(obj_player) <= 256 and !collision_line(x,y,obj_player.x,obj_player.y,obj_wall,false,false)  )
    {
        friction = 0
    
            motion_add(point_direction(x,y,obj_player.x,obj_player.y),0.4)
    
        if ( speed >= 2.5 )
        {
        speed = 2.5
        }
    }  
}

Et pour les collisions inter-ennemis j'ai fais :
Code:
move_bounce_all(true)
if speed >= 2 then speed /= 2

Malheureusement ça fonctionne pas ( quand y en a 2 ou 3 ça va mais plus de 5 ça commence à buguer sévère )

Pour les ennemis j'ai pas cocher solid ( fin que je le coche ou pas ça change rien au problème Sad )

J'ai pensé que dans l'ia je pourrais mettre un place_meeting mais je sais pas trop comment le caser dans le code ( vu que le motion_add pointe le player )

Quelqu'un peut m'aider ?  crossa

EDIT : J'aimerais aussi ne pas retirer le code de collisions inter-ennemi pour qu'on puisse les voir tous et pas qu'ils se chevauchent les uns les autres
EDIT 2 : J'ai essayé à la barbare et de mettre :
Code:
if (  distance_to_object(obj_player) <= distance_view and !collision_line(x,y,obj_player.x,obj_player.y,obj_wall,false,false) and !place_meeting(x+space,y,obj_ennemi) and !place_meeting(x-space,y,obj_ennemi) and !place_meeting(x,y+space,obj_ennemi) and !place_meeting(x,y-space,obj_ennemi) )
space = 4

Ils se bloquent plus entres eux mais ça fait quand même des collisions entres eux pas très smoothie  mop

EDIT 3 : Erf, avec autant de conditions ça engendre un nouveau problème, si y a un ennemi qui se trouve trop près d'un autre ( moins que la variable space ) les ennemis perd le focus du joueur ( logique )  snif


Dernière édition par Mamie Wawa le Jeu 14 Aoû 2014 - 2:11, édité 3 fois
Revenir en haut Aller en bas
red-error
Utilisateur confirmé: Rang ****
red-error


Messages : 1015
Projet Actuel : Soucis sauvegarde  Bas-machoire2000

Soucis sauvegarde  Empty
MessageSujet: Re: Soucis sauvegarde    Soucis sauvegarde  EmptyMer 13 Aoû 2014 - 20:13

Un truc qui marche bien à la place de bounce c'est que à la collision s'éloignent les uns des autres si possible.

(soit avec un step_direction avec vitesse négative,
ou déplacer en bougant en lenghtdir_x et lenghtdir_y tant qu'ils se chevauchent,
mais tout en évitant de rentrer dans un mur)

Perso j'utilisais juste un rayon de distance (parce que mes ennemis étaient ronds).

Ca les ralentis un peu si s'éloigner les un des autres s'oppose à la direction vers laquelle ils vont.
Revenir en haut Aller en bas
Mamie Wawa
Très bonne participation



Messages : 112

Soucis sauvegarde  Empty
MessageSujet: Re: Soucis sauvegarde    Soucis sauvegarde  EmptyMer 13 Aoû 2014 - 20:32

Oui mais j'ai peur que si j'utilise step_direction avec une vitesse négative à la collision entre eux, bah ça va justement faire un gros bordel dans l'ia ( si y a 2 ennemi qui se rentre dedans et qu'à la collision ça doit les séparé bah ça va les séparer et plus faire follow le joueur )

Fin bref c'est casse-tâte  scratch 
Revenir en haut Aller en bas
Mamie Wawa
Très bonne participation



Messages : 112

Soucis sauvegarde  Empty
MessageSujet: Re: Soucis sauvegarde    Soucis sauvegarde  EmptyMer 13 Aoû 2014 - 20:59

Dans la collision entre eux j'ai essayé :
Code:
mp_potential_step(other.x,other.y,-1,true)

Mais quand ils se rentrent dedans il font des cercles et de temps en temps ils se séparent, c'est pas vraiment concluant :s

EDIT: J'ai essayé
Code:
inst = instance_nearest(x,y,obj_ennemi)
motion_add(-inst.direction,1)

Ça marche à peu près, une fois sur deux, ça fait genre un switch entre les deux ennemis ( l'effet est surprenant mais enfaites c'est pas trop mal ) mais une fois sur deux comme dit ils reste bloqué les deux ensembles  snif

EDIT : J'ai encore essayé :
Code:
other.direction -= direction
inst = instance_nearest(x,y,obj_ennemi)
motion_add(-inst.direction,-1)

Quand y a juste 2 ennemis ça va, le rendu est pas mal mais quand y a plus de 2 ça fout le bordel, ils se rentrent dedans (avec le temps et le focus sur le player perdu ça se régle mais c'est pas l'effet rechercher ) et ils ont des gros pick de speed ( quand ils se séparent les deux se font éjecter à l'autre bout de la map )
Revenir en haut Aller en bas
Contenu sponsorisé





Soucis sauvegarde  Empty
MessageSujet: Re: Soucis sauvegarde    Soucis sauvegarde  Empty

Revenir en haut Aller en bas
 
Soucis sauvegarde
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [resolu]soucis avec Boucle While
» Soucis de tir
» soucis code
» un petit soucis 3d
» Gros soucis avec GM8

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum Le CBNA :: Développement :: Entraide débutants-
Sauter vers: