|
Forum OVA
Bordel en vrac
Boîtes à questions | Auteur | Message |
|---|
Fébrile Joueur
 Barbare niveau 100
Posts : 367 |
Posté le 30/07/2016 à 19:17 |
|
Bonjour tous le monde. Comment en ce moment je code plutôt beaucoup, il peut y avoir beaucoup de questions qui me tracassent. C'est dont le fruit du topic. Bien sûr ça concerne le jeu mais pas tout le monde peut répondre je pense.
- Pour commencer, je voulais savoir comment fonctionne les objets. Je m'explique. Lorsque l'on clique sur un objet, on voit sa description et il y a nécessairement un possesseur. Ca veut dire que dans la table SQL des objets, chaque lignes correspond à un des objets qui peuvent être les même. En gros deux joueurs peuvent avoir le même objet, les ID seront forcément différente. Mais du coup, comment ça fonctionne ? Lorsque l'on tue un monstre et que l'on loot un objet, alors il est créé avec un nouvel ID ? Et du coup comment gérer le fait de "créer" un objet aléatoire ?
- Le deuxième point dont je me pose des questions c'est la gestion de l'aléatoire. Actuellement, mon système de combat utilise la formule : Dégats = Attaque du joueur / random(1.9, 2.1) - Défense du monstre ciblé / random(3.9, 4.1) C'est la formule qu'utilise RPG Maker 2003, sauf que j'ai ajouté le random. C'était simple parce que c'est une simple attaque. Mais gérer l'aléatoire pour les coups critique ou la précision/esquive me semble plus complexe et j'ai pas saisi comment ça fonctionnait.
- Pour finir, la gestion de l'inventaire. Pour l'instant les seules pistes que j'ai c'est afficher les objets en boucle rangés par type. Mis à part ça je sais pas trop comment ça fonctionne ^^' _________________________
 | Kold Joueur
 Necromancien niveau 100
Posts : 1501 |
Posté le 31/07/2016 à 01:07 |
|
- Oui
- Hors ta formule, pour un crit c'est tout connement un rand 1,100, et crit si <=au taux de crit de ton persos. Pour prec vs esquive ça dépends tes formules, tu calcules ton taux de hit et ensuite tu fais aussi un rand 1,100.
- Tu veux faire quoi de plus qu'afficher les items par catégories ? _________________________ Groupe OVA sur FB | Seto AKA Jill Joueur
 Maître d'armes niveau 100
Posts : 483 |
Posté le 31/07/2016 à 01:31 |
|
Je ne peux pas répondre à tout, n'étant pas moi-même programmeur, donc je vais m'éparnger la question 3. Cela dit, il y a quand même quelques trucs qui m'interpellent.
1) Tu réponds à ta propre question en fait. Si les IDs sont forcément différentes, alors oui, le jeu créée une nouvelle ID pour l'item à chaque fois qu'il est créé au moment du loot. Compare les urls de 2 ou 3 objets random sur OVA et ce fait saute aux yeux presque immédiatement. Pour le coup de la création à proprement parler, ça ça rentre dans la section où je ne m'y connais pas, donc on passera >.>
2)...Okay, la question doit être posée sérieusement: pourquoi le random ajouté au juste? Surtout si le spread du random est aussi "faible"? J'veux dire à 0.2 points d'écart t'as juste plus vite fait de reprendre la formule originale et de coller un 2 et un 4 tout con, ça évitera de complexifier inutilement le bazar...
Je peux voir une explication logique, mais pour ça il faut un peu plus d'informations sur comment le reste est censé fonctionner. Ca pourrait être, par exemple, pour créer un spread basique et éviter que tous les coups fassent exactement les mêmes dégâts. Auquel cas, est-ce que les "armes" dans ta formule ont un spread natif (une épée fait entre 15 et 18 dégâts par exemple), et même chose pour les stats (pour reprendre l'exemple d'OVA, 5 STR = +0.5 / +1 dégât)? Si ces trucs sont fixes sans aucune notion d'aléatoire, je peux voir l'intérêt du jet de random sur la formule de dégâts pour faire un minimum de spread. Sinon et si il y a bien du spread déjà là dessus, il va sérieusement falloir m'expliquer pourquoi en rajouter en plus par dessus sur la formule de dégâts. Parce que là, ça donne vraiment l'impression d'être random juste pour le plaisir d'ajouter du random.
Tu veux peut-être aussi faire attention aux valeurs des stats "Attaque" et "Défense" avec des valeurs pareilles, selon vers quoi tu t'orientes... Et aussi d'essayer de comprendre, quand tu reprends/retouches une formule, pourquoi la personne qui a pondu ça l'a orienté dans ce sens en premier lieu. Ca peut être difficile à faire quand la moitié des infos manquent (le matos et les stats dans RPG Maker pourraient avoir une énorme influence ou de super gros chiffres, hell if I know), mais ça peut aider pour au pire l'adapter au contexte du jeu derrière. | Fébrile Joueur
 Barbare niveau 100
Posts : 367 |
Posté le 31/07/2016 à 02:06 |
|
1) Ouais mais le truc c'est que je vois pas trop comment m'y prendre pour "créer" les objets. Encore le faire avec le pannel d'admin ça va c'et facile, laisser le moteur le faire automatiquement quand il est a besoin c'est plus dur. Surtout avec le nombre d'objets différents qui peuvent exister ^^'
2) Le random sert d'éviter que les valeurs soient toujours les même. Et il est vrai que j'ai passé des heures dessus sans trouver quelque chose de correcte. Mais en soit le 0.2 d'écart change relativement bien le résultat en l'état actuel. Après c'est sur que je vais encore changer la formule parce qu'actuellement elle met en jeu seulement l'attaque et la défense. Mais pour bien te répondre c'est pas juste pour mon plaisir le random, mais c'est beaucoup mieux que d'avoir une valeur statique.
3) En ce qui concerne les items eh bien ce qui me tracasse c'est comment gérer ça avec la base de donnée. Parce qu'actuellement je ne vois pas trop comment chaque joueurs pourraient avoir une table chacun pour leurs inventaire. _________________________
 | Kold Joueur
 Necromancien niveau 100
Posts : 1501 |
Posté le 31/07/2016 à 02:36 |
|
1 - C'est à toi de voir ça, tu peux te contenter d'un item "fixe" avec calcul de dégâts variables (comme le suggère ta formule), dans ce cas pas besoin de "créer" l'objet, il suffit de dire Joueur X possède Item Y en Q quantité. Sinon oué, une ligne détaillée par objet, c'est pour ça que la BDD de OVA est énorme.
2 - Pour Seto
3 - Cf point 1 _________________________ Groupe OVA sur FB | Yann Solo Schtroumpf codeur
 Maître d'armes niveau 100
Posts : 660 |
Posté le 31/07/2016 à 21:08 |
|
Ouais, 20% de random c'est déjà bien, OVA est inspiré d'un jeu dont la plupart des armes tapent à genre 5-30 damage, c'était putain d'insupportable (surtout moi qui faisait que des 5)
OVA a une table "classe d'objet" et une table "objet" Classe d'objet : ID "54", Nom "Armure de Doom", DefenseMin "50", DefenseMax "70" Objet : ID "21347", ClasseID "54", JoueurID "237", Defense "55", Qualite "25%"
Dès que qq'un droppe un objet, une fonction va chercher les valeurs min/max pour à peu près tout, fait un random entre les 2, et en profite pour calculer la moyenne des valeurs pour voir si c'est un objet médiocre (rouge) => parfait (vert)
Pour les dégâts pareil, les dégâts min c'est entre "AttaqueMin + STR/10 + LUCK/10" et "AttaqueMax + STR/5", pas besoin de +- 20% du coup _________________________
 | Fébrile Joueur
 Barbare niveau 100
Posts : 367 |
Posté le 31/07/2016 à 21:25 |
|
Merci pour ta réponse Yann ça m'aide beaucoup mine de rien. Je comprend bien maintenant comment fonctionne les objets.
Ma formule de dégâts en est là actuellement : dmg_min = force / 4 dmg_max = force / 3 dmg = random(dmg_min, dmg_max) _________________________
 |
|
|