|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre éclairé
![]() Développeur .NET Inscription : octobre 2005 Messages : 1 330 ![]() |
Salut
Comment doit on gerer les vagues d ennemis .. j ai essayer avec un timer mais cela fait ralentir l ensemble Merci d avance |
|
|
00
|
|
|
#2 |
![]() ![]() ![]() ![]() Alexandre LaurentIngénieur développement logiciels Inscription : mai 2008 Messages : 10 443 ![]() |
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. |
|
00
|
|
|
#3 |
|
Membre éclairé
![]() Développeur .NET Inscription : octobre 2005 Messages : 1 330 ![]() |
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. |
|
|
00
|
|
|
#4 |
|
Membre confirmé
![]() Inscription : janvier 2008 Messages : 576 ![]() |
Tu spawn combien d'ennemis c'est sur que la gestion des collisions ca peut ralentir.
|
|
|
00
|
|
|
#5 |
|
Membre éclairé
![]() Développeur .NET Inscription : octobre 2005 Messages : 1 330 ![]() |
Pour le moment 1 par seconde...
|
|
|
00
|
|
|
#6 |
|
Membre confirmé
![]() Inscription : janvier 2008 Messages : 576 ![]() |
Et comment tu fais ta gestion de collision?
|
|
|
00
|
|
|
#7 |
|
Membre éclairé
![]() Développeur .NET Inscription : octobre 2005 Messages : 1 330 ![]() |
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"
|
|
|
00
|
|
|
#8 |
![]() ![]() ![]() ![]() Alexandre LaurentIngénieur développement logiciels Inscription : mai 2008 Messages : 10 443 ![]() |
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. |
|
00
|
|
|
#9 |
|
Membre éclairé
![]() Développeur .NET Inscription : octobre 2005 Messages : 1 330 ![]() |
cela rame des que je tire ; il doit y avoir ~20 objets pour tout (enemis,projectiles, etc...)
|
|
|
00
|
|
|
#10 |
|
Membre confirmé
![]() Inscription : janvier 2008 Messages : 576 ![]() |
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? |
|
|
00
|
|
|
#11 |
|
Membre éclairé
![]() Développeur .NET Inscription : octobre 2005 Messages : 1 330 ![]() |
|
|
|
00
|
|
|
#12 |
|
Membre confirmé
![]() Inscription : janvier 2008 Messages : 576 ![]() |
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. |
|
|
00
|
|
|
#13 |
|
Membre chevronné
![]() Développeur de jeux vidéo Inscription : février 2006 Messages : 451 ![]() |
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/ |
|
|
00
|
|
|
#14 | ||
|
Membre éclairé
![]() Développeur .NET Inscription : octobre 2005 Messages : 1 330 ![]() |
Voici mon bout de code
Code :
|
||
|
|
00
|
|
|
#15 |
|
Membre Expert
![]() Inscription : février 2005 Messages : 1 913 ![]() |
La première question c'est : est-ce que ça rame si tu vires le test de collision ?
__________________
Vive les roues en pierre |
|
|
00
|
|
|
#16 |
|
Membre chevronné
![]() Développeur de jeux vidéo Inscription : février 2006 Messages : 451 ![]() |
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/ |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com