~ S'évader de la banalité... Et entrer dans l'imaginaire ! ~ |
|
| début de script a-rpg | |
| | |
Auteur | Message |
---|
dani_nouvel_star Maker experimenté Lv 9
Nombre de messages : 279
| Sujet: Re: début de script a-rpg Mar 24 Juil 2007, 07:53 | |
| Dans ma démo voici les valeurs par défaut des ennemis ayant comme apparence Arshes : @diameter = 23 # largeur de Arshes en pixel @hauteur = 43 # hauteur de Arshes en pixel Les fléches ont pour épaisseur 4 pixels. la collision entre la flèche et l'ennemi prend en compte ces dimensions. Pour les formules de combats voici celles qu'utilisent rmxp : - Citation :
- Le système de combat par défaut de RPG Maker XP emploie les algorithmes suivants.
Le combattant qui attaque est l'objet A, le défenseur est l'objet B. - Citation :
- Premier calcul de coup
Attaque normale Chance de coup = coup % de A Competence Quand la puissance d'attaque F est 1 ou plus (compétence physique) Chance de coup = exactitude de compétence × rapport de coup de A ÷ 100 Quand la puissance d'attaque F est 0 (compétence non-physique) Chance de coup = exactitude de compétence Objet Chance de coup = exatitude de l'objet Quand l'état de A est normal, le taux de succès est considéré comme 100. - Citation :
- Coup critique
Attaque normal Chance de coup critique = 4 × dexterité de A ÷ l'agilitée de B Compétencel Chance de coup critique = 0 Objet Chance de coup critique = 0 - Citation :
- Calcul des dégâts
Attaque normal Puissance = puissance d'attaque de A - (la défense de B ÷ 2) Multiplicateur = 20 + force de A Désaccord = 15 Puissance minimum : 0 Compétence Quand l'estimation d'effet est positive Puissance = estimation d'effet de compétence + (puissance d'attaque de A × puissance d'attaque de la compétence de F ÷ 100) - (défense phisique de B × défense physic de la compétence de F ÷ 200) - (défense magique de B × défense magique de la compétence de F ÷ 200) Puissance minimum : 0 Quand l'estimation d'effet est négatif Puissance = puissance basse de la compétence Multiplicateur = 20 + (force de A × force de la compétence de F ÷ 100) + (dextérité de A × dextérité de la compétence de F ÷ 100) + (agilité de A × agilité de la compétence de F ÷ 100) + (intelligence de A × Magie F de lacompétence ÷ 100) Désaccord = désaccord de compétence Objet Quand la valeur de rétablissement de HP est négative Puissance = - valeur de rétablissement de HP - (défense physique de B × défense physique de l'objet de F ÷ 20) - (défense magique de B × défense magique de l'objet de F ÷ 20) Puissance minimum : 0 Quand la valeur de rétablissement de HP est positive Puissance = - valeur de rétablissement de HP Multiplicateur = 20 Désaccord = désaccord de l'objet Dégâts = puissance × multiplicateur÷ 20 × correction d'attribut × correction critique × correction de la défense (± désacord %) Correction d'attribut : Attribuez la résistance de B à l'attribut de l'article. A:200%, B:150%, C:100%, D:50%, E:0%, F:-100% En outre si l'attribut de la résistance de l'armure de B est assortit à l'attribut de l'article, les dégâts sont réduits par moitié. Les exemples multiples de la défense d'attribut s'empileront, réduisant des dégâts par moitié à chaque fois. Correction critique : Si un coup critique est réalisé, la correction critique est 2. Correction de la défense : Si B se défend, la correction de la défense est 0.5.
- Citation :
- Second calcul de coup
Quand les dégâts sont positifs Quand l'état de B est normal Chance d'évasion = 8 × agilité de B ÷ destérité de A + correction d'évasion de B Attaque normal Chance de coup = 100 - chance d'évasion Compétence Taux de succès = 100 - (chance d'évasion × évasion de la comptétence de F ÷ 100) Objet Taux de succès = 100 Quand l'état de B inclut "aucune évasion permise" Taux de succès = 100 Quand les dégâts sont négatifs (rétablissement) Taux de succès = 100
- Citation :
- Fuite réussie
Fuite réussie = 50 × l'agilité moyenne de la partie ÷ l'agilité moyenne du monstre de la partie
J'ai rajouter l'IA des ennemis, je ne sais pas si ils sont trop fort ou pas assez, j'ai règler au hasard certains paramètres. Voici comment on fait un ennemi. le nombre de colonne dans le chara correspond à "nb_pattern". le nombre de colonne dans le chara d'animation d'attaque correspond à "nb_pattern_animation". "distance_d_alerte" correspondant à la zone de visibilité de l'ennemi, ça représente plus précisément le rayon de la zone circulaire. Tant qu'il est n'est pas alerté l'ennemi sera toujours en processus parallèle. Il n'y a donc pas besoin de cocher "processus parallèle". L'arme de l'ennemi se règle à la place de l'animation d'attaque sur lui même qui nous sert à rien ici : Voici à quoi ressemble l'ennemi XD très original en effet. (désolé je ne dispose de pas beaucoup de chara). Vous pouvez voir les vies du player 1 et 2, je n'ai pas encore eu le temps de faire un "window hud". Voici une nouvelle démo où l'ennemi a une IA. lien enlevé (demander par mp)
Dernière édition par le Mer 01 Aoû 2007, 01:58, édité 1 fois | |
| | | Slump Kikoo Lv -1
Nombre de messages : 15257 Age : 32
| Sujet: Re: début de script a-rpg Mar 24 Juil 2007, 10:38 | |
| Wowow, faut que je prenne le temps de tout lire là, mais ça m'a l'air super en tout cas ^^
Pour les ajouts, un script A-RPG avec munitions me va très bien, le reste je peux le faire en event :p
Une question cependant : L'IA des ennemis est automatique ou peut être réglée ? | |
| | | coco Dieu Maker Lv 44
Nombre de messages : 2989 Age : 30
| Sujet: Re: début de script a-rpg Mar 24 Juil 2007, 10:40 | |
| J'ai testé c'est super bienmais si tu pouvai faire en sorte que ca s'affiche en pleine écran ce serait encore mieux ____________ | |
| | | Slump Kikoo Lv -1
Nombre de messages : 15257 Age : 32
| Sujet: Re: début de script a-rpg Mar 24 Juil 2007, 10:48 | |
| C'est très bien, mais j'ai plusieurs autres questions :
La vitesse du projectile pourra t-elle être réglée ? ( Par exemple si on fait un jeu moderne, pour des balles je trouve ça un peu lent :p )
La vitesse de rechargement des projectiles ( quand le héros prend un autre javelot ) pourra t-elle être réglée ?
Il me semble que le héros va un plus vite que son coéquippier et que ses ennemis, non ? Pour faire plus réaliste il faudrait que tout le monde ait la même vitesse.
Enfin, j'ai remarqué que quand le héros lançait sa lance, il effectuait aussi une attaque au corps à corps, de même lorsqu'il " recharge ". Vas-tu laisser comme ça ou pourra t-on faire un bouton d'attaque au corps à corps et un autre d'attaque à distance ?
C'est tout pour l'instant ^^ | |
| | | dani_nouvel_star Maker experimenté Lv 9
Nombre de messages : 279 Age : 44
| Sujet: Re: début de script a-rpg Mar 24 Juil 2007, 12:38 | |
| Merci d'avoir testé coco et slump ^^ ! En parlant de vitesse, j'ai oublié de les changer comme Relm a dit. Normalement tout est réglable je ferais une petite notice pour pouvoir régler tout ça dans le script. Pour L'IA - Code:
-
# phase 0 : neutre, les partenaires suivent le héros, les ennemis patrouillent # phase 1 : les partenaires suivent l'ennemi le plus proche, les ennemis l'inverse # phase 2 : sequence d'animation d'attaque pour tous les characters # phase 3 : test de la réussite de l'attaque
Chaque personnage pevent être à des phases différentes. Les IA sont indépendant à ce niveau là. Le maker controle la phase 0 des ennemis : Pour cette phase le comportement sera à remplir dans les commande d'évènement. Il n'y a pas besoin de mettre en processus parallèle car il se déclenche tout le temps automatiquement. Je vais construire des mouvements spéciaux de patrouille. Et vous n'aurez plus qu'a lui choisir un type de mouvement. Si vous voulez vraiment lui faire un mouvement prècis dites un exemple. Quand les héros rentrent dans leur zone d'alerte, les ennemis rentrent dans leur phase 2 : "se diriger vers le héros". Les commandes d'évènement ne sont plus pris en compte. Pour le grand écran je préfère ne pas mettre de script. Donc vous passerez par le traditionnel Alt+entrée. Je vais mettre la possibilité de faire des maps "verglas" où ça glisse pas mal. Je vais peut-être faire un truc du genre : nommez la map : [verglas]nom de la map pour repérez automatiquement ces maps. Si vous avez des idées sur ce qui serait pratique pour le maker, nhésitez pas à poster !
Dernière édition par le Mar 24 Juil 2007, 12:55, édité 1 fois | |
| | | Slump Kikoo Lv -1
Nombre de messages : 15257 Age : 32
| Sujet: Re: début de script a-rpg Mar 24 Juil 2007, 12:52 | |
| Mais ça m'a l'air superbe tout ça ^^
Plus d'explications sur la zone d'alerte seraient les bienvenues par contre ( si les gardes " entendent ", leur vision etc... ) :p | |
| | | dani_nouvel_star Maker experimenté Lv 9
Nombre de messages : 279 Age : 44
| Sujet: Re: début de script a-rpg Mar 24 Juil 2007, 13:02 | |
| Dans le premier screen, voilà ce que dire : distance_d_alerte(200) Zone d'alerte : un disque d'un rayon de 200 pixels, et le centre du disque est l'ennemi. - slump92 a écrit:
- ( si les gardes " entendent ", leur vision etc... )
Pour moi, l'ouie et la vue vont ensemble. Sinon c'est un peu complexe à scripter. Vous pouvez programmez en event vous même des condition du genre : SI il fait nuit la zone aura un rayon de 100 fin si il fait jour la zone aura un rayon de 200 fin Il y aura pas mal de possibilités pour le maker pour la phase 0. | |
| | | Slump Kikoo Lv -1
Nombre de messages : 15257 Age : 32
| Sujet: Re: début de script a-rpg Mar 24 Juil 2007, 14:08 | |
| Cool cool ^^
Mais d'après ce que tu dit, c'est un disque. Y aurait-il possibilitée de changer cela en un demi-disque pour que l'ennemi ne voit pas ou n'entende pas derrière lui ? | |
| | | dani_nouvel_star Maker experimenté Lv 9
Nombre de messages : 279 Age : 44
| Sujet: Re: début de script a-rpg Mar 24 Juil 2007, 14:11 | |
| très bonne idée qui est aussi plus réaliste, je n'y aurai jamais pensé tout seul. merci Slump92. Je vais mettre cette demi visibilité. | |
| | | Slump Kikoo Lv -1
Nombre de messages : 15257 Age : 32
| Sujet: Re: début de script a-rpg Mar 24 Juil 2007, 14:25 | |
| J'ai passé trop de temps à faire un bon système A-RPG, maintenant je connais tout ce que doit avoir un bon A-RPG ( et puis en même temps je te dis ce dont j'ai besoin hehe :p )
Après on peut aussi faire en sorte que l'ennemi nous entende si on court derrière lui, ou à l'inverse qu'on puisse le surprendre et ainsi lui infliger plus de dégats en l'attaquant par derrière en marchant ^^
Mais ça c'est réalisable en event je pense, donc c'est pas un problème :p | |
| | | dani_nouvel_star Maker experimenté Lv 9
Nombre de messages : 279 Age : 44
| Sujet: Re: début de script a-rpg Mar 24 Juil 2007, 23:00 | |
| Ca y est, Slump92, j'ai scripté cette demi-visibilité. Pour tout ce qui concerne les dégât je vais d'abord attendre de me faire une bonne formule de combat. Si le héros marche derrière lui, l'ennemi ne remarque rien. En revanche, si le player court dans la zone du demi_disque arrière il est repéré. Pour que vous puissez régler certains paramètres voici comment je vais procéder. Il faudra modifier une partie du script, ce sera toujours cette même partie qui sera à modifier : Réglage système. Donc vous pouvez dans ce screen ce que vous pouvez régler pour l'instant. A vous de tester différentes vitesses et de me dire quelle est le meilleur réglage. Si vous voulez régler d'autres choses n'hésitez pas à demander. Voici la démo version 5 ou je n'ai mis qu'une map avec un seul ennemi ^^ ( si vous voulez mettre des ennemis vous pouvez le mettre vous même en faisant du copier coller de l'event "ennemi001" ) : lien enlevé (demander par mp) [/size] Dans cette démo je n'ai pas encore scripté la possibilité de tirer plus de une flèche à la fois. Peut-être la prochaine ^^.
Dernière édition par le Mer 01 Aoû 2007, 01:59, édité 1 fois | |
| | | Slump Kikoo Lv -1
Nombre de messages : 15257 Age : 32
| Sujet: Re: début de script a-rpg Mar 24 Juil 2007, 23:16 | |
| - Dani a écrit:
- Ca y est, Slump92, j'ai scripté cette demi-visibilité.
Pour tout ce qui concerne les dégât je vais d'abord attendre de me faire une bonne formule de combat.
Si le héros marche derrière lui, l'ennemi ne remarque rien. En revanche, si le player court dans la zone du demi_disque arrière il est repéré. Tu sait que je t'aime toi Et puis appelle moi Slump, on se connait maintenant xD En tout cas tu es merveilleux, ce script est merveilleux, et grâce à ça mon jeu sera merveilleux, MOUAH AH AH AH AH AH AH !!!! | |
| | | dani_nouvel_star Maker experimenté Lv 9
Nombre de messages : 279 Age : 44
| Sujet: Re: début de script a-rpg Jeu 26 Juil 2007, 20:11 | |
| J'ai finit de scripter une possibilité de formation "sérrée" et de formation "écartée". Ce système agit sur le comportement du partenaire du game_player. En formation écarté, le partenaire va préférer attaquer un ennemi différent de celui du game_player (s'il y a d'autres ennemis à côté). Donc pour l'utilisation, il faut appuyez sur un même bouton ("L") pour passer de l'un à l'autre, je ferai afficher une icône sur le Window Hud qui dira quelle est la formation en cours. J'ai réglé aussi d'autres petits bug, il y en avait pas mal je dois dire. Notamment sur l'ia des ennemis. J'ai essayé d'améliorer mon système d'antilag en suivant un conseil que m'avait donné Roys il y a quelques temps. Quand il y a beaucoup d'ennemis sur la zone "active" qui n'est pas forcément toute la map, on peux choisir de n'updater ces ennemis que quelque fois. Pendant un frame Graphique, on update qu'un seul ennemi. Et c'est ce que j'ai fait. J'ai testé en mettant plein d'ennemi mais malgré ce système d'antilag, le fps est quand même très bas. Voilà l'explication que j'ai trouvé. J'interdis l'update des events ennemi que lorsqu'il ne sont pas en mouvement ("not moving?") ou pas en animation. Donc si ils sont en cours de mouvement il sont updatés. Sinon il bougeront de manière très saccadée si j'interdis cette update en "moving?". Il y a donc un update obligatoire dans ces cas là. D'où ce lag quand il y a beaucoup d'ennemi. J'ai rajouté un Hud mais n'y faîte pas attention. Je coderais son contenu plus tard. Je voudrais savoir ce que vous pensez des nouveaux systemes de formation donc j'ai mis une démo pour que vous puissiez tester tout ça ^^. Appuie sur R : Suivre le $game_player ou Attaquer Voici les différents icônes : Suivre le $game_player ne pas suivre le $game_player mais attaquer Appuie sur L : aller vers un ennemi différent du $game_player ou inversement Voici les différents icônes : laisser l'ennemi du $game_player et attaquer un autre ennemi les partenaires peuvent tuer le même ennemi que celui du $game_player lien enlevé (demander par mp)
Dernière édition par le Mer 01 Aoû 2007, 02:00, édité 1 fois | |
| | | dani_nouvel_star Maker experimenté Lv 9
Nombre de messages : 279 Age : 44
| Sujet: Re: début de script a-rpg Sam 28 Juil 2007, 03:12 | |
| Petites news sur mon système :J'ai décidé que l'arc ne serait pas une arme mais un accessoire que le seul le player principal pourra utiliser. Une touche sera réservé à l'utilisation de cet accessoire (je ne sais plus quelle touche j'ai mis ^^" ). Pour utiliser ceux des cpu alliés il faudra faire un switch de joueurs, c'est-à-dire choisir de manipuler un autre héros en appuyant sur un bouton (switch pas encore programmé donc pas encore dans lé démo 7). Ce sera pareil pour les magie (un bouton réservé aussi je pense) que j'ai pas encore commencé à scripter mais je vais bientôt m'y mettre. Pour les menus : Je ne sais pas si je vais mettre un petit menu spécialement sur la map pour pouvoir changer rapidement d'accessoire ou de magie.Pour l'instant, ce changement d'option se fera par un menu classique en dehors de la map. J'ai codé trois niveaux d'arc dont la différence est le nombre de flèches consécutives qui peut être tirés. Dans notre exemple j'en ai définis 3 mais vous pouvez en définir autant que vous voulez, avec des vitesses de flèches différentes, des fleches plus ou moins épaisse, des flèches avec chacune leur apparence (chara) etc. Sur le screen vous voyez que j'ai mis les armures 25, 26, 27 en accessoire. 1- sélectionner l'onglet des armures 2- sélectionne l'armure, ici id 25, 26, 27. 3- sélectionnez le type accessoire Ensuite, j'ai équipé le premier player l'un des trois accessoires que j'ai créé précédemment. 5- sélectionne le player que vous manipulez, celui en première position. 6- Equipez lui de 1 des trois arc que l'on a définit précédemment. 7- Ensuite il faut compléter une partie du script : la partie "ARMOR : base de données". Pour vous en souvenir, sachez que les accessoires et les autres armures sont dans la même base de donnée. (0: bouclier, 1: casque, 2: armure, 3: accessoire). 8- Il faut remplir toutes les données correspondant à la portée d'attaque qui sont toutes égales à 32 pixels sur les 3 arc d'id 25,26,27. 9- Le diamètre de l'attaque qui correspond à l'épaisseur de l'arc ici. On voit dans le dessin suivant à quoi correspond ces deux propriété pour une arme proche (épée). 10- character_name : nom du fichier du chara des flèche. 11- move_speed : vitesse des flèches entre 1 et 6 12- nombre de fleche max que l'on peut tirer consécutivement. 13- dans la variable @arc, il faut mettre toutes les id des flèches 25, 26 , 27 dans notre exemple. Donc tout ça c'est pour l'arc. Pour l'épée il faut aller dans la partie Weapon du script et on défini la portée d'attaque et le diamètre d'attaque pour chaque arme. J'ai la flemme d'éxpliquer comme définir les armes d'attaques proches . Voici une démo pour ceux qui veulent tester. arpg7Prochaine étape, scripter les attaques magiques. | |
| | | Contenu sponsorisé
| Sujet: Re: début de script a-rpg | |
| |
| | | | début de script a-rpg | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |
|