OpenSpace overview
OpenSpace is a powerful framework for the Flash platform for rapid development of isometric multiplayer virtual worlds and MMO communities. The OpenSpace engine leverages the power of ActionScript 3 and SmartFoxServer, offering an unprecedented level of features and customizations to make your virtual world look unique.
OpenSpace allows the creation of advanced map architectures, including bridges and overpasses, with separate background layer for the best control over the map graphical appearance; it offers an advanced map scrolling engine which maximizes the rendering performance and allows the creation of larger maps. OpenSpace makes use of an extended breadth-first pathfinding algorithm which is able to handle tile elevation, slopes and different terrains; it gives the developer full control over the avatar creation process, disclosing countless possibilities.
Starting from version 2, the OpenSpace features have been largely improved. The new engine now extends the control over the viewport and its scrolling, enables players to edit maps at runtime, introduces a totally new inventory system, increases the control over Non-Player Characters, improves the avatar structure and the map interaction capabilities of the players, brings new useful features to the OpenSpace Editor, and much more.
Advanced map structure
OpenSpace gives full control over the map structure. First of all, the tile size and its aspect-ratio can be totally customized: you can choose between an isometric view or a top-down view, or set your preferred view angle in between. Also, tiles aren't plain surfaces, but flexible building blocks that allow the creation of complex architectures, including bridges, overpasses and slopes.
Tile-exceeding 2D objects, like buildings, can be placed on the map gracefully, without affecting the perception of moving inside a tridimensional space, and without the need to split each map object in tile-shaped parts.
Last but not least, backgrounds and foregrounds can be handled on separate layers,without the need to fill the map with ground tiles.
Runtime map editing
Developers can design their maps with great flexibility in the OpenSpace Editor desktop application. Players, instead, can edit maps at runtime by dragging and dropping items from an external inventory, allowing the creation of customizable user homes. Drag operations are handled by OpenSpace directly, without requesting additional coding to the developers; also, an high degree of customization is offered in the map editing interaction and inventory items handling: custom item selection highlighting, configurable drag&drop visual aids, custom inventory item parameters and event triggers, etc.
Server-side extension
Starting from version 2, OpenSpace strengthened its integration with SmartFoxServer by providing a dedicate server-side extension in charge of loading maps, saving map changes, calculating avatar paths, etc. The OpenSpace extension can be extended in turn, allowing an high degree of control over the maps storage system, and offering additional methods which make it very easy to create and control NPC avatars.
Viewport control
OpenSpace offers great control over the 'camera' movements, including panning, zooming and scrolling triggered by the movement of the player's avatar on the map. All camera-related and scrolling-related parameters can be fine-tuned in the OpenSpace client configuration for maximum customization.
Avatars
In OpenSpace, the avatar creation is in total control of the developer. No predefined, rigid structures: you just have to extend the Avatar class (which is a simple MovieClip with some additional properties and methods) and you are free to build the look of your avatars — and the methods to allow users to customize them — without restrictions.
OpenSpace features an 8-directions avatar movement, but you can configure the engine so that only the four diagonal directions are used, and the pathfinding algorithm will adapt itself to this setting.
User interaction
OpenSpace features an event triggering system which allows a number of events to be dispatched in accordance to the user actions and avatar movements on the map. Also, any map item can be retrieved to access its display object, disclosing endless possibilities. Creating an highly interactive environment is so easy!
Mouse and keyboard controllers can be used at the same time; both can be deactivated permanently or even temporarily to inhibit the user interaction.