Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 16 sur 16
  1. #1
    Membre éclairé Avatar de Seth77
    Homme Profil pro
    Développeur .NET
    Inscrit en
    octobre 2005
    Messages
    1 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : octobre 2005
    Messages : 1 364
    Points : 363
    Points
    363

    Par défaut Gestion de vague d ennemis

    Salut

    Comment doit on gerer les vagues d ennemis .. j ai essayer avec un timer mais cela fait ralentir l ensemble

    Merci d avance

  2. #2
    Responsable 2D/3D/Jeux

    Avatar de LittleWhite
    Homme Profil pro Alexandre Laurent
    Ingénieur développement logiciels
    Inscrit en
    mai 2008
    Messages
    16 482
    Détails du profil
    Informations personnelles :
    Nom : Homme Alexandre Laurent
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : mai 2008
    Messages : 16 482
    Points : 84 434
    Points
    84 434

    Par défaut

    Bonjour,

    Pouvez vous être plus précis ?
    Parlez vous du spawn des ennemies par vague et de la gestion de déplacement par la vague ?
    Vous souhaitez participer à la rubrique 2D / 3D / Jeux ? Contactez-moi
    La rubrique a aussi un blog !

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  3. #3
    Membre éclairé Avatar de Seth77
    Homme Profil pro
    Développeur .NET
    Inscrit en
    octobre 2005
    Messages
    1 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : octobre 2005
    Messages : 1 364
    Points : 363
    Points
    363

    Par défaut

    Surtout du spawn des ennemis ; mais les deux m interesse.

    J ai mis un Timer en place qui toutes les n secondes genere des nouveaux ennemis.

    Comment peut on optimiser la gestion des collisions entre les projectiles et les ennemis ? pour le moment je gere cela dans l Update des projectiles qui verifie si ils intersect avec les ennemis.


  4. #4
    Membre éclairé

    Inscrit en
    janvier 2008
    Messages
    685
    Détails du profil
    Informations forums :
    Inscription : janvier 2008
    Messages : 685
    Points : 395
    Points
    395

    Par défaut

    Tu spawn combien d'ennemis c'est sur que la gestion des collisions ca peut ralentir.

  5. #5
    Membre éclairé Avatar de Seth77
    Homme Profil pro
    Développeur .NET
    Inscrit en
    octobre 2005
    Messages
    1 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : octobre 2005
    Messages : 1 364
    Points : 363
    Points
    363

    Par défaut

    Pour le moment 1 par seconde...

  6. #6
    Membre éclairé

    Inscrit en
    janvier 2008
    Messages
    685
    Détails du profil
    Informations forums :
    Inscription : janvier 2008
    Messages : 685
    Points : 395
    Points
    395

    Par défaut

    Et comment tu fais ta gestion de collision?

  7. #7
    Membre éclairé Avatar de Seth77
    Homme Profil pro
    Développeur .NET
    Inscrit en
    octobre 2005
    Messages
    1 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : octobre 2005
    Messages : 1 364
    Points : 363
    Points
    363

    Par défaut

    J ai une liste avec tout les ennemis et dans l objet projectile je vérifie si il n intersect pas avec l un des objets "ennemis"

  8. #8
    Responsable 2D/3D/Jeux

    Avatar de LittleWhite
    Homme Profil pro Alexandre Laurent
    Ingénieur développement logiciels
    Inscrit en
    mai 2008
    Messages
    16 482
    Détails du profil
    Informations personnelles :
    Nom : Homme Alexandre Laurent
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : mai 2008
    Messages : 16 482
    Points : 84 434
    Points
    84 434

    Par défaut

    Combien y a t-il d'éléments lorsque cela rame ?
    Sinon, pour les optimisations de collisions, on utilise de la hiérarchisation de l'espace (Space partitionning), dans le genre, il existe le quad tree, ou le binary space partitionning (BSP).
    Cela permet d'éviter de faire des tests, en testant que les éléments proches ou dans un zone précise.
    Vous souhaitez participer à la rubrique 2D / 3D / Jeux ? Contactez-moi
    La rubrique a aussi un blog !

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  9. #9
    Membre éclairé Avatar de Seth77
    Homme Profil pro
    Développeur .NET
    Inscrit en
    octobre 2005
    Messages
    1 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : octobre 2005
    Messages : 1 364
    Points : 363
    Points
    363

    Par défaut

    cela rame des que je tire ; il doit y avoir ~20 objets pour tout (enemis,projectiles, etc...)

  10. #10
    Membre éclairé

    Inscrit en
    janvier 2008
    Messages
    685
    Détails du profil
    Informations forums :
    Inscription : janvier 2008
    Messages : 685
    Points : 395
    Points
    395

    Par défaut

    Si tu as 20 ennemis et 20 projectiles ca fait deja 400 check de collision deja.

    Tu ne fais pas un test de collision pixel perfect?

  11. #11
    Membre éclairé Avatar de Seth77
    Homme Profil pro
    Développeur .NET
    Inscrit en
    octobre 2005
    Messages
    1 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : octobre 2005
    Messages : 1 364
    Points : 363
    Points
    363

    Par défaut

    Citation Envoyé par saturn1 Voir le message
    Si tu as 20 ennemis et 20 projectiles ca fait deja 400 check de collision deja.

    Tu ne fais pas un test de collision pixel perfect?


    Je suis un noob en dev de jeux ... c est quoi le pixel perfect ?

  12. #12
    Membre éclairé

    Inscrit en
    janvier 2008
    Messages
    685
    Détails du profil
    Informations forums :
    Inscription : janvier 2008
    Messages : 685
    Points : 395
    Points
    395

    Par défaut

    Une technique de collision plutôt lente...

    Si tu fais du xna tu peux essayer de regarder par exemple le moteur physique farseer. Sauf si tu tiens a tout contrôler.

  13. #13
    Membre Expert

    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    février 2006
    Messages
    748
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : février 2006
    Messages : 748
    Points : 1 531
    Points
    1 531

    Par défaut

    Citation Envoyé par Seth77 Voir le message

    Je suis un noob en dev de jeux ... c est quoi le pixel perfect ?
    Quel est ton bout de code qui teste les collisions ?
    Suivez le développement de Chibis Bomba
    twitter : https://twitter.com/MoD_DiB
    DevBlog : http://moddib.blogspot.fr/

  14. #14
    Membre éclairé Avatar de Seth77
    Homme Profil pro
    Développeur .NET
    Inscrit en
    octobre 2005
    Messages
    1 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : octobre 2005
    Messages : 1 364
    Points : 363
    Points
    363

    Par défaut

    Citation Envoyé par MoDDiB Voir le message
    Quel est ton bout de code qui teste les collisions ?
    Voici mon bout de code

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    public override void Update(GameTime gameTime)
            {
                VectorPosition += Direction * Speed;
     
                IList<IGameObject> list = LayerManager.Instance.GetObjects("Bullet");
                foreach (IGameObject item in list)
                {
                    Rectangle r = new Rectangle((int)item.Position.X, (int)item.Position.Y, item.HitBox.Width, item.HitBox.Height);
                    bool res = HitBox.Intersects(r);
                    if (res)
                    {
                        item.Alive = false;
                        this.Alive = false;
                        break;
                    }
     
                    Debug.WriteLine(res);
                }
     
                base.Update(gameTime);
            }

  15. #15
    Membre Expert Avatar de Djakisback
    Inscrit en
    février 2005
    Messages
    1 974
    Détails du profil
    Informations forums :
    Inscription : février 2005
    Messages : 1 974
    Points : 2 106
    Points
    2 106

    Par défaut

    La première question c'est : est-ce que ça rame si tu vires le test de collision ?
    Vive les roues en pierre

  16. #16
    Membre Expert

    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    février 2006
    Messages
    748
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : février 2006
    Messages : 748
    Points : 1 531
    Points
    1 531

    Par défaut

    Faire ceci pour chaque sur chaque bullet me semble gourmand : IList<IGameObject> list = LayerManager.Instance.GetObjects("Bullet");
    dans la mesure où je suis certains que GetObjects parcours tous les éléments du monde.
    Le plus simple serait de gérer les collisions dans un manager afin d'éviter ça.
    Mais sinon mis à part si ton HitBox.Intersects(r); est super lourd ton bout de code ne devrait pas ralentir tant que ca pour 20 éléments.
    Tu ne testerai pas ton projet avec visual attaché et donc ca ne ramera plus une fois que tu auras viré cette ligne :
    Debug.WriteLine(res);
    ?
    Suivez le développement de Chibis Bomba
    twitter : https://twitter.com/MoD_DiB
    DevBlog : http://moddib.blogspot.fr/

Liens sociaux

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
  •