Futurisland
Context
In the summer of 2002 I worked as a freelance subcontractor for Tagora Interactive on an ambitious web project for BBL/ING, a major Dutch/Belgian bank. The brief was to create a rich web-based multi-user virtual world aimed at young people between 12 and 25.
As lead application design and development of the Flash-based client, I could draw on my previous experience with Flash-based multi-user application development. And since the server-side multi-user functionality was provided by the Fortress server by Xadra LCC (USA), for which I had previously developed the Fortress Flash Development Kit for Xadra as well as a fully-featured multi-user demonstration application, I could hit the ground running.
World design
The high-level design of the structure and representation of the virtual world was motivated by a number of ambitions and requirements. One major ambition was to deliver a functially and visually rich experience within the processing and bandwidth limitations of then common household computer configurations. A second objective was to build a future-proof virtual world. This required the world to be easily extendible both in terms of space and functionality. It also demanded a flexible and scalable system for authoring, managing and serving the assets.
These objectives were in part met through a modular approach in which the virtual world is organized in a number of (rectangular) scenes. This approach allows the world to be easily modified by adding or removing scenes with minimal disruption. Furthermore, the user, represented by his or her avatar, could (only) interact with other avatars or objects present in the same scene. This compartmentalization of the interaction permits a distributed server-side handling of the underlying message passing. Only showing the scene in which the avatar was currently present, further reduced the bandwidth and client-side processing needs.
A second decision taken with the aforementioned objectives in mind was to visually represent the virtual world through an isometric projection with a fixed point-of-view. The processing needs to obtain an isometric representation of a scene in which the avatars appropriately pass in front of and behind objects are minimal. It suffices to produce flat isometric representations of the scene's ground surface, the individual objects, and the avatars, and compose them in the appropriate z-order.

More example scenes can be found in the Futurisland artwork archive.
The Futurisland world was designed around a large 'exterior' environment, formed out of a grid of scenes. The users, represented by their avatars, could move around freely in this planar space. Numerous exterior scenes contained buildings, which we associated with one or more 'interior' scenes.
Each scene was structured as a 16 by 16 grid of cells. An avatar occupies one such cell, while objects and buildings occupy one or more cells. Avatars could not access cells that were already occupied or that were specified as being inaccessible. Cells can also act as gateways into other scenes. Such cells can be placed right in front of a building, enabling an avatar to 'enter' that building, or at the edge of a scene, enabling the avatar to traverse into the adjacent scene.

More example scenes can be found in the Futurisland artwork archive.
The production of the isometric representations as vector-based images rather than bitmaps, minimizes the bandwidth needed to deliver these assets to the clients.
All assets were created as Flash movieclips. This made it possible to have animated or scripted behaviour. Examples of animated behaviour are shown in the above scene. The lampposts are examples of scripted behaviour. The lights on these posts were either 'on' or 'off' depending on the time of the day. In combination with a time-dependent background, this resulted in a day or night rendition of the scene syncronized with the day-night cycle in real-life.
It should be noted that the artwork designers did a splendid job at creating assets with a rich textured feel, which is rather uncommon for vector-based artwork.
The following figure shows the complete Futurisland interface with the current scene, an overview of the neighborhood, and various interface elements.

Futurisland Author Client
The assets, functionality and location of objects and buildings in a scene, the location and destination of gateways, and the accessibility and other properties of cells, are all specified in an XML-based scene specification. Even though these scene specifications can be edited in a basic text editor, a special scene authoring application was developed in order to streamline the scene authoring process. This application was developed as a web-based Flash MX client, just like the Futurisland client, allowing it to directly display and manipulate the assets used by the Futurisland client.
The assets were organized in libraries which could be loaded by the authoring client. The scene author could position the objects and building through simple drag and drop operations, while cell and object behaviour could be configured through the context-dependent configuration panels. Existing scene specifications could be easily obtained from the server, and submitted back to the server when done editing them.
The following figures show how the Author Client provided a convenient way for the artists and content managers to configure the scenes. The client shows the edited scene on the left, a number of panels on the right, and some other interface elements. The first view shows the Assets panel, which enabled the user to place assets from a library on the scene through simple drag and drop actions.
The Cell Configuration panel, shown in the next view, enabled the user to specify for a selected cell whether avatars can enter that cell; which of the adjacent cells could be reach from that cell; if a cell is a gateway into another scene; or which decor or prop (object) asset is located on that cell. The cells in the world view on the left are here color-coded, green when accessible, red when not accessible.
The CustomData Review pane allowed the user to inspect the current scene specification XML document. The cells in the world view on the left are here anotated with marks when they act as gateways into other scenes.
This forth view shows the Author Client being used to configure an interior scene with marked gateways. Notice how the cells in front of the corridor on the right and in front of the exit on the bottom-right are all marked as gateways, the former leading to the interior scene at the other end of the corridor, the latter leading back to the exterior scene that houses the building to which this interior scene belongs.
More information:
- Check out the wonderful original artwork created by Olivier Honnay and Max Tilgenkamp.
In collaboration with:
- Artwork: Olivier Honnay and Max Tilgenkamp
- Project management: Alain Collard
- Profile and content Server development: Bob de Wit
- Interaction Server consulting: Andy Riedel
- The Futurisland content management group at Tagora Interactive
Tools:
- Adobe Flash MX, ActionScript 2
- Adobe Photoshop and Illustrator
- Fortress multi-user server