> forums jeux > tyrann
100 posts     10 pages     [ Goto page: 1 2 3 4 5 6 7 8 9 10  ]
Dom
Posted Saturday, August 13th 2011 12:38PM
 
Symoon a écrit:
Sur le plan lui-même, j'ai comparé celui de la disquette de Dom chargé en RAM, et celui sur la disquette source de Norsoft: strictement identique.
Ca n'exclut pas un pb de décalage dans le chargement en mémoire, ou un bug d'origine (je n'ai pas épluché les valeurs du labyrinthe) mais au moins le tracé du labyrinthe est conforme à ce qu'ont fait les auteurs !

oui, par contre ce que je ne comprends pas , c'est que ,sur le plan de ton Viewer, les cases du bas semblent effectivement inaccéssibles (mur bleu en dessous). Alors que quand on sort par le haut du plan, on se retrouve devant des portes. Malheureusement je suis trés rapidement attaqué par des monstres et le joueur néophite que je suis ne s'en sort qu'en fuyant.
C'est là que le KADEO debogué est utile . J'ai pu vérifier plusiseurs fois qu'il fonctionne !

Mais pour comprendre ce qui se passe entre le haut et le bas du plan, ce n'est pas top .
Symoon (admin)
Wiki-Oric-pedia
Posted Saturday, August 13th 2011 8:15PM

118 posts
Attention, je ne sais plus de où proviennent les plans de mon viewer. Et qui plus est, j'avais transposé les valeurs pour qu'elles s'affichent directement (en mémoire, ce n'est pas le plan d'origine, mais le plan déjà traduit avec les symboles voulus), donc on n'est pas à l'abri d'une erreur.
Ceci dit j'ai comparé avec le plan de la disquette source et le viewer de la disquette source, je ne vois pas de différence.
(j'ai essayé d'insérer des images mais ça ne fonctionne pas)

C'est donc bien un problème qqpart dans le jeu, est-ce que qqn a testé sur la version K7 pour voir si le bug est d'origine ?
Dom
Posted Tuesday, August 16th 2011 12:57AM
 
maximus a écrit:
  Si qqu'un a déjà percé le Mystère du niveau 9  ???  


Home sweet home .. me voilà de retour de ce long WE du 15 août

Avant de partir j'avais réussi à modifier un peu le listing pour me permettre de tester facilement les corrections de bugs.

1 - un petit POKE, et plus un seul monstre dans aucun des labyrinthes.
2 - Une option secrète au campement, pour savoir en permanence où l'on se trouve (une incursion du 21ème siècle dans Tyrann par le biais d'un GPS planqué dans la poche du voleur de l'équipe )

Muni de ces deux "améliorations" se promener dans les labyrinthes devient un jeu d'enfant de maternelle (parfait pour moi)

Voila ce que j'ai constaté.

Maximus, tu as raison, on passe du niveau 8 au niveau 9 en traversant la frontière sud du plan. En fait, on ne passe pas du niveau 8 au niveau 9, on passe des données du plan de niveau 8 aux données du plan du niveau 9, ce qui est différent.

Le passage dans l'autre sens est aussi possible.

Mais comme Simon l'a fait remarquer dans un de ses posts, il y a 4 octets, dont on ignore la signification entre les données de chaque niveau.

Cela se traduit naturellement par un décalage de 4 colonnes lorsqu'on traverse la frontière 8/9.
on passe par exemple de la colonne 9 du plan 8 à la colonne 5 du plan 9 en descendant vers le sud de 8
dans l'autre sens:
On passe, par exemple, de la colonne 2 du plan 9 à la colonne 6 du plan 8 (on retrouve les 4 octets de décalages) en remontant vers le nord du niveau 9.

Le programme ne gère pas du tout ce "passage de frontière" nord/sud !
Ce passage n'est d’ailleurs possible qu'entre les plans 8 et 9 . Pour tous les autres niveaux, il y a étanchéité totale (solides murs) entre le sud d'un niveau et le nord du suivant.

Il y a deux possibilités face à ce constat:

1- les auteurs ont souhaité ce passage ainsi que le décalage pour "perdre " un peu plus les courageux chevaliers qui s'aventureraient dans ces niveaux extrêmes. Car le sort KADEO, déraille complètement dans ce cas, il ne sait plus du tout où il est ...

2 - les Trois derniers niveaux ont été beaucoup moins "finalisés" que les 7 premiers (suffisants rappelons-le pour passer au niveau 10 de la face B) et nous faisons face à un gros cafouillis informatique.

Il faudrait poser la questions aux auteurs... Je suis sûr que Simon est volontaire ;-)

J'ai examiné à l'aide d'un éditeur hexa, les murs qui entourent les deux zones inaccessibles au sud du niveau 9, se sont des murs tout à fait normaux. Je n'ai pas trouvé de code particulier qui pourrait signifier : "mur escamotable, ou faux mur ou quoi que soit. Non, le code de ces murs est #19 , comme celui des tous les autres murs.

A moins qu'il existe un sort capable de faire "tomber" les murs, ou une arme explosive capable de les percer ( Maximus ? ) ces zones sont réellement inaccessibles.

J'ai tendance à penser qu'ils sont effectivement inaccessibles et que ces niveaux ne sont décidément pas finalisés.

On peut laisser le jeu en l’état,
Ou bien attendre un peu (pas trop longtemps) que quelqu’un trouve une astuce qui nous aurait échappée à tous (aux joueurs et aux fouineurs de listings) et si rien n’est trouvé, on  considère que c’est un bug et on perce artificiellement un passage dans les murs ceinturant ces zones pour permettre d’enfin les explorer.


LadyWasky (admin)
SOS can do everything
Posted Tuesday, August 16th 2011 2:37PM

255 posts
Alors, j'ai une réponse pour cette partie du niveau 9

une possibilité d'y rentrer, et seule possibilité d'en sortir : fuir les monstres lors d'un combat !!!

Sinon, il y a effectivement une zone du niveu 4 à laquelle on ne peut accéder qu'en passant par le niveau 5, et une zone "impossible d'en ressortir" au niveau 6 par laquelle on accède en prenant un escalier qui monte au niveau 7 (un coffre, une case monstre et plein de trappes !!!)


Y'a t'il d'autres oriciennes ? Je me sens seule ! ^^
LadyWasky (admin)
SOS can do everything
Posted Wednesday, August 17th 2011 3:44AM

255 posts
n'empèche, il y a  un truc qui me turlupine, ce sont ces lignes 6 et 7 toujours appelées après un déplacement (GOSUB6)...

6 IFW<36861ORW>38849THENW=DEEK(6)+60
7 AV=0:DOKE6,W-60:RETURN


bon, la ligne 6 semble gèrer la sortie vers le haut du premier labyrinthe et la sortie vers le bas du dernier labyrinthe (36861=36835+26=<premier octet du premier labyrinthe>+<largeur du laby>  et 38849=38876-26=<dernier octet du 3eme labyrinthe>-<largeur du laby>)
- pour comprendre 1 : les labys sont stockés par groupes de 680 octets, dont 4 octets de fin de labyrinthe : en effet longueurxlargeur=26x26=576=680-4)
- pour comprendre 2 : la première ligne du 1er laby et la dernière ligne du dernier laby sont interdites de facto
- pour comprendre 3 : DEEK(6) vaut au tout départ du début du jeu 36862-60=<premier octet de la 2ème ligne du premier labyrinthe>, cette case est définie comme un mur (16 W=36862:GOSUB21000:HIRES:INK5:PRINTCHR$(17):POKEW,19:DOKE6,W-60)

- 1ere remarque : si on ne charge que les labyrinthes 8 et 9, ou que le 9, la valeur haute (38849 en l'occurence) devrait être modifiée avec 38169 (seul le 9 est chargé) ou avec 37489 (laby 8+9), sinon ça marche moins bien je pense.

- 2ème remarque : ce qui me fait mal ici, ce sont les +60 et -60, la modif avec DOKE6,W-60 si on reste dans le labyrinthe, et le retour à la 1ere case du 1er laby si on sort par le bas (enfin, si on atteint la dernière ligne du dernier laby).

...de même, si on passe du laby 8 au laby 9 par exemple (parce qu'il n'y a pas de mur, on doit en toute logique se prendre un décalage de 4 cases vers l'ouest (ou si on remonte, vers l'est)) à cause des 4 cases de fin de laby du labyrinthe n°8.
Je dirais que ces deux lignes, c'est un nid à bugs...

En fait, je verrais plutôt ceci, tout simplement (et encore ça ne gère pas l'histoire des 4 cases entre les labys 8 et 9) :
6 IFW<36861ORW>38849THENW=DEEK(6)
7 AV=0:RETURN

et
16 W=36862:GOSUB21000:HIRES:INK5:PRINTCHR$(17):POKEW,19:DOKE6,W

Je dois très certainement avoir tort mai qui sait ?
Dom, qu'en penses-tu ???


Bon, si on souhaite gérer l'histoire de décalage il faudrait une variable supplémentaire : W0
16 W=36862:W0=W:GOSUB21000:HIRES:INK5:PRINTCHR$(17):POKEW,19:DOKE6,W

que l'on teste par rapport à W avec une ch'tite astuce BASIC (et on remplace tous les GOSUB6 en GOSUB5) :
_________________________________________________
5 IFW<36861ORW>38849THENW=DEEK(6)
6 Z3=0:IF ABS(W-W0)<60 THEN GOSUB3500
7 W=W+4*Z3:DN=DN+Z3:AV=0:W0=W:RETURN

3500 Z0=37512:Z1=38192:

3501 Z4=(W0>Z0 AND W<Z0)OR(W0>Z1 AND W<Z1)
3502 Z5=(W0<Z0 AND W>Z0)OR(W0<Z1 AND W>Z1)
3503 Z3=Z4-Z5:RETURN
_______________________________________________

explication :
- W0 était égal à W avant le déplacement. un déplacement vertical= plus ou moins 26 (52 pour une porte)
- Z1 et Z2 représentent les "frontières" des labys faites de 4 octets
- si W est dans un laby et W0 dans l'autre, à moins de 60 cases l'un de l'autre (on est pas passé par un escalier), on met à jour Z3 pour savoir si on est monté (le test vaut -1=Z4) ou descendu (vaut +1=-Z5) (Rappel : TRUE vaut -1, et FALSE 0)
- on met W et DN à jour, et on réinitialise W0

Je me suis peut etre plantée de signe quelque part, mais ça doit pas etre loin.

bizzz



Y'a t'il d'autres oriciennes ? Je me sens seule ! ^^
Dom
Posted Wednesday, August 17th 2011 11:49PM
 

LadyWasky  a écrit  :

>n'empèche, il y a  un truc qui me turlupine, ce sont ces lignes 6 et 7 toujours appelées après un déplacement (GOSUB6)...
>W6 IFW<36861ORW>38849THENW=DEEK(6)+60
>7 AV=0:DOKE6,W-60:RETURN

>...
>...
>Je dois très certainement avoir tort mais qui sait ?
>Dom, qu'en penses-tu ???


Ha ha !  ... je vois que l'on se pose les mêmes questions

Moi aussi je me suis demandé ce que pouvais bien signifier ce +60  / -60 ...  J'avoue que je ne n'ai pas compris...

Mon mode de fonctionement sur ce genre de "chantier" (adaptation disquette de soft) est  d'essayer de réussir en faisant un minimum de modifications. 

A cela deux raisons :
En premier (officiellement :-) 
- Modifier un minimum pour respecter au maximum le soft initial...
En second (officiellement mais en premier en fait :-) 
- modifier un minimum pour éviter les modifications trop lourdes qui impliquent généralement de  comprendre mieux le  le soft d'origine ...)

Dans ce cadre là, l'option choisie au départ est de ne pas modifier le mode de chargement des plans. c'est à dire que les sauvegardes de niveaux 8 ou 9 ne changent pas le fait que les plans chargés sont les 7 , 8 et 9.

Partant de là, la modification minimale du soft existant nous a conduit à simplement modifier la variable W, point de départ dans les données des plans en memoire.
Tel qu'il est modifié actuellement, le jeu ne réagit pas exactrement de la même manière lorsqu'on démarre au niveau 8 (ou 9) que lorsqu'on démarre aux niveaux prévus à l'origine (<=7).
En effet, à l'origine, demarrage à un niveau <=7, l'escalier imédiatement remontant ramène au village.
Si l'on démmarre depuis le niveau 8, l'escalier ramène au niveau 7 et non au village. De même si l'on demarre au niveau 9 l'escalier ramène au niveau 8 . Un escalier remontant ramène aors au niveau 7 puis un troisième escalier ramène finalement au village. (ouf)

Ce n'est pas le comportement habituel du jeu aux autres niveaux, mais c'est le prix à payer pour une modification minimale.


LadyWasky a ecrit :

>Bon, si on souhaite gérer l'histoire de décalage il faudrait une variable supplémentaire : W0
>16 W=36862:W0=W:GOSUB21000:HIRES:INK5:PRINTCHR$(17):POKEW,19:DOKE6,W
>....

Là encore, dans l'optique de modification minimale et/ou respect du soft initial j'ai préféré penser que les auteurs avaient souhaité ce décalage et j'ai donc préféré ne pas chercher à le "compenser" comme tu le proposes.

Ce qui me fait dire cela est la configuration des frontières sud du plan 8 et nord du plan 9 qui semble avoir "intégré" le décalage de 4 octets.
Je vais tenter ci dessous d'illustrer ce propos par un schéma succinct de la frontière entre ces deux niveaux.

Les X représentent des murs, 
les O , représentent des passages libres et 
les P représentent des portes.

    X      bas du niveau 8                               X   
    X                                                                  X
    XXXXXXOOOOOOOOOOOOOXOXXOXX       
             XXOOOOOOXOPOPOPOPOXOXOXXXX
             X                                                                  X
             X       haut du niveau 9                             X     

Il semble évident que le décalage de 4 colonnes a été pris en compte par les concepteurs du jeu afin qu'il n'y ait pas de "distorsion" de l'espace. Les quatre premiers murs en bas à gauche du niveau 8 empêchent de "tomber" dans le vide. Les passages libres suivants, correspondent bien avec les passages llibres en haut du niveau 9. De même, les 4 derniers murs en haut à droite du niveau 9, empêchent de "tomber" dans le vide. 
Tout cela fait penser à une volonté de perdre les chevaliers aventureux, en mélangeant les données des plans 8et 9 sans signaler aucun changement de niveau.

L'objectif est de fournir à l'ensemble des oriciens une version disquette de TYRANN la plus proche possible de la version K7 (en ayant simplement ajouté la possibilité de sauvegarde aux niveaux 8 et 9 et corrigé les bugs rencontrés en chemin ) 

Cet objectif est pratiquement atteint maintenant, La diffusion de cette disquette ne devait, en principe, plus tarder.
LadyWasky (admin)
SOS can do everything
Posted Thursday, August 18th 2011 8:59AM

255 posts
Effectivement, je ne m'étais pas rendu compte que le bug de 4 cases entre les niveau 8 et 9 avait été pris en compte par les concepteurs au niveau du plan,

Bon hé bien c'est du tout bon semble-t'il. Et je suis preneuse pour la disquette de la V3 !


Y'a t'il d'autres oriciennes ? Je me sens seule ! ^^
LadyWasky (admin)
SOS can do everything
Posted Friday, August 19th 2011 5:20PM

255 posts
Dominator à l'air de relayer conan le Barbare au rang de crevette !!!!


Y'a t'il d'autres oriciennes ? Je me sens seule ! ^^
LadyWasky (admin)
SOS can do everything
Posted Saturday, August 20th 2011 6:15PM

255 posts
Bon, voici ce que je considère comme un bug et je suggère de la corriger : le passage de niveau d'un personnage n'est pas conditionné par son propre niveau ( NI(WQ) ) mais par le niveau moyen de tous les personnages du groupe qui on survécu à un combat ( Y2, qui es calculé aux lignes 52505 et 52507 en fin de combat ), à cette ligne là :
3006 IFEX(WQ)<INT(190000*TAN((Y2+2)/11)/(14-(T6^2.8-C9)/T6^2.1))-8000THEN3060

Si le niveau moyen du groupe est 1, avec des caractéristiques toutes égales à 10, un personnage devra attendre environ 2600 points d'expériences pour passer au niveau 2

Si le niveau moyen du groupe est  2, le même personnage devra attendre environ 6900 points d'expériences pour passer au niveau 2 !!!


résultat des courses, admettons que sur les 6 personnages, au niveau 1 il y en a un qui meurt (le magicien par exemple, parce que c'est souvent sur lui que ça lui tombe dessus, à cause de sa protection très faible : une robe, tu parles....)...

A un moment donné, ses 5 camarades vont passer de niveau assez rapidement, et lui, pauvre Merlin, attendra une éternité pour rattraper ses camarades... dur, dur non ????

donc je suggère ceci à la place :
3006 IFEX(WQ)<INT(190000*TAN((NI(WQ)+2)/11)/(14-(T6^2.8-C9)/T6^2.1))-8000THEN3060

bizzzzz



Y'a t'il d'autres oriciennes ? Je me sens seule ! ^^
loki
Posted Friday, January 6th 2012 10:05PM
 
maximus a écrit:
oui bob c'est une carence grave  essaie le , tu devrais accrocher comme la plupart de ceux qui le découvre

"Tyrann - addict"

ARF encore un Bug: au niveau 7, les 3 escaliers qui descendent se terminent inexorablement par un message d'erreur (undef statement) , heureusement que l'on peux acceder à la face B sans avoir à faire les labyrinthes 8 et 9

J'ai fait le niveau 8 mais c'était sur Amstrad mais la face B de la K7 était buggée et je n'ai jamais pu faire le niveau 10
Author:
firstname or nickname...
       
100 posts     10 pages     [ Goto page: 1 2 3 4 5 6 7 8 9 10  ]
> forums jeux > tyrann