Dérapage

Bonjours à tous.
Je débute actuellement avec le programme et ayant pris la base du jeux de course avancé de 4ian j’ai pu réussir à modéliser mon circuit et faire rouler ma voiture dessus.

Cependant je trouve les mouvements de la voiture trop rigide,et j’aimerai savoir si l’on peu donner un effet de dérapage ou inertie à la voiture et si oui comment?

Merci d’avance de vos réponses.

PS: 4ian ton programme à l’air vraiment excellent, j’ai l’impression qu’il donne bien plus de possibilités que IG maker.

Je pense que tu peux essayer d’ajouter, quand le joueur appuie sur gauche ou droite une force avec un angle pratiquement similaire à celui de la voiture, mais légèrement décalé suivant qu’il appuie sur la touche gauche ou droite. La longueur de la force peut être mise suivant la vitesse de déplacement de la voiture, afin d’augmenter l’effet lorsque la vitesse augmente.

oki merci beaucoup je vais essayer de voir si je m’en sort avec ça (j suis débutant hein =p)
Si j’y arrive pas je te demanderais plus de détails.

Edit:

Pas évident de bien paramétrer ça.

J’ai pas bien tout compris dans l’éditeur d’action.

J’ai mis l’option ajouter force par angle.

Objet la voiture.

Angle 5 de plus que l’angle de base. (j’ai déjà mis la variable accélération de voiture >100 et configuré l’axiX du joystic a 50.

Par contre je ne comprend pas la fonction longueur ni dissipation. Si tu peu m’expliquer sa serai sympa.

Autre chose j’imagine que j’ai compris mais juste pour être sur, je peux paramétrer un point à l’arriéré de mon véhicule pour que la voiture parte du cul et non pas tout le véhicule? Si oui j’imagine qu’il doit y avoir une option angle par point ou un truc du genre non?

Edit:
J’ai réussi à durcir la direction en fonction de la vitesse par contre je n’arrive toujours pas à faire drifter ma voiture =/
J’essaye tant bien que mal en combinant les fonctions frein et AxeX, mais sa donne rien.

Pour l’action “Ajouter une force d’angle”, la longueur correspond au nombre de pixels que parcourra l’objet en 1 seconde.
La dissipation, c’est un peu plus compliqué. Lorsqu’elle est à 0, le mouvement n’a lieu que lorsque l’action est effectuée (donc lorsque les conditions sont vraies), alors que si elle est à 1, dès que l’action est appelée 1 fois (il n’y a aucun rapport entre le nombre de fois que l’action est appelée et la dissipation), la mouvement va commencer et continuer à l’infini (sauf si tu mets à un moment une action Arrêter l’objet). Des valeurs entre 0 et 1 permettent de faire une sorte de ralentissement de la force. En fait, les forces sont multipliée par cette valeur (toutes les secondes ? si 4ian pouvait confirmer.)
Attention, dans tes événements, les touches gauche et droite (ou le joystick) doivent être maintenu pour faire tourner la voiture, donc la dissipation doit être de 0, car dès que le joueur arrête de les maintenir les forces doivent s’arrêter. Par contre, les forces pour le déparage doivent continuer (pas à l’infini, mais un petit moment), il faut leur mettre une dissipation entre 0 et 1.

le problème c’es que j’arrive a faire déraper le véhicule mais pas comme je voudrais.
Tout le véhicule part et non pas seulement l’arriéré.
Et dés que j’arrête de tourner le véhicule arrête lui aussi de tourner.
Se que j’aimerais c es qu’il continue sur sa lancée pour donner un effet de vitesse dérapage et non pas qu’il s’immobilise des que je lâche la direction.

Le jeu “DriftRoad” est ton parfait exemple, mais je ne sais pas si les sources sont accessible (ou au moins l’exemple du dérapage). Pour voir ce que ca donne va voir dans les “Jeux terminés” du forum. :wink:

oui j’y ai bien pensé mais le lien est mort malheureusement.

Il faut jouer avec la dissipation pour avoir l’effet de “glissade”.

L’effet de dissipation va en fait faire ralentir l’objet quand il ne subit plus sa poussée.
Mais il faut réduire les forces données car dès que tu rajoute de la dissipation il y a une sorte de multiplication de la force quand on reste appuyé sur la touche (fait des tests)

Après si tu donne cette dissipation que quand tu tente de tourner, la voiture va tourner et chasser dans sa direction initiale tout en étant orientée vers la direction donnée par l’action de tourner.

Bon je sais pas si je me suis bien fait comprendre ^^ mais moi par exemple, pour une force de 50px, je mets 0.02 à la dissipation (ce qui fait déjà pas mal de dérapage mais c’est des vaisseaux.
Tu as qu’à tenter avec ça et si c’est trop grand (le dérapage) tu réduit la dissipation, et il faudra ptét que t’augmente la vitesse. Si ça va trop vite réduit la vitesse mais faudra ptét ajuster la dissipation.

Je suis pas sur mon pc donc je peux pas encore tester la.
Donc en gros il faudrai que j’utilise la disipation sans toucher aux pixel? (l’option juste en dessu)

tu parles de la longueur ?
Tu es obligé de la modifier la longueur, car ça correspond à la longueur parcourue en 1 seconde par l’objet.

bon y à rien à faire j’arrive pas à donner un effet réaliste (la voiture part en arrière etc)
J’ai retiré l’effet dérapage.

Si quelqu’un veux bien m’aider au paramétrage de cela je lui passe volontiers mon fichier.

Ok met un lien j’essaye de te faire ça demain soir.

Mais si tu veux retenter, je te re-explique un coup, il faut mettre l’effet de dissipation que sur les touches côté (quand le joueur appui droite ou gauche, faire une force de 10px par exemple et de dissipation de 0.2)

Upload ton jeu en version portable sur megaup ou autre et je tente de te le faire si tu veux mais bon (c’est mieux de réussir sois même car on comprend mieux :stuck_out_tongue: )

voilou.
megaupload.com/?d=9FXJ6DU4
Je sais bien que c’es mieux de trouver par sois même mais la sa fais 3 jours que je galère sur se foutu dérapage.

Utilise Multiupload :wink: C’est mieux :slight_smile:

Au passage, j’aime bien ton avatar :slight_smile:

Je tene de te faire ça ce soir !

Solution trouvée, cf ci-dessus.

Quelques explications de la démarche quand même ^^
Au lieu d’utiliser une force par angle et/ou de la dissipation, j’ai simplement rajouté des “direction” (en fait c’est le nombre de degré) à la voiture.

Ainsi elle conserve sa vitesse de “décélération” dans la direction propre a la voiture (donc en lui changeant la direction manuellement elle continue d’avancer, et pas de faire un “crabe”)

Après pour donner plus de réalisme, je pense que tu peux tenter de rajouter une force par angle de 90 (ou -90) afin que la voiture e décale un peu sur le côté aussi, mais déjà je trouve le résultat pas mal !
Par contre, il faudrait que tu définisse une variable accélération afin de pouvoir jouer sur le dérapage (si accélération = X rajouter X degré) car là j’ai mis 3, mais si la voiture va pas très vite, elle fait presque un tour complet autant dire bof !

Tu l’auras certainement vue, je n’ai fait que la direction droite, c’est pareil pour la gauche avec un - devant.

Si je peux me permettre de te conseiller 2-3 trucs.
_Mets les touches au clavier, même si toi tu utilise un joystick, imagine qu’il ne marche plus, que tu veuilles le passer aux autres ou te faire aider (comme là par exemple, j’ai du tester pas mal de trucs pour trouver les bonne touches à mettre ^^)
_Déclare tes variables (même si ça fonctionne sans, c’est mieux, si tu édites une variable par exemple mais que tu as un doute ou autre, tu a la liste à portée de main, ensuite tu peux définir des valeurs (ou texte) de base, encore une fois quand une personne t’aide ça va plus vite pour elle aussi)
_Continue comme ça c’est super je trouve :smiley:

Bon dis moi si ça te conviens comme solution, si ça va pas je tenterai de t’aider à trouver autre chose :wink:

yop merci d’avoir pris le temps d’essayer.
Pour répondre à ta question, non ce n’es pas l’effet que je souhaitai.
De plus la voiture tourne sur elle même de cette manière se qui n’est pas pratique.

En faite pour faire simple j’aimerais que lors d’une trajectoire droite suivie d’un virage la voiture continue à se déporter un peu dans la trajectoire initiale.
O <<<<ça c’es la voiture

Je te fais un petit schéma:

O>>>>>>>>>>>>>
I >
I >
I >
O O
Avec les >>> c’es la trajectoire voulu lors d’un virage a 90 degrés par exemple et les III représentent la trajectoire qu’elle suis sans modifications.
Edit:Evidemment se traitement de texte me les aligne >< en gros j’aimerai que la voiture chasse un peu du derrière sans pour autant tourner.

comme ça!

Oui je vois tout à fait

Ce que j’ai fait en reprenant ce que je t’ai donné plus haut :

Faire +1.5 à la direction de Voiture
Ajouter à Voiture une force d’angle de Voiture.Direction() - 40° et de longueur 10pixels avec une dissipation de 0.1

Essaye avec ça je trouve déjà mieux ^^
Après je suis conscient que le résultat n’est pas le plus parfait selon la vitesse à laquelle tu va mais essaye de ne pas aller trop vite pour voir si ça convient, il faudra faire des réglages en fonction de la vitesse de la voiture.

C’est compliqué je m’y perd =P
Je trouve pas la moitié des options que tu me dis dans l’éditeur de variables lol.

De quelles options parle-tu ??

Si tu parle de Voiture.Direction() par exemple, se sont les propriété des objets sprites que tu trouvera dans l’éditeur d’expressions.

Sinon si c’est les variables de scène ou globales, quand tu fait modifier une variable par exemple, tu a une petite vignette bleu sur le côté qui te permet de les éditer (mais il faut valider l’évènement pour que sa prenne en compte les variables éditées)