Post subject: Breath of Fire 3
Experienced Forum User
Joined: 9/24/2015
Posts: 11
Bonjour à tous J'ai commencé un TAS de Breath of Fire 3. J'ai utilisé pour le moment la méthode brut pour avoir une bonne base sur quoi travailler pour rechercher certaines valeur. C'est ici que ça coince. Nous somme 3 à bosser sur ce TAS, malheureusement nous sommes tous débutant dans TASing. Nous avons donc quelques difficulté a comprendre comment rechercher certaines valeurs sur le RAM Search ou comment bien déterminer si coup critique il y a ou pas C'est pour cela que je poste sur le Forum pour savoir si certains pourrait nous aider pour mieux comprendre et réaliser un TAS un peu plus optimiser. Merci pour vos réponse et pour votre aide PS : Ceci est un WIP du TAS de Breath of Fire 3. https://youtu.be/mHHtFssX4ZM Voici mon fichier movie sur bizhawk https://www.dropbox.com/s/5ey6mz980q1i2hl/breath%20of%20fire%203.bk2?dl=0
Editor, Experienced Forum User, Skilled player (1190)
Joined: 1/31/2010
Posts: 327
Location: France
Bonjour Tout d'abord, comme un TAS de ce jeu existe déja, je te conseille de t'en servir comme base de référence pour les stratégies et autres techniques possibles. Si je compare ta WIP et le TAS actuel, je remarque que tu finis le boss environ 80s plus tard que le TAS, est-ce dû à des temps de chargement plus long sur Bizhawk (ce qui est tout à fait possible), un détour que tu as fait en plus qui te permettra de gagner du temps plus tard, ou bien une perte de temps réelle par rapport au TAS (combat plus long, combat aléatoire supplémentaire à cause de l'émulateur différent, etc...). A noter que tu n'as pas à t'inquiéter de toute perte de temps qui serait exclusivement due à Bizhawk "plus lent" que PCSX, on ne prend pas ça en compte lorsque l'on compare 2 TAS. J'ai vu un début de cinématique juste après le logo Playstation qui n'est pas présent dans le TAS actuel, est-ce une erreur de ta part ou bien un problème nouveau venant de Bizhawk ? Pour les valeurs dans la RAM, le rng est en général une valeur très dur à trouver pour un RPG, car changeant de valeur très régulièrement. Idéalement, il faudrait trouver un moyen de stopper le rng (exemple : est-ce que le rng continue d'avancer quand tu es en combat dans la sélection des sort/objets/etc...). Je te conseille aussi fortement d'essayer de contacter l'auteur du précédent TAS, il est le mieux placé pour t'aider sur ce point. Sinon, la méthode brute est peut être plus longue mais reste efficace. En espérant avoir répondu à tes questions dans ce pavé ^^
Experienced Forum User
Joined: 4/2/2014
Posts: 32
Pour le RNG, il y a en général une méthode propre et une méthode sale: • Méthode propre qui demande de connaître un peu d'assembleur: admettons qu'un jeu ait des coups critiques. On va d'abord chercher dans la RAM la valeur qui correspond aux dégâts infligés et on met un breakpoint en écriture dessus, on cherche également la stat d'attaque et on met un breakpoint en lecture dessus. La prochaine fois que l'on attaquera, le breakpoint en lecture se déclenchera, et on pourra regarder la formule de dégâts. Si l'attaque est un critique, on peut directement run jusqu'au breakpoint en écriture des dégâts, on tombera souvent sur un appel au PRNG un peu avant que les dégâts doublés ne soient écrits dans la RAM. Il n'y a plus qu'à regarder quelle valeur est lue plus réécrite dans la RAM. • Méthode sale, par brute force: le RNG de BOF3 est time-based apparement, il change tout le temps. Cherche juste une valeur qui change sans cesse lorsque tu es dans un écran fixe où rien ne se passe, de nombreuses fois jusqu'à ce que tu n'aies plus qu'une petite liste d'adresses RAM. Je te conseille d'apprendre le MIPS (au moins suffisament pour te dépatouiller avec), et d'utiliser un émulateur avec un bon debugger pour tes recherches (qui sera probablement différent de l'émulateur que tu utilises pour le TAS).
alt: Froggy25
Active player, Experienced Forum User (276)
Joined: 9/1/2008
Posts: 900
puisqu'il s'agit de ma course, je me permes de commenter. - bonne idée de te tuer au début - presque pas besoin de prendre de trésor, à moins que tu aies l'intention de pêcher le manillo pour éventuellement gagner du temps - lors de la 1re rencontre avec le boss, rei peut s'en ocuper seul avec des coups critiques
Experienced Forum User
Joined: 9/24/2015
Posts: 11
Salut J'ai un soucis avec un lua script. J'utilise celui-ci http://pastebin.com/3Prspj0g Sauf que sur bizhawk quand je l'active le Lua Console me met : "LuaInterface.LuaScriptException: [string "main"]:33: attempt to call field 'readwordsigned' (a nil value)" Je voulais savoir si quelqu'un pouvait m'aider cela m'avancerai beaucoup sur mon TAS. Merci d'avance
Experienced Forum User
Joined: 10/23/2009
Posts: 545
Location: Where?
Il semblerait que la commande 'readwordsigned' (a nil value) à la ligne 33 retourne une valeur nulle(aucune valeur). Il faudrait vérifier ce qui est écrit à la ligne 33.
Editor, Experienced Forum User, Skilled player (1190)
Joined: 1/31/2010
Posts: 327
Location: France
Cette lua fonction ne s'appelle pas comme ça pour Bizhawk (pas les mêmes noms que pour PSXjin) Le bon nom est memory.read_s16_le ("read signed 16 bits", sachant que 8 bits = 1 byte, 16 bits = 1 word) Pour la liste complète des fonctions : http://tasvideos.org/Bizhawk/LuaFunctions.html