How DimensioneX Works – 3

How DimensioneX Works – 3

1.2.6 Flash (SWF) and QuickTime (MOV) support

DimensioneX supports a number of proprietary media formats, including QuickTime movies and VR (.MOV extension) and Macromedia Flash (.SWF extension).

MOV and SWF clips can be used in the IMAGE tag exactly like you would do for JPG and GIF images.

The DimensioneX game engine should correctly detect the special extension, and produce in the scene frame the correct HTML to embed the clip.

The final results greatly depends on the browser having the correct plugin installed. Produced HTML can be however inspected by using the browser’s “View HTML source” command, usually available via right-clicking the scene frame.

Due to current browser limitations, displaying stacked of MOV and SWF objects on the scene frame is not possible, so displaying users and items as side icons is greatly recommended if you make use of such clips.

See DXW Reference -> IMAGE for more details.

1.2.7 MP3 support

DimensioneX supports playing MP3 backing music on the player’s browser by using the included XSPF Flash player ( ). Any MP3 music can be played immediately in the background by using the progressive download method offered by Flash technology.

This method relies on the client browser, which is required to have the Flash Player plugin ver. 6 or later installed. This requirement is satified in most browsers, including Linux and Mac versions.

Also, the user has to enable the Music option on the login screen, and enable pop-ups when on the game server.

To try this feature, check out the JukeBox on the network version of the Underworld Online game ( – Play Now – connect, enter the castle, mid hallway, enter the bar).

To learn more, see the PlayBackground instruction, and the section about server settings ( protectMusic setting.

1.2.8 Custom client behaviour

The behaviour on the client (user’s browser) is determined by a combination of he following elements:

  • Frame structure: contained in the client file (file with “.client” extension on the server, as configured in the file)

  • Client-side scripts: Javascript contained in the script file (file named “client.script” on the server)

  • Appearence: User chosen skin (DXS file on the server, possible choices listed in the game’s GUI section)

  • Messages: Language file in use (as configured in the worldnav.propertis file)

With some lower probability, client behaviour can be determined by:

  • Command PANELs in use

  • HTML and simple javascripts produced by the game engine

  • HTML and scripts produced (typically via the Print instruction) in the game scripts

The game programmer can influence all the elements, with the sole exception of what is generated by the game engine (built-in) which can only be altered by modifying the game engine java source. The important step is to figue out what needs to be modified to produce the desired effect. A little trial and error will help, but you can ask for help at the Developer’s Pub forum.

To change the client behaviour, some knowledge of HTML, CSS and Javascript is required.

Recommended reading in this document:

  • Basics->Configuration

  • SKINS->Customizing the user interface

  • PANELs

  • About the DimensioneX Client

1.2.9 Stopwords system

To limit the risk of people being offended by nerds who log in and use bad wording in the game, the game engine offers a filter that blocks unwanted characters and words.

  • The filter can be configured at server slot level (see Basics->Configuration ->Game Settings, file) and it is active on nicknames.

  • To activate the filter on the chat system, you simply state this in the WORLD definition by using the MUTING tag (see DimensioneX DXW Reference->WORLD). You can even fine tune the way the filter will work on the chat.

1.2.10 Banning system

Due to persistent presence of nerds who enter games and offend, the game engine was equipped by an effective banning system.

The banning of a user can be done in two ways:

  • At run-time by means of a script, by using the Ban instruction. This method is particularly effective as it provides what we call sticky banning.

  • At run-time by altering the WORLD’s property named “_bannedClients”. This is actually a “black list” containing all banned IPs separated by pipe signs.

The banning of a user can be permanent or not, at game programmer’s will. All you need is to save banned users’ IP numbers (_bannedClients property) on disk by using the saveSetting instruction, and restore it back by using the getSetting instruction when the game restarts.

The banning of a user can be sticky. When a user is banned via the Ban instruction, a cookie is silently passed to the user’s browser. If the user changes IP and tries to log back in, he is reckognized because of that cookie, and the new IP is added to the black list.

When a user is banned, he cannot log on any more on any of the slots of the server on which he has been banned from. At each trial, he will be redirected to a standard page telling him he has been banned:

To allow back a banned user, both the following conditions must be verified, in the provided order:

  1. The users uses an IP which is not in the game’s black list (_bannedClients property)

  2. The users has cleared its cache and cookies before attempting to log on.

For more details on how to use this feature, see the following sections:

    • Basics->Configuration ->Game Settings

    • DimensioneX SmallBasic Reference->Object Models->World->_BannedClients

    • DimensioneX SmallBasic Reference->Instructions->Ban

How DimensioneX Works – 4
How DimensioneX Works - 2

Leave a Reply

Your email address will not be published. Required fields are marked *