Précédent   Forum du club des développeurs et IT Pro > Applications > Développement 2D, 3D et Jeux > Projets
Projets Présentation de vos projets, et demandes de recrutements
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 18/11/2012, 20h31   #1
Hyro Vitaly Protago
Invité de passage
 
Homme
Étudiant
Inscription : août 2012
Messages : 9
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : août 2012
Messages : 9
Points : 2
Points : 2
Par défaut [Problème] AllFighters [Combat/Plateforme]

Présentation

AllFighters est un jeu de combat/plateforme inspiré de "Jump Ultimate Stars" et la série "Super Smash Bross". Contrairement à ces deux jeux, le but d'AllFighters est créer une différence significative entre chaque personnage. Permettre aux joueurs d'associer un pouvoir à un "fighter" permet de créer cet différence et constitue une grande souplesse. Il y aura donc un gameplay unique par combinaison, ce qui permet une rejouabilité quasi-infinie. Sachant qu'avec l'éditeur (SDK), il sera possible d'ajouter "simplement" de nouveaux pouvoirs ou fighters.

Pour l'instant, un personnage est en cours d'implémentation (Takeshi Yamamoto) et il est déjà possible de "jouer" : se déplacer, sauter, avec gestion des collisions et plateforme, ainsi que d'attaquer.

- je gère le système de combat avec les hitboxs
- la boucle du jeu met à jour les déplacements, gère les collisions, et si un personnage attaque et touche un adversaire, il lui inflige des dégâts.

Mon problème :
Lorsque un personnage "attaque", le sprite correspondant s'affiche et joue l'animation avec chaque sous-images : le système de boucle principale incrémente une variables du sprite qui en fonction de sa valeur affiche la sous images correspondante (système pour gérer la vitesse d'animation). Cependant à chaque tour de la boucle principale, il n'y a pas forcément changement de l'image courante du sprite (vitesse d'animation faible) et sachant que les dégâts sont calculés en fonction des collisions des hitboxs de l'image courante, la boucle compte donc plusieurs fois les dégâts (environ 3 à 4 fois)...

Je ne sais pas si je suis très clair, mais dans tous les cas, mon problème se situe au niveau de l'algorithme de combat et de mise à jour des sprites.

Si quelqu'un a la solution ou qu'il possède des sources sur des jeux de combat/plateforme 2D ou des algorithmes de combats, je suis très intéressé.

Merci d'avance.

PS: pour expliciter d'une meilleure manière mon problème pour ceux qui n'aurait pas compris, je posterais l'algorithme en pseudo-code dès que possible
Hyro Vitaly Protago est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2012, 20h50   #2
LittleWhite
Responsable 2D/3D/Jeux


 
Avatar de LittleWhite
 
Homme Alexandre Laurent
Ingénieur développement logiciels
Inscription : mai 2008
Messages : 10 450
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 : 10 450
Points : 40 289
Points : 40 289
Bonjour,

Si on a une classe / entité "coup", on pourrait désactiver un booléan dans celle-ci, afin de compter les dégâts une unique fois.

Sinon, on peut laisser comme cela et dire : si le joueur arrive à s'en sorte (le coup n'est plus dans la bouding box) alors le joueur prend moins de dégâts. Après, le principal changement serait de réduire les dégâts. Par contre, avec cette méthode, il faut faire très très attention aux FPS, car selon les FPS on prendrait plus ou moins de dégâts.
__________________
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.
LittleWhite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2012, 09h06   #3
Hyro Vitaly Protago
Invité de passage
 
Homme
Étudiant
Inscription : août 2012
Messages : 9
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : août 2012
Messages : 9
Points : 2
Points : 2
Je pense que l'idée d'un booléen avec une thread qui ferait un timer serait pas mal ... comme ça, quelques soit les fps, ça devrait pouvoir fonctionner.
Le plus difficile sera de trouver le temps du timer.

Merci beaucoup
Hyro Vitaly Protago est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2012, 10h58   #4
MoDDiB
Membre chevronné
 
Homme
Développeur de jeux vidéo
Inscription : février 2006
Messages : 451
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 : 451
Points : 698
Points : 698
Citation:
Envoyé par Hyro Vitaly Protago Voir le message
Je pense que l'idée d'un booléen avec une thread qui ferait un timer serait pas mal ... comme ça, quelques soit les fps, ça devrait pouvoir fonctionner.
Le plus difficile sera de trouver le temps du timer.
Merci beaucoup
Oula tant que tu ne bosses pas chez crytek évite les threads

Le booléen ne fonctionnera pas si il est possible de toucher plusieurs ennemis.
Le mieux c'est que le hit contienne la liste des personnages précédemment touché afin de ne pas ré appliquer le hit sur ceux ci.
__________________
Suivez le développement de Chibis Bomba
twitter : https://twitter.com/MoD_DiB
DevBlog : http://moddib.blogspot.fr/
MoDDiB est déconnecté   Envoyer un message privé Réponse avec citation 11
Vieux 22/11/2012, 16h53   #5
Hyro Vitaly Protago
Invité de passage
 
Homme
Étudiant
Inscription : août 2012
Messages : 9
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : août 2012
Messages : 9
Points : 2
Points : 2
faut-il vraiment éviter les threads à ce point là ?

et le booléen ne serait pas du coter de celui qui attaque, mais de celui qui se défend, pour qu'il devienne invulnérable un très court instant.

parce que pour le moment, ce que j'ai dit précédemment fonctionne, mais si il est si fort déconseillé d'utiliser les threads, je passerais au système de hitbox qui contient les personnages auxquels elle ne doit plus s'appliquer
Hyro Vitaly Protago est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2012, 18h22   #6
MoDDiB
Membre chevronné
 
Homme
Développeur de jeux vidéo
Inscription : février 2006
Messages : 451
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 : 451
Points : 698
Points : 698
Citation:
Envoyé par Hyro Vitaly Protago Voir le message
faut-il vraiment éviter les threads à ce point là ?
Tant que tu ne sauras pas répondre toi même à cette question oui.
J'ai vu beaucoup plus d'erreurs, de complexité et de soucis de performance à cause des threads que de gains.
Plus d'arguments :
http://c2.com/cgi/wiki?AvoidThreadsForOptimizations


Citation:
et le booléen ne serait pas du coter de celui qui attaque, mais de celui qui se défend, pour qu'il devienne invulnérable un très court instant.
Et c'est une erreur : si tu te prends une ortie puis une bombe atomique 0.1s plus tard tu ne mourras pas.
__________________
Suivez le développement de Chibis Bomba
twitter : https://twitter.com/MoD_DiB
DevBlog : http://moddib.blogspot.fr/
MoDDiB est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 22/11/2012, 18h38   #7
Hyro Vitaly Protago
Invité de passage
 
Homme
Étudiant
Inscription : août 2012
Messages : 9
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : août 2012
Messages : 9
Points : 2
Points : 2
Citation:
Envoyé par MoDDiB Voir le message
Tant que tu ne sauras pas répondre toi même à cette question oui.
J'ai vu beaucoup plus d'erreurs, de complexité et de soucis de performance à cause des threads que de gains.
Plus d'arguments :
http://c2.com/cgi/wiki?AvoidThreadsForOptimizations
Merci pour le document


Citation:
Envoyé par MoDDiB Voir le message
Et c'est une erreur : si tu te prends une ortie puis une bombe atomique 0.1s plus tard tu ne mourras pas.
... j'y avait pas penser x),

en tout cas merci pour tout =)
Hyro Vitaly Protago est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/11/2012, 19h52   #8
Hyro Vitaly Protago
Invité de passage
 
Homme
Étudiant
Inscription : août 2012
Messages : 9
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : août 2012
Messages : 9
Points : 2
Points : 2
Par défaut Pour ceux qui veulent suivre l'avancé du projet

http://webperso.iut.univ-paris8.fr/~ldavid/AllFighters/

Surtout n'hésitez pas à me contacter pour participer ^^
Hyro Vitaly Protago est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 26/11/2012, 20h50   #9
LittleWhite
Responsable 2D/3D/Jeux


 
Avatar de LittleWhite
 
Homme Alexandre Laurent
Ingénieur développement logiciels
Inscription : mai 2008
Messages : 10 450
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 : 10 450
Points : 40 289
Points : 40 289
Dommage de dire cela, car si vous voulez entretenir l'attachement à votre jeu, il faut aussi stimuler les gens qui découvrent votre jeu par un forum, tout en faisant en sorte qu'il n'est pas à aller visiter un autre site (le clic est une action qui peut être "blocante").

Sinon, je regrette encore plus que votre site n'est pas de flux RSS ...
__________________
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.
LittleWhite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/11/2012, 21h51   #10
Hyro Vitaly Protago
Invité de passage
 
Homme
Étudiant
Inscription : août 2012
Messages : 9
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : août 2012
Messages : 9
Points : 2
Points : 2
Désolé mais, étant seul sur le projet, je manque de temps et préfère privilégier le développement du jeu plutôt que celui du site.

Flux rss ajouté.
Hyro Vitaly Protago est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 03h03.


 
 
 
 
Partenaires

Hébergement Web