YAML to Quest (using Ruby)

https://github.com/ThePix/quest/wiki/YAML-to-Quest-(using-Ruby)

Everyone has played with this, right?

It makes mapping out the world a breeze!


I would guess you are the only one besides me.


It's great!

I only played with it for a minute, but I didn't miss using > or < one bit!

Note to PixI had to delete the first line from the example. Otherwise, the two rooms were actually objects.

Here's another little example. It's the bee's knees!

I typed this up and saved it as quest.yml:

- Name: Parsing Area
  Desc: The parser isn't here right now. (There must be a glitch somewhere!)
  
- Name: STD IN
  Inside: true
  Desc: This is where all the information flows down into deepest depths of this world.
  South: Parsing Area
  Objs:
    bytes: You count the bytes, then simplify. 69.105 Kilobytes.
    glitch: It's make your head hurt a little when you look into the glitch. (You don't like seeing all the source code.)

Then I copied The Pixie's code (YamlToQuest.rb, from the above link), ran it, and it spit this out for me:

<object name="parsing_area">
      <inherit name="editor_room" />
      <alias>Parsing Area</alias>
      <description><![CDATA[The parser isn't here right now. (There must be a glitch somewhere!)]]></description>
    <exit alias="north" to="std_in">
      <inherit name="northdirection" />
    </exit>
    </object>
    <object name="std_in">
      <inherit name="editor_room" />
      <alias>STD IN</alias>
      <description><![CDATA[This is where all the information  flows down into deepest depths of this world.]]></description>
      <inside />
      <object name="bytes">
        <inherit name="editor_object" />
        <alias>bytes</alias>
        <scenery/>
        <description><![CDATA[You count the bytes, then simplify. 69.105 Kilobytes.]]></description>
      </object>
      <object name="glitch">
        <inherit name="editor_object" />
        <alias>glitch</alias>
        <scenery/>
        <description><![CDATA[It's make your head hurt a little when you look into the glitch. (You don't like seeing all the source code.)]]></description>
      </object>
    <exit alias="south" to="parsing_area">
      <inherit name="southdirection" />
    </exit>
    </object>

I copied that and pasted it underneath the line </game>, and saved myself about, well about 1 minute in this instance, but I'm thinking it will reduce world-creation time by at least twenty-five percent!


I have updated this so you can add a prefix to all the object names... just in case you use as part of a group project.


K.V.

This is awesome, Pixie!

I don't know how I missed this last post! I was just playing with this again, came back to reference the old code, and I found a small treasure!

Pixie,

You ROCK!


OBJECT_PREFIX = "rh_"

- Reservation

- Name: Biggum Field
  Desc: There is nothing to see here, except for your teepee, which is to the north.
  
- Name: Teepee
  Inside: true
  Desc: This is the teepee you grew up in. (Not very much to see here, either.)
  South: Biggum Field
  Objs:
    tomahawk: It's your trusty tomahawk.

The above will output the below:


  <object name="reservation">
    <inherit name="editor_room" />
    <object name="biggum_field">
      <inherit name="editor_room" />
      <alias>Biggum Field</alias>
      <description><![CDATA[There is nothing to see here, except for your teepee, which is to the north.]]></description>
    <exit alias="north" to="teepee">
      <inherit name="northdirection" />
    </exit>
    </object>
    <object name="teepee">
      <inherit name="editor_room" />
      <alias>Teepee</alias>
      <description><![CDATA[This is the teepee you grew up in. (Not very much to see here, either.)]]></description>
      <inside />
      <object name="tomahawk">
        <inherit name="editor_object" />
        <alias>tomahawk</alias>
        <scenery/>
        <description><![CDATA[It's your trusty tomahawk.]]></description>
      </object>
    <exit alias="south" to="biggum_field">
      <inherit name="southdirection" />
    </exit>
    </object>
  </object>



I couldn't get the text processor stuff to work, but that's perfectly fine.


I also tried to doctor the script so it would make a room a gateway...

I could get it to add <gateway_dimension />, but I couldn't get it to add <inherit name="gateway_type" />.

I will play with it more later...


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

Support

Forums