TheoWorlds Builder SDK v2 Documentation

Introduction to TheoWorlds Builder

1. What is TheoWorlds Builder SDK v2?

TheoWorlds Builder SDK (TWB) is a product that has at its core our Theo Isometric Engine (TIE) - an isometric engine developed in Flash. TWB contains a set of examples built on top of this engine that are documented and provided with all the sources to be used in commercial projects. TWB is composed of:
  • TheoChat v2 - a multi-user avatar chat built on top of our isometric engine.
  • Theo MapEditor v2 - the map editing application for creating TIE-compatible maps
  • This documentation

You can read more about TWB on our website.

2. Technical Requirements

TWB is coded is AS2 and you will need Flash 8 or higher to edit it.

In order to use multi-user application, you will have to install a socket server application on your server. TWB uses it to communicate between the users that run the application (like TheoChat v2) in their browser (users don't need to install anything on their computer, they just need to run a web browser with Flash 8 or higher plugin installed).

TWB supports the following socket servers:

Note!The socket server software is not part of TWB and has to be purchased separately.

* SmartFoxServer is a registered trademark of gotoAndPlay(). * ElectroServer is a registered trademark of Electrotank, Inc.

3. Files

Here is the description of the files contained in the SDK:

folderconfig_editor.xml Map Editor configuration file
folderconfig.xml TheoChat configuration file
foldercatalogue.xml Catalog configuration - lists all the available assets as libraries, maps, etc. Used by Map Editor.
folderlog.txt SDK updates log
folderswfobject.js SWFObject is used to place SWF files in HTML
folderTheoChat.swf Theo Chat main file
folderTheoChat.fla The source of the Theo Chat
folderTheoChat.html HTML containing the Theo Chat - open it to run it
folderSimpleApplication.swf Simple Theo application main file
folderSimpleApplication.fla The source of the Simple Theo application
folderSimpleApplication.html HTML containing the Simple Theo application - open it to run it
folderSimpleBotDemo.swf Simple bot demo application main file (read more about bots)
folderSimpleBotDemo.fla The source of the Simple bot demo application
folderSimpleBotDemo.html HTML containing the Simple bot demo application - open it to run it
folderMapEditor.swf Map Editor main file
folderMapEditor.fla The source of the Map Editor
folderMapEditor.html HTML containing the Map Editor - open it to run it
foldercom AS Classes
          folderTheoApp.as Base class for all the Theo applications (Theo Chat and Map Editor use it). But you can create applications without extending it (Simple Application)
          folderITheoUI.as GUI class - needed if TheoApp class is used
          folderTheoEditor.as Main Map Editor class
          folderTheoChat.as Main Theo Chat class
          folderbuilder Main TheoWorld Builder classes
               folderWorld.as The World class - the main class in which the maps are built and objects placed
               folderWorldLogic.as The class that stores the world rules (game rules for games). It's a listener class that processes the events that come from the GUI or directly from the mouse/keyboard.
               folderMapObject.as The base class for all map objects (floor tiles, furniture, characters) that extend this class
               folderTile.as Floor Tile map object class
               folderFurniture.as Furniture map object class
               folderCharacter.as Character map object class
               folderCharacterLogicControlled.as The Character Logic class that is made for manipulating the main character through mouse/keyboard
               folderCharacterLogicRandom.as Character Logic class that implements the random walking (used for bots)
               folderCharacterLogic.as Class storing the character logic (behavior) including the Dead Reckoning algorithm (used for synchronizing the characters in the network)
               folderConfig.as Configuration class
               folderConstants.as Class containing the main constants
               folderTextBubble.as Text Bubble (chat message) class
               folderTextBubbleController.as Class that manages all the Text Bubbles
               folderlib Library classes
                   folderLibrary.as Class that parses the XML libraries and stores all the LibraryItem objects properties: floor tiles, furniture, characters with clothes layers and animated actions.
                   folderLibraryItem.as Class that stores the properties of a map object
               foldersettings Classes that help to store and pass the map objects properties - floor tiles, furniture and characters. All extend the MapObjectSettings class. Also helps with passing the data on network in a unified format.
                   folderMapObjectSettings.as Base class for any map object settings
                   folderTileSettings.as Tile settings
                   folderFurnitureSettings.as Furniture settings
                   folderCharacterSettings.as Character settings
          folderchat Theo Chat classes
                   folderTheoChatUI.as Class that manages the Theo Chat GUI
          foldermapeditor A bunch of classes used by the Map Editor GUI and logic
                   folderWorldEditor.as Main Map Editor class - contains a lot of specific functions, including the generation of XML maps
          foldersocketServers Classes for communicating with the server
                   folderIServer.as Interface for all the classes that will implement communication with different socket servers
                   folderServer.as The main class for communication with the socket server
                   folderServerLC.as Class used for communication through Local Connection (for debug - not used right now).
                   folderServerSF.as Class used to communicate through the SmartFox Server
                   folderTheoRoomData.as Class for storing the room data. Not used right now.
          folderutils Utilities classes
                   folderBaseButton.as A custom button class
                   folderLocalNet.as Class for working with LocalConnection
                   folderProxy.as A Proxy class for delegating events - supports parameters
                   folderTextButton.as.as Custom button class (extends BaseButton)
                   folderUtils.as A bunch of useful functions
     folder new!electrotank  
          folderelectroserver4 Electroserver classes
folderlibrary The Libraries files - XML libraries and the images linked from those
     foldercharacters Characters graphics
     folderfloor Floor Tiles graphics
     folderfurniture Furniture graphics
     foldertheochat Graphics used in TheoChat maps
     folderfla Source files for the map graphics
foldermaps XML maps
     folderatrium Maps foreground/background images
foldernew! emoticons  
  folder01..10.swf emoticons images
  folderemoticons.xml emoticons configuration file (read more about this feature)
folderit SmartFox Server classes
folder new! socket_servers  
          foldermoderatorplugin Simple AS Electroserver extension to support moderator function (read installation instructions)
          folderconfig.xml Configuration file for SmartFox Socket server. Should be placed in the SF folder.


Last updated: September 16, 2009