Home Forums Dungeon Master – Support SpawnDungeonConnectors Error #1

Viewing 15 posts - 1 through 15 (of 21 total)
  • Author
    Posts
  • #1951
    T.Z
    Participant

    hehe I didn’t think it would be long before I needed some advice again…

    Trying to set up a specific room for player to start in, first I tried to create and add preset room to level, found that I had to create a room first, did that then went to add preset room to level again, adding dungeon and level as always, but clicking on the little circle and choosing my room from the shown options, gave me a warning to say that it must not be a room from the scene, but one from the project, then found out it was not my version of the room in the project aka the prefab but the one that was made in the Dungeon Master Data folders, could the clicking of the little circle not go there instead of the ones in the scene, just seems weird to me as I generally use that circle to open up the correct options, especially when I cannot remember where they are in the project.

    but any ways…. when making this preset room it asks various questions about the links, Left, Right, Forward etc, all good so far, but it does not ask about a dungeon entrance, it does ask about dungeon entrance on creating the room itself, but if I did that I am assuming that I would not be able to reuse this room for a different preset room, as then I would have multiple rooms with a dungeon entrance, which I do not want.

    (Also I did not see anything to tell me I had to setup the Links on the newly created room, before creating the preset room, until I tried to use room it in the preset room creation.)

    So I chose not to have it in the room, and did not get an option to have a dungeon entrance in the preset room, resulting in the error.

    Can you confirm if this is working as intended please Vincent, that I cannot use a room as a base for more than one preset room if I want a dungeon entrance in it, if so no problem, just wondering if I am missing something or doing something wrong.

    Thanks 😀

    I am probably going to be great for knowing how a complete novice interprets the system 😛

    p.s Just to let you know, when in create a preset room, when I got an error in the bottom, you have to widen the box right up to see it properly, as it appears to only be wrapping the error message over 2 lines.

    SpawnDungeonConnectors Error #1: Generated rooms in Level ‘Decrepit’ do not contain any available DungeonConnectorPoint. Couldn’t generate a dungeon connection.
    UnityEngine.Debug:LogErrorFormat(Object, String, Object[])
    ChivalrousGames.DungeonMaster.Dungeon:GenerateDungeonConnectors() (at Assets/ChivalrousGames/DungeonMaster/Scripts/Dungeon.cs:904)
    ChivalrousGames.DungeonMaster.Dungeon:GenerateDungeon() (at Assets/ChivalrousGames/DungeonMaster/Scripts/Dungeon.cs:424)
    ChivalrousGames.DungeonMaster.DungeonLauncher:LaunchDungeon() (at Assets/ChivalrousGames/DungeonMaster/Tools/Scripts/DungeonLauncher.cs:51)
    ChivalrousGames.DungeonMaster.DungeonLauncher:Start() (at Assets/ChivalrousGames/DungeonMaster/Tools/Scripts/DungeonLauncher.cs:46)

    #1952
    T.Z
    Participant

    Upon starting again and having chosen to put a DungeonConnectorPoint on the room created, the create preset room does ask me to configure it, with an option to not use it, so that answers that for me.

    I was going to edit my above post, as I obviously submitted it to soon, should have tried it this way first doh, but I could not find an edit button, yet I am sure I edited a previous post.

    Edit: ah it would seem you have a time limit in which to edit your posts 🙁

    • This reply was modified 2 years, 9 months ago by T.Z.
    #1954
    T.Z
    Participant

    Ok I am definitely missing something.

    the dungeon entrance as best as I can see, is configured in the room and the preset room, I have set the connector type to DungeonEntranceType in the Dungeon script, in the Level script I have set Generation Start Type to Specified Starting Rooms, and I can see it has chosen the preset room I have just made (it is greyed out but there) and I have double checked that the DungeonEntranceType has the correct prefab set.

    but on play I get the following error

    SpawnDungeonConnectors Error #1: Generated rooms in Level ‘Decrepit’ do not contain any available DungeonConnectorPoint. Couldn’t generate a dungeon connection.
    UnityEngine.Debug:LogErrorFormat(Object, String, Object[])
    ChivalrousGames.DungeonMaster.Dungeon:GenerateDungeonConnectors() (at Assets/ChivalrousGames/DungeonMaster/Scripts/Dungeon.cs:904)
    ChivalrousGames.DungeonMaster.Dungeon:GenerateDungeon() (at Assets/ChivalrousGames/DungeonMaster/Scripts/Dungeon.cs:424)
    ChivalrousGames.DungeonMaster.DungeonLauncher:LaunchDungeon() (at Assets/ChivalrousGames/DungeonMaster/Tools/Scripts/DungeonLauncher.cs:51)
    ChivalrousGames.DungeonMaster.DungeonLauncher:Start() (at Assets/ChivalrousGames/DungeonMaster/Tools/Scripts/DungeonLauncher.cs:46)

    I also double checked the Direction on the DungeonEntrance, it was still set, and I then tried changing from position peripheral to random, no change.

    selecting the prefab of the preset room, I can confirm that it has a Preset Dungeon Connector Point script, that has the following settings,

    Direction – None
    Size – 1 with DungeonEntrance connector linked
    and then Selected Config also shows DungeonEntrance for the connector.

    the only thing on that inspector window that is not greyed out is the Size under Configs

    #1955
    vchevaliervchevalier
    Keymaster

    Hi T.Z.

    I’m glad you figured this one out!

    I got a little lost on the steps you went through to get to the error you posted. If I read the stack trace, it says that you tried to generate the dungeon, the dungeon searched for a room in which to put a dungeon connector and found none. So the dungeon generation failed. This error should be displayed in the console when you generate the dungeon. But you say that this error appeared in the “create preset room wizard”? Is is possible that the wizard was still opened when you tried to generate the dungeon? I’m trying to find a way to reproduce the error and understand how it happened.

    I know the current method to setup Preset Rooms is pretty clunky. I plan to make this easier when I get the time, it’s already on my roadmap.

    A preset room is always based on one of your dungeon rooms. Currently, to create a preset rooms you have to go through the following steps:
    1- Create a room normally using the create room wizard.
    2- Create a preset room using the create preset room wizard. During this step, you will select the room you created at step 1. The wizard will allow you to preset every aspect of the room. And like you said, this is optional, you only preset what you want and the DM will randomize what you decided not to preset.

    So basically, the room you preset can also appear somewhere else in your game in a completely randomized way. Well, depending on your configurations of course. If you want to use your room only for presets, then you can lower the max occurrence of your room so it won’t appear anywhere else.

    Other interesting thing to note: you can always add a dungeon connector point or level connector point after a room was created. If you look into the tools menu, you will find wizards called some thing like “add dungeon connector point” and “add level connector point”. These are very simple wizards in which you drag the rooms where you want your new connector points and they will get created. So you don’t have to start the whole room over if you forgot to create the connector points or simply changed your mind. There are no wizards to remove dungeon/level connector points, because you only have to delete them in your room to get rid of them.

    Let me know if this helps you out.

    And I would appreciate it if you could give me more details on how the error appeared in the wizard.

    Thanks!

    #1956
    vchevaliervchevalier
    Keymaster

    Oh, I started writing my first post before I read your third.
    Hum, from what your telling me I think this should work. Can you activate the “dungeon generation report” for your dungeon? This should create a game object in your scene with a report explaining how your dungeon gets created step by step. There is a tool to follow the steps. This tool also allows you to save the report as a txt file. Can you take a look at the report? It can give you clues. You could also send me the report by email, so I can look into it and see if I find something.

    Thanks! 🙂

    #1957
    T.Z
    Participant

    Sorry wires crossed there I think, the errors I posted were from the Console, the errors in the wizard were things like how I had chosen an incorrect option, ie when I chose the room from the options revealed by clicking the little circle to the right, or when I had not configured the connection points of the room I was choosing, one of them was rather long and did not wrap over more than two lines, so had to stretch the box very wide to read it.

    I am still confused tho, as I thought I set this up correctly this last attempt,

    I have just gone to your Add Dungeon Connector Point in Rooms, and if I try to select the Preset room it tells me there is already one on that room, so I must have something wrong for it not to be seeing it when I generate or press play.

    Edit: just saw your reply, am looking at the options, there is one for Dungeon Generation Player which asks me to give it a Report, but I don’t have one to give it, I tried the tester and it ran thru 100 attempts saying all failed but I didn’t see a way to turn that into a report either

    • This reply was modified 2 years, 9 months ago by T.Z.
    #1959
    T.Z
    Participant

    ok belay that last one, found it on the Dungeon script, I was looking at your list of options under Tools, sorry

    Gonna email you the report 😀

    • This reply was modified 2 years, 9 months ago by T.Z.
    #1961
    vchevaliervchevalier
    Keymaster

    Phew! Alright, I was getting worried about the wizard getting dungeon generation errors.

    Ok cool! I’ll look at the report when I get a minute (which should be tonight or maybe during my lunch break). Thanks!

    #1962
    T.Z
    Participant

    Thanks, I am going thru it myself, it is pretty huge I found an issue at 613 – SpawnDungeonConnectors found 1 erros: Search previous messages for SpawnDungeonConnectors Error. That is a lot of entries, gonna keep me busy for a while 😀

    #1963
    vchevaliervchevalier
    Keymaster

    Lunch time! Okay, I went through the report and realized that there is no “previous message for SpawnDungeonConnectors Error”. (I’m going to fix that in the next version). Although I could extract a lot of useful information from the report:

    • Level ‘Decrepit’ generated successfully
    • Level has 50 rooms (required minimum) and is closed properly
    • Room 0,0,0_Base_Room_1Exit is the only preset room
    • Other rooms are Base_Cross (31 times) and Base_Corridor (18 times)
    • There is a dungeon connection defined on the dungeon, it is configured to be created in a level, it is either “of any type” or “a type you defined correctly”
    • Even if the level generation succeeded, the dungeon generation failed

    This crosses off a lot of possible issues.
    If I combine this information with the error message you sent earlier, we can narrow down where to look. So I have a couple of questions for you:

    • Is the room Base_Room1Exit the only room with a dungeon connector point? (I’m guessing yes)
    • Is your dungeon connector locked with a key? (I’m guessing not, but if it is locked and it is the only dungeon connection possible, then the generation will fail since the character can’t collect the key from inside the dungeon if it can’t go into the dungeon)
    • Was the preset room 0,0,0_Base_Room_1Exit created before the Base_Room_1Exit received its dungeon connector point? (This seems likely to me. In this case, you should delete your preset room and recreate it from the Base_Room_1Exit room)
    • Was the dungeon connector point in the preset room 0,0,0_Base_Room_1Exit configured to not spawn anything (this is a good possibility too. In this case, you can leave the dungeon connector point to be randomized. Since it is the only available dungeon connector point, the dungeon will always use it)

    If you do any other interesting observations while investigating this, please let me know!

    #1964
    T.Z
    Participant

    1) Yes, Base_Room1Exit is the only room with a dungeon connector point.
    2) No, it is not locked with a key
    3) I am leaning towards this possibly being it, as while I was waiting I removed the preset room and used the add dungeon connector wizard to put the dungeon connector back in the Base_Cross room (which is exactly how I had it before starting with creating the preset room) and that has been failing to generate where it did not before.

    I am testing this theory further, will get back to you on that.

    4) the dungeon connector was configured to spawn a prefab called DungeonStart, I had it set to this when I originally had the Base_Cross room having the dungeon connector in it, I started investigating the preset room option to get a set start area instead of spawning randomly somewhere in the dungeon.

    #1965
    vchevaliervchevalier
    Keymaster

    Ok, let me know what you find out. 🙂

    #1966
    T.Z
    Participant

    Just recreated the room with dungeonconnector setup on it, now onto recreating the preset room, on the Configure Present Dungeon Connector Point window it warns.. The dungeon connector created from the selected config is independant of the Dungeon connectors setup done on the dungeon gameobject. It is an extra dungeon connection.

    that makes me think, should I have configured this differently, in the dungeon script, I specify the DungeonEntrance Type, which is the same type I am trying to use here.

    for test purposes I have selected the only DungeonEntrance connector I have, which does use the above mentioned DungeonEntrance Type.

    Ok preset room all done, now on the Level I am setting Generation Start Type to Specified Starting Rooms, although greyed out I can see it has set 1 option, that being 0,0,0_Base_Room_1Exit.

    Time to test, and sadly generation failed, and at least this time I can confirm the room created with dungeon connector was done before the preset room. Maybe I am not completely removing it, or doing so in an improper way, I removed the preset room from level via the wizard and then deleted it’s prefab, I saw no way other than removing the entry for the room from the level config and then deleting that prefab.

    I have run thru this twice now, both times the same result of generation failed 🙁

    #1967
    vchevaliervchevalier
    Keymaster

    Hum… Can you zip and send me your project if its not too big? I can install it in my lab environment and see what is going on.

    #1968
    T.Z
    Participant

    Will do, it sent as a google drive link, hope that is ok.

    Hopefully you can find out what I have done wrong.

    • This reply was modified 2 years, 9 months ago by T.Z.
Viewing 15 posts - 1 through 15 (of 21 total)
  • You must be logged in to reply to this topic.