Problème... Les bases...Collision, pesanteur...[RESOLU]

Bonjour,

Je me remets à la création de mini jeux…
J’ai utilisé (dans le temps :frowning: ) The Game Factory, que j’ai ressorti récemment… Simple à utiliser (utiliser l’objet en tant que plate forme, par exemple…) mais trop basique (et ancien) à mon goût…
J’utilise aussi beaucoup Flash (et action script), mais pour les jeux c’est assez fastidieux…
J’ai cherché sur le web… Y était proposé, TGF2, MMF2 (trop cher quand on n’est pas sûr de les utiliser fréquemment) et… GD… J’ai eu envie d’aller voir et je pense que j’ai bien fait…

Mais après une semaine de tests et d’essais pas toujours transformés :angry:, je ne m’avoues pas vaincu et souhaites continuer… Mais galère, galère !! Je ne dois pas encore avoir la logique ou les automatismes et je tâtonne.

Je souhaite donc partir sur 2 mini projets pour me faire la main: Un jeu de plateforme basique et un pacman.
Ca a l’air simple… Pourtant je bloque déjà!! :blush:

[color=red]Plateforme: J’ai du mal à gérer l’interaction entre mon personnage (Une boule pour le moment) et les plates formes. J’ai utilisé le moteur physique pour la gravité (ça c’est bon) et les collisions.
Pour les plates formes, je voulais utiliser plusieurs fois le même cube (mis bout à bout).
Je suis arrivé à quelque chose d’à peu près potable mais j’ai un doute sur ma démarche.

Exemples de problèmes rencontrés:

  • Le personnage, lorsqu’il est déplacé, “coince” entre chaque bloc (pour le moment, j’ai solutionné cela en plaçant un grand bloc “caché” derrière mes blocs visibles.
  • L’effet de la gravité semble avoir changée lorsque j’ai “programmé” les directions droite et gauche (le perso tombe moins vite)
  • Le perso, lorsqu’il tombe, est attiré par le bloc “caché” par le côté.

[color=red]Pacman : J’ai fais une map complète en png (avec transparence pour les couloirs), je pensais faire évoluer pacman à l’intérieur en gérant les collisions mais cela ne me semble pas être la bonne démarche: Le perso “colle” aux parois et les changements de direction sont difficile à négocier.
J’ai récupéré une version de pacman à partir de votre site, j’ai vu que les maps étaient en bmp (en source externes). Donc je me dis que la personne a géré les déplacements en utilisant des axes ou des chemins prédéfinis…

  • Est-ce cela d’après vous?
  • Quel est la meilleure approche?

Voilà, tout ça pour vous demander quelques conseils sur la manière d’aborder ces 2 projets.

J’ai une autre question en passant : Mon test de jeu de plate-forme (càd 2 cubes de 40x40 répétés une dixaine de fois, une boule soumise à l’apesanteur que l’on peut déplacer vers la gauche ou la droite, pas de fond), j’ai essayer de le compiler en .exe… Celui-ci fait déjà 4Mo, c’est normal? Quel est le poids d’un jeu (ptit et basique) en moyenne ?

Merci d’avance pour vos conseils zavisés :smiley: :slight_smile:

C’est rien 4 Mo, on va dire que c’est le poids de base. Après, ça augmente moins vite avec les images que tu ajoutes.

Pour les 2 derniers tirets, ce doit être seulement des impressions. Sinon, il faut bien placer des objets “sol” alignés pour être sûr qu’aucun pixel dépasse. Sinon, pour les déplacements gauche / droite, tu peux utiliser les actions de mouvement traditionnelles, et non celles du moteur physique (dans “Tous les objets”).

@victor : Merci pour ta réponse.
Pour l’effet de gravité réduit et l’attraction par le côté, ce n’est pas pas une impression… C’est flagrant.
Mais à force de tâtonner, j’en suis venu à une suite d’action qui me semble de moins en moins conventionnelles… :confused:

Je reprends pour être plus clair (j’espère):

  • Au début j’avais disposé mes blocs (cube2) les uns à la suite des autres. Le mouvement était saccadé, comme si ma boule (TOTO) butait entre chaque bloc.
    Avec les évènements actuels (voir en fin de message), TOTO arrive à se déplacer (difficilement) puis reste aimanté sur l’un des cubes (comme ci-dessous).

  • Pour éviter ce problème temporairement, j’ai placé une suite de cube (cube1, sans collision) par dessus un cube unique étiré (cube2) comme ci-dessous:

    Dans ce cas là, le mouvement est fluide (normal!!!), mais si je dirige TOTO vers la gauche lorsqu’il tombe du côté droit, il se retrouve collé à la paroi et continue à descendre lentement (voir image):

A noter que le code, au départ était plus simplifié qu’il ne l’est actuellement et que j’ai dû, lorsque j’ai géré les direction droite/gauche, augmenter le vecteur de gravité de TOTO (de 9 à 50) pour avoir une chute un peu plus rapide.

Les évènements actuels (on ne se moque pô, svp :frowning: ) :

éclairez moi, please :cry: :cry:

Je sais pourquoi il ralenti, tu définis sa vitesse linéaire (à 0;0). Or cette dernière contrôle la vitesse globale de l’objet, donc si la vitesse acquise par la gravité est supérieur à la vitesse linéaire que tu définis, c’est sûr que ça va ralentir.
Sinon, pour les déplacement gauche / droite, utilises les actions normales (dans la catégorie Tous les objets). Ce sera plus facile, et tu n’auras même pas à gérer de vitesse linéaire et tout :
[attachment=0]simpleMovement.png[/attachment]
Et supprime tout ce qui est lié à la vitesse linéaire.
Ca devrait t’éviter tous les événements pour changer une valeur d’une variable “direction” dont je ne vois pas l’intérêt. :wink:
Tu pourra alors enlever le cub de derrière car, étant donné que ces actions ne sont pas faites pour être utilisées avec le moteur physique, elles “forceront” un peu le passage et permetteront à ton personnage d’avancer correctement entre les cubes.

Aussi, je ne comprends pas ton 1er événement : si ton personnage touche CUBE2, tu lui donne une force de 0;-4 ? donc tu le fais “descendre” ? Ensuite, tu l’écarte du CUBE2, mais ça sert à rien, le moteur physique s’en charge déjà.

Rhhhâââ ! ça y est, j’ai trouvé mon erreur! Grace à toi victor, même si tu n’as pas réellement trouvé la véritable erreur (mais ça tu ne pouvais pas deviner que j’avais fait cette bourde!!).

J’ai recommencé en suivant tes conseils et rebelote, les comportements bizarre sont réapparus.
En fait, mon erreur, dès le départ, a été de penser qu’il ne fallait appliquer l’automatisme Moteur Physique que sur TOTO et tester directement les collisions…
Effectivement, quand on applique l’automatisme aussi au cube… Ça marche mieux et c’est bien plus simple…

Bon, j’avoues que j’ai été bien nase sur ce coup là… Désolé, j’recommenc’rai plus… :blush:

La prochaine fois j’essaierai de poser une question un peu moins… Enfin, un peu plus…

Encore merci victor :wink:

Evidemment, faut appliquer l’automatisme sur tous les objets qui doivent répondre à cette physique. :wink: