[Résolu] Anvil Of Dawn : Bug "Unable to find an empty thing slot"

Réduire
X
 
  • Heure
  • Afficher
Tout nettoyer
nouveaux messages
  • MadW
    Compte archivé

    • septembre 2012
    • 4

    #1

    [Résolu] Anvil Of Dawn : Bug "Unable to find an empty thing slot"

    Bonjour à tous.

    (Si vous ne voulez pas subir les dires d'un passionné, allez directement à la fin de ce message )

    [Paragraphe d'un passionné mode MyLife]
    Tout nouvellement inscrit, "habitué" au site et au forum depuis bien des années, adorant les vieux jeux datant des 90s, je dépoussière parfois de très bons titres qui ont bercé ma lointaine enfance.

    Il y'a quelques mois, un jeu nommé "Legend Of Grimrock" est sorti - dispo sur Steam - , un Dongeon Crawler en totale 3D, fonctionnant en case par case.
    En 2012, un Dongeon Crawler... case par case... Que de vieux souvenirs... J'ai sauté dessus et ai eu un énorme pincement au coeur en y jouant et en prenant du plaisir à y jouer.


    *TILT* Anvil of Dawn !
    Jeu que j'avais fini après des dizaines d'heures de jeu, jeu qui présentait un bug consternant dans la zone "Underground City", mais qui a l'époque de ma vieille gimbarde ne m'avait pas empêcher de continuer à jouer.
    Dosbox sous le bras, je déterre alors des catacombes de mes bibliothèques la boîte contenant de vieux CD de magasines/démo, et tombe sur le titre de "Génération4 : Anvil of Dawn" (offre promotionnelle du dit magasine à l'époque).

    Je l'installe...

    Bon la sonorité Midi n'est pas la même, c'est un peu décevant... mais le reste... BON SANG LE RESTE ! \o/
    Retour arrière grisant.
    Et avec un niveau d'anglais bien plus élevé qu'à l'époque, me voilà à lire manuels (anglais puis français trouvé sur votre site), tout ce qui est lisible...

    Gryphon's Keep ? Torché.
    Dark Lantern ? Vidée.
    Underwater Labyrinth ? La dame me fait la gueule, j'ai son sort et je ne lui cause plus \o/
    Sunked Galley ? Le démon m'a dit ce qu'il avait à me dire.

    Content de moi, je m'en vais donc dans la ville qui m'avait le plus fait peur (après "City of Death") à mon jeune âge, "Underground City".
    Souvenirs du fameux bug qui reviennent... Aurais je la chance de ... ? Et non.

    "Unable to find an empty thing slot. Press C to continue or Escape to Exit"
    Qu'est ce que j'ai pu maudire ce bug.
    Pressant comme un timbré la touche C, je m'engage dans le jeu avec quelques nouvelles cascades d'alertes, et je me retrouve avec des trio balles/poings/flammes (les fameux pièges) apparaissant devant moi, sur des multitudes de cases. Jusqu'à me bloquer dans un coin. Déçu, je baisse les bras sur la partie. A croire que tous les pièges du niveau aient plantés.

    Le lendemain, acharné et têtu que je suis, je cherche... Tiens, un patch 1.1. J'installe... ok... bah non ça déconne encore.

    J'avais sur moi des sacs/coffres bien remplis - j'ai tendance à être assez collectionneur l'on va dire, puisque toute armure/arme/pierre pouvant peser un certain poids aide sur les plaques de pressions.
    "Empty slot" "Empty slot"... Peut être ais je trop d'objets sur moi pour traverser la ville.
    Je pose mon barda massif dans "Gryphon Keep", et reviens. Ah bha non même bug. Pire encore, si j'ai fait une sauvegarde lorsque j'étais avec tout mon barda, et dans la ville, la sauvegarde est inutilisable. Fun...

    "Empty thing slot." "Empty thing slot." ...
    Et j'ai eu la "révélation" (excusez du grand mot).

    Je bosse dans le web depuis quelques années, autant sites vitrines qu'applications conséquentes maniant des concepts de sécurité assez ardus. J'ai donc une formation générale en informatique de bon niveau, sur différents langages & algorithmes.

    En programmation informatique, comment stocke t'on des données ? Le plus commun sont les "tableaux", on les crée avec un nombre limité de cases, et on y insère, suivant les langages informatiques, différents objets. Tableau de valeurs, tableau de chaînes de caractères, tableau de tableaux, ...

    Et si les containers étaient EUX AUSSI régis par des tableaux ?! Ca serait logique. Même s'il n'y a pas de limitation à l'écran, ça ne serait pas impossible.

    Sachant que ce Dongeon Crawler garde absolument TOUS les emplacements des objets en mémoire, pas impossible que mes sacs à "Gryphon's Keep" soient encore pris en considération, et fassent planter tout ça...

    Je suis donc retourné dans ce fort, et j'ai littéralement vidé mes sacs par terre.

    Vous savez quoi ? .... PLUS DE BUG !

    Le bug "Unable to find an empty thing slot" est dû tout simplement au trop grand nombre d'objets présents dans UN ou PLUSIEURS conteneurs.
    En effet, même s'il ne semble pas y'avoir de limite à ceux ci, un tableau "informatique" régirait ces conteneurs, tableau limité à un nombre FIXE et PRECIS d'emplacement. Nulle mention n'est faite, mais je ne vois pas d'autres explications.

    A l'inverse, la quantité d'objets dans l'inventaire du personnage ne semble pas avoir de limites. Tout comme le Monde du jeu en lui même. Abandonnez un objet, revenez y plusieurs dizaines d'heure plus tard, l'objet est toujours là.

    Cependant, j'ai cru comprendre qu'avoir ce bug entrainait - à chaque fois qu'il arrivait - l'effacement d'un objet dans l'inventaire incriminé.
    Je n'en suis pas sûr, mais j'ai aussi constaté qu'en lançant le fameux "couteaux de lancer de la mort qui tue qui revient dans ta main" dans la ville, en étant sujet à ce bug, le couteau a purement disparu du jeu. Définitivement. Et mes sacs se sont faits moins lourds.

    A croire qu'à chaque fois que ce bug arrive, des objets présents DANS des containers portables (sacs/coffres) disparaissent.

    Restent quelques questions :
    Pourquoi cela n'arrive la plupart du temps que dans ce niveau ? Je ne sais pas, peut être est ce celui où il y'a le plus de pièges/d'animations, d'ennemis ou simplement parce qu'il s'agit du plus grand niveau.
    Pourquoi est ce que des containers stockant des objets "hors tableaux" provoquent ces bugs ? Je ne saurai pas répondre.
    Qu'est ce qui m'a mis dans la voie ? "Empty thing slot" -> "Empty Slot", bug connu dans certains problèmes de tableau dans différents langages informatiques. Emplacement vide pour des choses/objets/trucs...


    EDIT : Il semblerait que ce bug ait AUSSI lieu si l'on surcharge vraiment son propre inventaire. En effet, j'avais vidé pour essayer la totalité de mes sacs en vrac dans mon inventaire, ce qui totalisait - oui je sais je suis allé bien loin - 1000kg à peu près (la majorité du poids n'étant que des pierres de 10 oui 5 kg). J'ai voulu traverser ainsi le niveau "Underground City". BUG !
    Donc, disons que l'Inventaire ET les Coffres sont à charger de manière raisonnable (certains excès permis).


    -------------------------------------------------------------------------------

    Donc pour conclure :
    [ paragraphe solution au bug Anvil of Dawn "Unable to find an empty thing slot" ]
    Si vous rencontrez le bug "Unable to find an empty thing slot", ne prenez pas de risques !

    Ce bug semble n'intervenir QUE dans le niveau "Underground City". Ce n'est pas une certitude !

    Rechargez votre précédente sauvegarde, VIDEZ la totalité du/des sac(s) le(s) plus chargé(s) au sol (dans Gryphon's Keep par exemple). Il ne faut pas que vous ayez un sac trop plein NI MÊME un inventaire beaucoup trop plein. Sinon le bug arrivera de nouveau. Quitte à revenir ensuite récupérer votre barda, en plusieurs trajets, pour passer aux niveaux suivants.

    Entrez ensuite dans la ville : tout se passe parfaitement bien !

    Il semblerait que l'inventaire soit aussi "limité" (évitons les énormes excès) de la même façon que les conteneurs.
    [/paragraphe]

    [ English Version (because Google spot this forum when we search some solutions on old games) ]
    Anvil of Dawn "Unable to find an empty thing slot" BUG ]
    If this bugs happens, reload your previous savegame. Empty your most highly charged containers (bag/chest/...) on the ground OR on your inventory. And return to the level where the bug occurred.

    Because all containers AND YOUR INVENTORY have a limited capacity (in number of objects). I know, that's not indicate in the game, BUT that's a fact ! TRY IT !
    You can charge containers, overcharge your inventory without very huge excess, but beware...
    This bug seems to happen only in "Underground City" level, but 'not sure. And, perhaps, this bug erase some of objects contained on those containers. So, reload before emptying.
    [/English Version]


    (Et excusez mon niveau médiocre en anglais, ou les fautes de ce message).

    J'espère que certains reprendront l'envie de jouer à ce très bon titre.

    Si quelqu'un, d'ailleurs, pouvait poster ma "solution" dans la description du jeu - après l'avoir validé et rédigée correctement, bien sûr ^^"'

    Bonne journée à tous !
    Dernière modification par MadW, 03 septembre 2012, 01h41.
  • MadW
    Compte archivé

    • septembre 2012
    • 4

    #2
    [Edition du message précédent : il semblerait donc que ce bug ait aussi lieu si l'on surcharge vraiment - avec excès - l'inventaire du personnage.]
    A vos avis/confirmation.

    Commentaire

    • Felin
      Nomad

      • avril 2020
      • 3

      #3
      Je déterre ce message pour ajouter un peu d'information pour les plus nostalgiques .. ou moins … qui tomberaient sur ce souci :

      - une solution qui semble fonctionner
      avoir moins de 64 objets par coffre / sac / inventaire (?)
      avoir moins de 255 objets en tout dans des contenants (coffres / sacs / inventaire ) peu importe où ils se trouvent dans le jeu

      - comme ce problème ne semble arriver que dans "Underground City" vous devez vérifier, et ajuster, vos contenants seulement si vous voulez y entrer / y passer
      une fois ressorti de là vous pouvez de nouveau remplir vos contenants comme vous voulez (en tout cas j'ai pas eu de soucis ailleurs).

      - en respectant les limite (cf point 1 ci dessus) rien ne vous empêche de faire des aller - retour (en vidant / remplissant les contenants) afin de faire passer vos objets 'excédentaires' d'un donjon d'un côté de "Underground City" à un autre de l'autre côté de "Underground City".

      Commentaire

      • eternal-newbie
        Assassin


        • août 2006
        • 1646

        #4
        Simple curiosité, je ne suis pas développeur/programmeur pour un sou :
        Je sais que le premier Zelda (1986) ne permettait pas d’emmagasiner plus de 255 rubis à cause des limites du processeur 8 bits de la NES (ne me demandait pas les détails) ; ça pourrait venir d'un problème similaire ?

        Commentaire

        • Felin
          Nomad

          • avril 2020
          • 3

          #5
          tout à fait !
          8 bit ça veut dire qu'on code les nombres (et autre infos de l'ordi) par paquets 8 0 ou 1 ex 10101010 ou encore 11111111
          avec un paquet on peut donc aller de 0 (00000000) à un maximum de 255 (11111111) en nombres
          ce qui explique qu'après 255 soit le programme fait un bug car il obtient un nombre qu'il ne peut pas écrire en 8 bits ou il repasse à 0 certains anciens jeux ont ce comportement : ils ne buggent pas mais il font passer de 255 à 0 si tu dois avoir un élément en plus

          Commentaire

          • eternal-newbie
            Assassin


            • août 2006
            • 1646

            #6
            D'accord. Donc si Anvil of Dawn part en sucette quand on dépasse les 255 objets en notre possession, ce serait parce qu'il « compte » en 8 bits ?

            Commentaire

            • Warrens
              Champion


              • janvier 2003
              • 962

              #7
              Bonjour,
              Il y a un moyen simple (ça reste des mathématiques) pour compter le nombre de valeurs possibles selon tout type de base:
              Un octet (ou un multiplet , octet étant un abus de langage) , c'est une base binaire (donc soit 0 ou 1 comme valeur) sur 8 colonnes, donc le nombre de valeurs disponibles permises sera égal à 2 puissance 8 , soit 256 valeurs ( de 0 à 255 , la valeur 0 , ou '00000000' étant une valeur autorisée par l'ordinateur). Pour une base 10 sur 3 colonnes (de 0 à 999 ), il y a 1000 valeurs possibles, en effet 10 puissance 3 = 1000 , toujours en admettant 000 comme étant une valeur possible.
              Donc pour résumer pour trouver le nombre de valeurs pour tout type de base, la formule est 'nombre de chiffres possibles' puissance 'nombre de colonnes'.
              Je dis Joker ! Je peux donc rejouer...

              Commentaire

              • Felin
                Nomad

                • avril 2020
                • 3

                #8
                Envoyé par eternal-newbie Voir le message
                D'accord. Donc si Anvil of Dawn part en sucette quand on dépasse les 255 objets en notre possession, ce serait parce qu'il « compte » en 8 bits ?
                oui .
                où plus exactement il 'compte' en 8 bits que dans "Underground City" : quand on essaye de rentrer dans ce lieu il fait visiblement un test, qui si on possède plus que 255 objets, plante
                le reste du temps je dirais que les programmeurs utilisent au moins 2 octets vu qu'ailleurs il n'y a pas le souci

                Ceci dit 2 octets ça ne résout pas le problème, ça ne fait que le repousser (à 65535 = 11111111 11111111 en binaire) en tout cas assez loin pour ne plus le rencontrer mais si on pouvait avoir + que 65535 objects dans les contenants il y a des fortes chances que le jeu plante dés qu'on dépasse cette limite et là peut importe où on se trouverait

                Les jeux actuels ont toujours ce genre de limitations (l'informatique ne pouvant pas être infinie) mais les chiffres sont devenus tellement énormes (plusieurs milliards de milliards) qu'il y a peu de chances d'avoir des soucis de contenance dans les jeux actuels.

                Commentaire

                Chargement...