CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[2D] Physics Engine, une mauvaise idée ?

MeyerMakar
MeyerMakar
Niveau 5
27 juillet 2015 à 15:02:35

Rebonjour à tous. Il y a peu de temps j'avais réalisé ce sujet, dans le but de découvrir un tutoriel capable d'approfondir mes connaissances sur LibGdx : https://www.jeuxvideo.com/forums/42-31-40298993-1-0-1-0-libgdx-un-bon-tutoriel.htm et ce fut le cas, celui-ci m'apporte beaucoup : http://www.gamefromscratch.com/page/LibGDX-Tutorial-series.aspx

Aujourd'hui j'ai commencé à me prendre la tête avec la physique, enfin, telle qu'elle est expliquée dans le tutoriel en question. Jusqu'ici j'avais tout fait moi même (gravité, collisions surtout) mais puisque ce sont des choses qui ne s'appliquent qu'à mon personnage, elles sont assez "figés", j'espérais quelque chose qui s'applique à toutes les entités de mon level en gros. Une vraie physique ou pas loin.

J'ai donc touché à Box2d comme demandé dans le tuto, mais suite à quelques recherches et à quelques heures, deux choses me trouble au point que ça fait deux heures que je tourne en rond et que je n'arrive plus à réfléchir. Bon. Niveau recherches pour en savoir plus sur Box2D j'ai tout d'abord vu du positif, puis je suis tombé là dessus :

http://www.learn-cocos2d.com/2013/08/physics-engine-platformer-terrible-idea/

Si vous avez la flemme de lire, en gros le gars explique que les physics engine pour de la plateforme c'est plus se poser des problèmes qu'autre chose pour diverses raisons (dés que le niveau devient un peu important ça devient une pompe à ressources, gérer la physique entre son personnage qui bouge et une plateforme mouvante est un gros bordel sans nom et autre). Du coup maintenant je ne sais pas si ça vaut le coup de rester sur du Box2D :pf:

Second soucis : Jusqu'ici, donc avant même de commencer ce tutoriel j'avais déjà fait un début de jeu de plateforme. J'utilise une architecture MVC pour me repérer plus facilement (vous devez certainement connaitre, mais je précise que ça consiste donc à diviser les différentes tâches du jeu dans différents packages, style un package qui contiendra les classes de nos levels, un qui contient nos différents écrans, un qui contient nos différents modèles etc) et les exemples du tutoriel se contentent d'utiliser la méthode create() de la classe principale.

Pour tout.

Au début c'est facile d'adapter leur gros pavé de code à mes différentes petites classes réparties dans leurs packages respectifs. Mais là avec l'arrivée de la physique c'est super casse gueule. Autant créer le monde de Box2D avec le vecteur gravité et le boolean sleep c'est bon, mais alors ensuite bordel pour savoir ou je dois déclarer mon BodyDef, bonjour.

Tout ceci fait que je pense de plus en plus à laisser tomber Box2D ou les physics engine pour mon petit jeu de plateforme, et je voudrais connaitre votre avis sur la question. Vous pensez que c'est une bonne ou une mauvaise idée ? :(

Message édité le 27 juillet 2015 à 15:05:06 par MeyerMakar
Lapintade
Lapintade
Niveau 30
27 juillet 2015 à 15:12:38

Quand on fait un jeu, il faut savoir de quoi on a REELEMENT besoin.
J'ai fais plusieurs jeux de plateformes, amateurs ou pro et je n'ai jamais utilisé de moteur physique ou de rendu. Simplement car je n'en ai jamais eu besoin.

Le moteur physic c'est bien quand tu as des calculs compliqués (comme un truc qui pousse un autre truc). Mais un perso sur des platformes, ca peut se coder assez facilement.

MeyerMakar
MeyerMakar
Niveau 5
27 juillet 2015 à 15:18:47

Bon, alors tu vas dans la direction de l'article. Et je suis bien d'accord étant donné que j'ai déjà mon personnage qui se balade sur ses plateformes, sans avoir utilisé quoi que ce soit de spécifique. Étrange que pour mettre en place les collisions et compagnie le tutoriel nous fait passer par l'utilisation d'un moteur alors...j'attends encore quelques avis même si je suis quasiment certain de laisser Box2D au placard. Merci :)

Message édité le 27 juillet 2015 à 15:19:23 par MeyerMakar
hexabeast
hexabeast
Niveau 9
27 juillet 2015 à 15:24:58

À partir du moment ou tu n'as pas besoin de réactions physiques vraiment réalistes (à la Angry Birds par exemple) et que t'as pas besoin de bien plus que dans un simple Mario à l'ancienne, c'est vraiment mieux de se passer de Box2D pour faire ton propre système de collisions/gravité/mouvement.

Par exemple dans mon Terraria-like fait avec LibGDX ( http://youtu.be/07fbVSpqpe8 ) j'ai pas vraiment besoin de Box2D, tout l'aspect physique du jeu est en réalité très simple à gérer, et Box2D ne ferait que tout ralentir.

EDIT : J'ai post avant d'avoir vu les 2 précédents messages.

Message édité le 27 juillet 2015 à 15:26:33 par hexabeast
MeyerMakar
MeyerMakar
Niveau 5
27 juillet 2015 à 15:30:31

Non non tu as raison de poster, pas besoin d'éditer, je cherche justement des avis. Beau boulot au fait le terraria like. Je n'ai pas strictement besoin de physique poussée, disons que si j'en disposais ça me permettrait de mettre en place quelques niveaux spéciaux. Mais ce n'est pas un impératif, j'imagine que par exemple, faire s'effondrer un décors (le but étant que le personnage avance en évitant les débris par exempe) peut se faire via une animation, un script, et non forcément via de la grosse physique.

LeuNoeleeste
LeuNoeleeste
Niveau 10
27 juillet 2015 à 22:44:30

Box2D ? Tu as des soucis avec ça ? Pourtant c'est un des moteurs physiques les plus simples à utiliser qui soit, je pense que tu t'embrouilles surtout dans ta propre organisation de classes. Toutefois je ne vais pas me la jouer grin de sable qui va une fois encore remettre en doute ce qui a été dit, bien que je sois un gros amoureux de ce moteur physique (en même temps de base je suis un passionné de physique en fait donc pour moi il n'était pas question de ne pas avoir quelque chose de réaliste pour mes petits travaux) je vais aussi dans le sens de l'article que tu as posté et bien entendu celui de Lapintade, si ton sprite ne fait que sautiller et se déplacer sur un décors, inutile de t'encombrer d'un moteur pour gérer collisions ou gravité, ce sont deux éléments accessibles via du "simple" code à l'ancienne :oui:

Sous forums
  • Aide à l'achat Mac
  • Internet
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment