Room Management?

Is there a way to sort rooms into, say, folders? Or to reorganize/reorder them easily? Nesting rooms inside of other rooms seemed to always display them as if they were an object as well. I've yet to figure out a way to do either of these, although I'm hoping there's not an obvious answer I missed horridly. I plan for a game I'm making to be quite large, and it seems obnoxious to try and keep track of tens or hundreds of rooms, and logically figure out what might lead to where. Is there anything to help with this?


You can nest them inside each other. The setting at the top of the the Setup tab determines if it will look like an object or room (in the hierarchy at the left they look the same).


Not really. I started with a basic map layout and added all my rooms at once. Once you start working on it, it is kind of amazing how quickly you can locate rooms.


The issue I have when nesting them is that I end up having to set them as 'Object and/or Room' and then set them as Scenery. Otherwise, the room ends up showing up in the list of items in the room it's nested inside.


I have rooms that are just used as folders, not as rooms. The player can never get to them, so never sees what you describe.


Oh! I didn't even think of doing that, that's quite clever. Thank you, that fixes the issue I had nicely!


Why ever have a room a parent of another room?

Every room is a stand alone room with its children objects. I couldn't imagine having rooms inside other rooms plus objects inside those nested room. That would be a nightmare! I assume I'm interpreting your question correctly.


Not sure if this is on topic, but it would be very convenient to be able to reorder rooms and turn scripts in the Tree of Things. It can get cumbersome navigating between different rooms when you have a hundred or more and they are scattered all over the place.


^Totally agree!

A sort of work-around for that is using the search box. I tend to use that a LOT when my game starts growing.


I'll make a small illustration of what I originally intended. It's pretty mediocre but I think it'll get what I mean across. F in this would stand for a folder, which we could technically use an empty room that is unreachable as, while R would stand for a room. A simple game that has two areas, a forest and a desert, with the desert 'folder' containing only the entrance to said desert:
http://prntscr.com/emua23
This would be an easier way to sort and find the various rooms you might have, group them together by location or however else you might see fit. I suppose it's more of a suggestion at this point, but to get back to my original question; it's technically possible to use a room the player never reaches as a folder, although it seems slightly less-than-optimal for a few reasons. All the same, I'll be using that for now, unless a folders system or something of the like ends up being implemented. Thank you for the answers!

(Also, entirely irrelevant but still something that bothered me; I'm not sure why the thickness of the boxes and arrows changed, it just kinda... did, while I was using the program I have.)


You can reorder things on the Objects tab of the parent, though it does not seem to always work. In the desktop version, you could reorder them in full code view, though it is risky, as it is easy to make a mistake in the XML - back up first!


Does that mean that you can put all of your rooms/turn scripts in a higher-level "room", and then reorder everything that way? Would the game still work the same?


Wow, I just tried it and it seems to work! Been working on my game for 7 months and it never before occurred to me to organize rooms this way! Thanks for the idea Pixie!


easiest solution:

work in code

(and depending on scale of game, you may want to make library files for organizing/handling different parts of your game, for example, a single or many library files for all of your 'npc' Objects, another single or many library files for all of your 'room' Objects, another single or many library files for all of your 'monster' Objects, etc etc etc)

GUI/Editor:

as Pixie stated, an Object (it doesn't have to be a 'room' Object, as actually this Object Type is just a GUI/Editor control which is just for its Tabs/Controls/Options, as when the game actually plays, there is no 'room' Object vs 'non-room' Object, there's just Objects: the 'Object' Element and the other Elements. Quest's 'Elements' are its internal coding OBJECTS of its Object-Oriented Design/Programming: OOP/OOD, structure) does NOT have to be involved in actual game play, you can use Objects as folders, to organize your Objects, be they themselves involved or not in actual game play. You can either nest Objects in other Objects or use the 'parent' Object Attribute, they both do the same thing. An Object without the 'parent' Object Attribute (or rather, technically, it's Value is 'null'), simply means that its parent is the 'asl' GAME OBJECT, in other words, it's not contained within another 'Object' Element.

for example:

<asl version="550">

  <include ref="English.aslx" />
  <include ref="Core.aslx" />

  <game name="NAME_OF_GAME">
  </game>

  <object name="room">
    </inherit name="editor_room" /> // this is deleted when the game starts/is played, so don't ever reference it with your scripting
    <object name="player">
      <inherit name="editor_object" /> // this is deleted when the game starts/is played, so don't ever reference it with your scripting
      <inherit name="editor_player" /> // this is deleted when the game starts/is played, so don't ever reference it with your scripting
    </object>
  </object>

  /*
  this is the same as the above (except for organization, which if you're working in the GUI/Editor, than you'd want to use the nesting above instead of the 'parent' Object Attribute usage below, so you've got that "folder" containment heirarchy organization):

  <object name="room">
    // either:
    // (no 'parent' Attribute added/typed in)
    // or
    // <attr name="parent" type="object">null</attr>
  </object>

  <object name="player">
    <attr name="parent" type="object">room</attr>
  </object>
  */

// only 'china', 'india', 'germany', and 'united_kingdom' would be actual rooms you can go to during game play:
// (all other Objects are 'folders/storage/data' Objects --- you may want some interation with them or not, depending on your game design)

  <object name="world">
    <object name="earth">
      <object name="europe">
        <object name="germany">
        </object>
        <object name="united_kingdom">
        </object>
      </object>
      <object name="asia">
        <object name="china">
        </object>
        <object name="india">
        </object>
      </object>
    </object>
  </object>

// only 'fireball_spell', 'inferno_spell', 'claymore', and 'katana' would be in-game items/objects:
// (all other Objects are 'folders/storage/data' Objects --- you may want some interation with them or not, depending on your game design)

  <object name="magic">
    <object name="fire_magic">
      <object name="fireball_spell">
        <attr name="damage" type="int">10</attr>
      </object>
      <object name="inferno_spell">
        <attr name="damage" type="int">25</attr>
      </object>
    </object>
    <object name="water">
    </object>
    <object name="air">
    </object>
    <object name="earth">
    </object>
  </object>

  <object name="equipment">
    <object name="weapons">
      <object name="swords">
        <object name="claymore">
          <attr name="damage" type="int">50</attr>
        </object>
        <object name="katana">
          <attr name="damage" type="int">50</attr>
        </object>
      </object>
    </object>
    <object name="armors">
    </object>
    <object name="clothing">
    </object>
  <object>

</asl>

and as Pixie stated, unfortunately, your Objects can be re-ordered/sorted within the GUI/Editor/by-quest, so, you don't have any control over this, unless you go into the internal coding, and code yourself whether, and if so, how Objects are sorted/ordered within the GUI/Editor... not something for code amateurs like myself to do, lol.


This topic is now closed. Topics are closed after 60 days of inactivity.

Support

Forums