Bienvenue visiteur !
|
Désactiver la neige
Statistiques
Liste des membres
Contact
Mentions légales
342 connectés actuellement
30912300 visiteurs depuis l'ouverture
1936 visiteurs aujourd'hui
Partenaires
Tous nos partenaires
Devenir partenaire
|
Danzaiver -
posté le 29/01/2015 à 04:12:24 (364 messages postés)
| | Domaine concerné: script/events Logiciel utilisé: Rm VX ACE Bonsoir a toutes et à tous.
Je suis en train de réaliser une "démo" technique. Disons plus simplement j'ai reprit tout les système que j'ai inventé ou reprit dans mes différent projet et je les réunis dans un nouveau projet vierge tout en cherchant a les approfondir et a les améliorer.
Bref j'en suis venu a tenter de perfectionner mon mode multi-joueur local ( 2 joueurs ) ainsi que de leurs assigner des touches manette ! Afin de m'affranchir du clavier, et par la suite crée un panel permettant au joueur d'assigner ces propres touches.
Seulement le mode 2 joueurs à plusieurs défaut :
- Il existe une et une seule entité "héro" sur rpg maker ce qui me force a mettre le second joueur en évènement.
=> Premier soucis l'évènement n'as pas la même méthode de déplacement que l'entité "Héros", celui-ci s’arrête a chaque case pour finir sont animation de déplacement qui est plus lente que l'animation de l'entité "Héros"
Au début je mettait le déplacent uniquement en ignoré si impossible le déplacement était plus fluide mais si vous appuyer une fois sur la touche aléatoirement un ou deux case pouvait être parcourue. ( 3 ou 4 frames d'attente pouvait résoudre le problème mais pas totalement de temps en temps cela se reproduisait quand meme.)
J'ai donc coché attendre la fin oui c'est plus logique d'attendre la fin du déplacement pour en initialisé un second.
Ce qui résulte un effet immédiat dans le rendu visuel, en plus de procurer au joueur 2 une rigidité de jeu pas forcement souhaitable.
J'ai donc ajusté la vitesse et la fréquence pour obtenir quelque chose de fluide mais néanmoins encore saccadé j'ai donc chercher une autre idée pour réduire encore le temps de réaction de l'animation, et j'ai réussi a quasiment effacer cette effet saccadé en augmentant la rigidité du contrôle.
Exemple :
Si la touche bas (Input:: DOWN[1].press?) est enfoncer
Boucle
>Si la touche bas (Input:: DOWN[1].press?) est enfoncer
>>Évènement "joueur 2" un pas vers le bas attendre la fin, ignorer si impossible.
>Sinon
>>Sortir de la boucle
Fin de la boucle
Fin
De cette manière si ma touche bas reste enfoncer je boucle la commande bas se qui réduit considérablement la taille du processus de l’évent.
Et graphiquement si ont ne vous dit pas qu'il y as un effet saccader ont ne le remarque pas en tout cas pas de suite.
Mais cela entraine un autre problème la rigidité augmenter : temps que j'ai une direction enfoncer je ne peut pas utiliser toutes les autres touches A B X Y ou serait poser les attaques par exemple. Bon sur un projet tour par tour pourquoi pas mais pas pour un A-RPG.
Donc comme je ne veut pas de différence entre le joueur 1 et 2 les deux ont été transformer en évent et l'entité Héros a été muté en "Caméra" ( puisque de toutes façons elle est forcer sur l'entité héros sa reviens au même ).
____________________________________________________________________________________________________________________
Avez vous une idée de comment je pourrait améliorer le système ?
Car honnêtement niveau évènement j'en vois la limite personnellement, et cette rigidité me gène. Certain ont beau me dire ont s'y fait, mais pas moi.
-Solution 1 : j’enlève le attendre la fin et je remet 3 ou 4 frames d'attente entre chaque commande et temps pis si de temps en temps ont fait 2 case au lieu d'une
-Solution 2 : je laisse comme ça et temps pis de la rigidité temps que c'est fluid.
-Solution 3 : je prend le juste milieux avec les trois problèmes.
____________________________________________________________________________________________________________________
J'ai bien tenter le script 2 joueur que j'ai entièrement reconfigurer mais lui aussi n'as pas la même vitesse d’application avec l'entité "Héros" de rpg maker de base. Sur une dizaine de case enclencher au même moment le second héros parcours une case de plus et ont le vois clairement dépasser l'entité de base lentement, en plus ont perd la collision avec le joueur 1 et encore en plus la caméra ne sait plus ou donnée de la tête car elle suit un peut les deux héros comme elle peut,et en plus ont ne peut pas modifier le skin du personnage jouable par le joueur deux il sera forcement le premier héros dans la base de donnée présent dans le jeu...
Désoler pour le pavé mais il fallait bien que j'explique en détail pour bien comprendre mon problème.
Coordialement.
|
hassen -
posté le 29/01/2015 à 13:47:31 (580 messages postés)
| Alien | Si tu veux mettre un mode 2 joueurs se sera trés difficile
Tu dois demander de l'aide a un expert en scripts, je te conseil d'aller voir "Estheone" celui qui a fait le jeu "Touhou" envoie lui un message privé.
|
School Urban Legends |
Danzaiver -
posté le 31/01/2015 à 00:06:11 (364 messages postés)
| | C'est bien ce qui me semblait malheureusement ...
Et comme je n'ai pas envie d'embetter quelqu'un avec ça je pense que je vais rester sur la rigidité et adapter tout le game play autour de ça.
Et faire une sorte de A-RPG au tour par tour.
Merci quand même.
|
| | Je relance la question car j'ai le même problème de saccades.
Pour que la caméra ne se déplace pas, je bloque mon héros sans apparence et je déplace un événement. Mais les cassures des mouvements sont vraiment gênantes.
Il n'y a pas de solution en event pour améliorer la fluidité ?
Doit-on réellement abandonner ou se vendre au démon du script ?
Edit: tu as essayé en faisant apparaître des images sur l'événement ?
|
Apprenez la programmation à vos enfants avec SCRATCH (PC) |
Danzaiver -
posté le 31/01/2015 à 14:02:07 (364 messages postés)
| | tu met une boucle comme je l'ai expliquer plus haut.
ou alors pour plus de fluidité :
Tu décoche "attendre la fin" dans déplacer un événement et tu met un attendre 3 ou 4 frames ça sera plus fluide.
Mais de temps en temps en appuyant une fois ton personnage fera 2 case ...
|
| | J'utilise déjà le coup de la boucle, et je viens d'essayer celui des 3 frames.
La fluidité est bien meilleure, mais le perso s'arrête toujours une case plus loin...
Je pense que je vais utiliser les deux. Le mode de déplacement de mon jeu est à la ALONE IN THE DARK, donc je devrais pouvoir l'adapter à la taille du sprite et à l'angle de vue suivant les besoins.
Merci !
|
Apprenez la programmation à vos enfants avec SCRATCH (PC) |
Danzaiver -
posté le 01/02/2015 à 05:00:54 (364 messages postés)
| | Derien mais je suis comme toi, les deux situation me gène et je n'arrive pas a faire, ou imaginer en événementiel un meilleur rendement.
Et pourtant ont ne peut pas dire que je n'ai pas creuser la question.
Sous XP c’était Beaucoup plus fluid, j'ai refait tooooout le système et avec les 3 frames sa passe a la perfection, il y as qu'un tout petit léger défaut qui fait que si tu part dans une direction pendant un certain temps quand tu va lâcher l'inertie va faire que tu parcours 2 cases, mais voila c'est sur de grande distance et non sur des petit acoup.
A 4 Frames ont as plus ce problème mais ont commence a ressentir une petite saccade mais vraiment très légère.
Du coup l'option a 3 frames sur XP ont obtient quasiment le même control que l'entité "héros" ont en sent pas la différence si ce n'est la toutes petite inertie.
Bref tout ça pour dire encore une bonne raison en plus du mappeur et de la résolution de rester sur XP, même si VX Ace Offre plus de possibilité nativement ...
|
| | La solution est peut-être dans la succession de page de l'événement.
Je n'ai pas eu le temps de faire les réglages, mais le principe donne:
1-Chaque mouvement est un charset différent (idée d'après le tuto de AristA sur une meilleur animation du héros). Comme il n'y a pas de commande pour changer l'apparence d'un événement, chaque mouvement se trouve sur des pages différentes.
2-Un événement qui fait se déplacer le perso 2.
3-L'événement "perso 2" qui ne contient que des pages pour le changement graphique.
Un événement en parallèle avec:
Si bas est appuyé, l'événement "perso 2" va vers le bas.
L'événement "perso 2" avec:
PAGE 1. Graphique sans mouvement.
Si bas est appuyé, self switch A activé.
PAGE 2. Graphique mouvement 1. Si A est activé.
Attendre 2 frames.
Self switch B activé.
.
.
.
PAGE 5. Graphique dernier mouvement. Si D est activé.
Attendre 2 frames.
Self switch A B C D désactivés.
Idem pour les autres directions. J'ai testé rapidement, mais le résultat est intéressant. En jouant sur les "attendre" et le nombre de frames de l'animation, la coupure est quasiment imperceptible.
Je n'ai pas eu le temps de pousser un peu plus le principe, désolé, je suis à fond dans mon CMS pour le moment. J'espère que tu as compris mon charabia!
|
Apprenez la programmation à vos enfants avec SCRATCH (PC) |
Wolfylink -
posté le 06/02/2015 à 09:36:52 (198 messages postés)
| Chose en devenir | Ou bien, autre solution plus compliquée à mettre en place et à utiliser par la suite, mais qui doit pouvoir résoudre le problème :
Au lieu de mettre le joueur 2 dans un event, mets le dans une image, dont tu gères l'animation toi même.
C'est vrai que ça peut être gonflant mais si ça te permet d'empêcher ton problème...
Mais sinon :
Citation: Comme il n'y a pas de commande pour changer l'apparence d'un événement |
Faux !
Cette commande apparaît dans déplacer l'évènement. Problème : tu ne peux pas choisir l'event en question à partir d'une variable. Tu ne peux donc à priori faire ces modifs que dans l'event dont tu veux modifier les graphismes lui même, en choisissant "cet event".
|
Sauvez les arbres ! Mangez des castors ! |
Danzaiver -
posté le 06/02/2015 à 13:52:44 (364 messages postés)
| | nathaniel > J'ai comprit que tu voulait découper l'animation et le déplacement dans deux évent bien distinct.
Je vais aller tester ça mais je pense honnêtement que cela donnera la même chose que la solution des 3 frames.
Si, tu peut changer l'apparence dans "déplacer un évènement".
Wolfylink > Pas bête mais extrêmement chiant a programmer en event, sachant que si je le fait je le fait en double je veut qu'il n'y ai absolument aucune différence entre mon J1 et mon J2 au niveau des controls.
Je vais quand meme essayer vos deux solution pour voir ce que ça donne afin de pas mourrir bete. Merci encore.
|
| |
Je n'utilise rien de la troisième colonne, donc je l'avais complètement oublié !
Y a pas, je me fais vieux...
Bref, il s'agit bien de séparer l'animation du mouvement, le moment d'inertie devrait pouvoir être caché par l'animation.
|
Apprenez la programmation à vos enfants avec SCRATCH (PC) |
Index du forum > Entraide > [Rm VX ACE] Votre avis
|
|
|