Builder's Update Reference

This copy of the offline 3DML tutorial is current for version v1.5.1 of the Flatland Rover. If you received this tutorial on a CD or bundled with a new computer or other hardware, you should check the Flatland Website to see what new features may have been added since this reference guide was produced. Or, you can always download a current copy of the offline tutorial here. The information on how to "publish your spot" may also have been updated. You can find current hosting information here.

If you use TextPad, be sure to download the latest version of the 3DML clip libraries. The current version is v1.5.

Below, you will find a history of features for each version of Rover up to v1.5.1.

NEW IN v1.5.1:

  1. Streaming Video
    You can now view streaming video on any surface in a spot. Rover can stream video in the RealVideo or Windows Media Player formats. You will need to have the RealPlayer G2 or Windows Media Player already installed.

    The stream is defined in the STREAM tag in the HEAD section of the 3DML file:

    <STREAM NAME="stream_name" WMP="url-for-wmp-stream" RP="url-for-RP-stream"/>

    And the stream is then placed on a block in the CREATE tag:

    <CREATE SYMBOL="#" BLOCK="full">
       <PART NAME="s" STREAM="stream_name" />
    </CREATE>

    You can find all the details on how to use streaming video in your spots in the Streaming Video Lesson of the Online Tutorial.

  2. VERSION parameter in the <SPOT> tag:
    The VERSION parameter is an optional parameter that specifies what version of Rover a spot was made for. If someone visits the spot with an earlier version of Rover, they will be prompted to upgrade.

    <SPOT VERSION="1.5.1">

  3. TRIGGER="proximity" in the <ACTION> tag:
    When TRIGGER="proximity", the ACTION will take place as long as the user is within the defined RADIUS. Once the user steps out of that RADIUS, the spot will return to its pre-ACTION state.


NEW IN v1.4.3:

  1. Streaming Video!
    That's right. You can now view streaming video on any surface in a spot. Rover can stream video in the RealVideo or Windows Media Player formats. You will need to have the RealPlayer G2 or Windows Media Player already installed. Details on how to incorporate video into your own spots will be released with Rover v1.5.


NEW IN v1.4:

  1. 24 and 32 bit color support:
    No more switching your monitor settings when you want to use Rover! Rover can now run with whatever monitor settings you choose.
  2. New, simpler ORIENT syntax:
    You can now orient your blocks with a simpler syntax, consisting of 2 values. The first value determines what direction the top of the block faces (up|down|north|south|east|west). The second value specifies how far to rotate the block around that axis (0|90|180|270). Check lesson #8 in the online tutorial for more details.
  3. SOLID="no" on PARTs:
    You can now use SOLID="no" in the PART tags of any block. This means that you can specify particular parts of a block that your visitors can walk through.
  4. PROJECTION parameter for PART:
    This new parameter for the "PART" tag of a block is intended primarily for curving blocks, although we're sure you'll find ways to use it that we never anticipated! Previously, a texture map was projected onto a curve, such as the CurveOut block, from multiple directions, for instance from the top and from the south. With the new "PROJECTION" parameter of PART, you can now force the projection of a texture map onto a curve from one direction, providing a smooth curved surface.

  5. TRIGGER="everywhere" parameter for POPUPS:
    In addition to "proximity" and "rollover", you can now use the parameter TRIGGER="everywhere", and this forces the popup to appear no matter where the player is in the spot.

  6. SIZE parameter in PARAM tag for sprites:
    This forces a sprite to be a specific pixel height and width in size, despite the size of the original texture used for the sprite. By default sprites are given the same size as the texture.

  7. Relative coordinates for REPLACE:
    Both the SOURCE and the TARGET for a REPLACE tag can now be specified as relative coordinates to the block that holds the ACTION. For more details, check lesson #14 in the online tutorial.
  8. "Location" TRIGGER for ACTIONs:
    Using TRIGGER="location" in an ACTION tag will cause the action to be triggered when a block is placed at the specified location. This is useful for making blocks that appear to travel through space inside a spot. For more details, check lesson #14 in the online tutorial.
  9. Second ENTRANCE angle:
    When you specify the angle that your visitors are facing at an entrance, you can include a second angle (anywhere from -90 to 90) that determines whether they are looking up or down.
  10. Improved JPEG support:
    JPEG images are now displayed in their true colors. They are no longer dithered down to 256 colors.
  11. AMD 3D Now Support:
    We are proud to announce that Rover now supports the AMD 3DNow! instruction set. This means that if your computer is running an AMD chip that supports 3DNow! then you should see an increase in the speed of Rover when viewing spots.


NEW IN v1.3:

  1. Support for zipped 3DML files
    You can now zip up your 3DML files (using WinZip or any other zipping utility) to drastically reduce the download time for your spot file. Just zip the file, then change the file extension back to ".3dml" instead of ".zip". You can find details on how to do this in Resources.
  2. Default Double-Character Symbols
    Up until this time, the default double-character symbol for any block was the same as the single-characer default symbol, preceded by a period. This is still true for the Village and Basic blocksets, but new blocksets will have different assigned double-character symbols. For instance, in the Basic2 blockset, the default double-character symbol is the same as the single-character symbol, preceded by a "2". For the Islands blockset, default double symbols will begin with "i".
    NOTE: If you have already used any blocks from the Islands blockset in your spots in their default state (you didn't make a CREATE tag for them), then you'll need to change the symbols in your map to the new defaults, beginning with "i" instead of "."
  3. <ONLOAD> tag
    The <ONLOAD tag will open up a new URL as soon as a 3dml file is loaded. This is useful for displaying information in a new window or another frame at the same time that a spot is loading. The ONLOAD tag goes in the HEAD section of the 3DML file, and the syntax is as follows:

    <ONLOAD HREF="url" TARGET="target-name"/>

NEW IN v1.2:
  1. ACTION and REPLACEtags
    The ACTION and REPLACE tags are bringing a whole new level of interaction to 3dml spots. With these tags you can set up a trigger in your spot (such as rollover, click on, step in, step out, or timer) that will then replace one or more blocks in your map with another block. ACTION and REPLACE can be used to create all kinds of event-based interactions like changing the look of a block, making doors that open, making sounds occur when a user triggers an event, etc. The options are limitless. Here's the code and how it works:
    <ACTION TRIGGER="roll on|roll off|click on|step in|step out|timer" RADIUS="n" DELAY="min..max" LOCATION="(column,row,level)">
       <REPLACE SOURCE="(column,row,level)|symbol" TARGET="(column,row,level)"/>
    </ACTION>
    RADIUS is measured in blocks and is only used if the TRIGGER is "step in" or "step out".

    DELAY is only used if the TRIGGER is "timer". DELAY is measured in seconds. If only one value is entered for DELAY, then the delay will always be that exact time. If DELAY is expressed as a range of minimum to maximum times, then the DELAY time will be random within those parameters.

    LOCATION is only used if the ACTION tag stands alone in the BODY of the 3DML file. ACTION tags can also be attached to blocks by including them in the CREATE tag, in which case they don't take a LOCATION parameter.

    SOURCE is the block which you are going to use to replace the block that is currently at the TARGET location.

    TARGET is the location of the block that you want to replace.

    An ACTION can only have one TRIGGER. But one ACTION tag can contain any number of REPLACE tags.

    The ACTION tag can also be used inside of an IMAGEMAP by adding the SHAPE="rect|circle" and COORDS="x1,y1,x2,y2|x,y,radius" parameters

  2. "once" and "single" PLAYBACK for SOUNDs
    In addition to "random" and "looped", a SOUND can now have a PLAYBACK value of "once" or "single". If PLAYBACK="once", the sound will only play one time. If PLAYBACK="single", the sound will play once every time a visitor enters the defined RADIUS.

  3. SOLID="no" on any block
    Any block can now be designated SOLID="no", which will allow your visitors to walk through it. The SOLID parameter is placed in the <PARAM> tag.

  4. The FACES parameter
    The FACES parameter determines how many sides of the polygons that make up a PART can be seen. Possible values for FACES are "0", "1", or "2". The default value for most blocks is FACES="1", meaning that you can only see one side of the polygon--generally the one that faces "out" on a block. SPRITEs are FACES="2" by default, so that you can see the image on both sides of the single-polygon sprite. If FACES="0", then the entire PART will be invisible. But the PART will still be rendered for collision, meaning that you will still bump into it, even though you can't see it. FACES="2" is particularly useful when you have one part of a block that is translucent or transparent so that you can see through to the "inside" of another part of the block.

  5. LOAD
    Custom sounds and images will now be loaded in exactly the order in which they appear in the 3DML code. This is a change from previous versions where all images were loaded before any sounds were loaded. In addition, there is a new <LOAD> tag which will force the loading of a particular sound or image file in a particular order. The syntax is
    <LOAD TEXTURE="folder/image.gif"/> or <LOAD SOUND="folder/sound.wav"/>

  6. POPUPs that appear everywhere
    If the LOCATION parameter is left out of a standalone (not in a CREATE tag) POPUP tag, then the POPUP will be displayed throughout the entire spot.

  7. ORB links
    The ORB tag can now take HREF, TARGET, and TEXT parameters so that your ORB texture can act as a link to any URL.

  8. No default TEXT on EXITs
    If the TEXT parameter is left out of the EXIT tag, then no rollover text will appear. This is a change from previous versions where the target URL would appear as rollover text if no other text was specified.
NEW IN v1.1:
  1. ROLLOFF
    The ROLLOFF parameter goes in the SOUND tag, and gives you more control over how quickly a sound tapers off as you travel away from its source. The default value for ROLLOFF is ROLLOFF="1.0". If ROLLOFF="0.5" then the sound will taper off half as fast (meaning it will be audible twice as far away.) If ROLLOFF="2.0", then the sound will taper off twice as fast (meaning it will be audible only half as far away.)

  2. "Enable 3D acceleration" check box
    This check box is found on Rover's Options screen (click the target-looking icon at the bottom left of the Rover window), and will turn 3D acceleration hardware on and off for viewing 3dml spots.

  3. "Enable reflections" check box
    Also found on Rover's Options screen, this check box will turn on and off processing of sound reflections. Sound reflection is one of the features of A3D audio that makes the quality of sounds differ, depending on the environment they are in. For example, with reflections turned on, a noise will sound different when it is placed in a wide open space than it will if placed in a cramped corridor.

    This amount of 3D audio interaction requires a lot of processor power. If you are exploring a spot with many sound sources, you may find that navigation in Rover seems slower than usual. You can improve Rover's driving speed by disabling sound reflections in the Options Screen. Reflections are turned off by default.


NEW IN v1.0:

  1. A3D Support
    Our first official release, v1.0, adds support for Aureal A3D audio technology. This technology enables immersive positional audio in 3DML spots. A3D makes the sounds in your spots behave in a much more realistic way. In order to experience A3D audio, you'll need to install the latest drivers from Aureal.

  2. FLOOD for Sounds

  3. The SOUND tag can now take a FLOOD parameter. If FLOOD="yes", then the sound will be heard at the specified VOLUME throughout the specified RADIUS. If FLOOD="no", then the VOLUME will gradually drop off to 0 at the edge of the specified RADIUS. The default value is FLOOD="no".


NEW IN v0.9.6:
v0.9.6 makes improvements in the general performance of Rover. No other new features have been added.




Copyright 1999, 2000 Flatland Online, Inc.