OpenSpace 2.0 officially released
Posted: 29 Jan 2010, 16:26
OpenSpace 2.0 has been officially released.
Please visit the OpenSpace website: http://www.openspace-engine.com
==============================================
OpenSpace 2.0 final version is now available.
You can download it by clicking on this link (LINK DISABLED).
Please read the bottom of this post for installation instructions.
For newcomers, a description of the v2 main features is available here.
This new version is to be considered the final one before the official release. The code development is now closed and there won't be changes (unless last-minute bugs are reported). We are now concentrating our efforts on completing the documentation and updating the OpenSpace website.
This pre-release version brings the following changes/improvements.
On the Client-side:
- a bug has been fixed in the OpenSpace.tileDropValidator function, which was called in EDIT MODE even if the user wasn't dragging an inventory item, but just moving the mouse on the map;
- two new parameters have been added to the OpenSpace.dragInventoryItem method: now you can assign an instance name and tile triggers to the inventory items that are being dropped on the map.
On the Server side:
- we added a simplified event dispatching system which now fires an "onMapUpdated" server-side event when a user updates a map (it can be useful to recreate the NPCs after a map change);
- when the OpenSpaceExtension.moveAvatar method is called, and a valid path to the target coordinates can't be found, a PathfindingException is fired.
The API documentation has been updated too (but still work-in-progress):
- client-side API
- server-side API
==============================================
OpenSpace 2.0 beta 5 has been released.
You can download it by clicking on this link (LINK DISABLED).
This new release brings the following changes/improvements.
On the Client-side:
- new OpenSpace.getMapSize method returning the width and height of the current map base grid;
- signature of the OpenSpace.getTileByCoordinates, OpenSpace.checkTileWalkability, OpenSpace.moveMyAvatar and OpenSpace.teleportMyAvatar methods has been changed: now a single Position3D object must be passed instead of the three separate map coordinates (sorry, for this API change!);
- OpenSpaceEvent.MAP_ITEM_SELECTED and OpenSpaceEvent.MAP_ITEM_DESELECTED events have been improved: now the params object brings an additional tiles array containing a reference to the Tile objects composing the selected item;
- other minor improvements.
On the Server side, the OpenSpace Extension now features the following methods which can be invoked from a child custom extension:
- OpenSpaceExtension.sendAvatarToMap, which can be used to make a user join a map; a typical use case scenario is described in this post;
- OpenSpaceExtension.moveAvatar, which can be used to send the avatar of a user to to new coordinates on the map; a typical use case scenario is the NPCs movement on the map.
The API documentation has been updated too (but still work-in-progress):
- client-side API
- server-side API
==============================================
OpenSpace 2.0 beta 4 has been released.
You can download it by clicking on this link (LINK DISABLED).
This new release brings the following changes/improvements:
- drag&drop of inventory items during runtime map editing added to Flash version of OpenSpace;
- minor improvements to the OpenSpace Editor.
==============================================
OpenSpace 2.0 beta 3 has been released.
You can download it by clicking on this link (LINK DISABLED).
This new release brings the following changes/improvements (casual order):
- the OpenSpace.clearMap method has been renamed to OpenSpace.unloadMap;
- methods OpenSpace.getBackgroundParts and OpenSpace.getForegroundParts have been added, to make the background and foreground parts display objects accessible;
- OpenSpaceEvent.ANIMATION_START and OpenSpaceEvent.ANIMATION_END events added: they are triggered by the zoom and pan actions, or when the avatar movement causes the map to scroll;
- selected tiles/supertiles can now be dragged without deselecting them previously (works both in the Editor and during runtime map editing);
- In the Editor, a checkbox in each tab has been added near the create/update button: if selected, editing continues when the button is clicked;
- a "tiles" parameter has been added to the OpenSpaceEvent.MAP_ITEM_ADDED event params object: it is an array containing the tile (or tiles, if the added item is a supertile) just placed on the map;
- OpenSpace.tileDropValidator property added: this custom function is called when ever the player drags an item on the map, and can be used to inhibit item dropping.
Also, a work-in-progress version of the API documentation is now available here. Please consider the IOpenSpaceAPI class as the staring point.
==============================================
Hello.
We are proud to announce the public release of OpenSpace 2.0 beta 2.
You can download it by clicking on this link (LINK DISABLED).
The package contains two examples (one for Flex and the other one for Flash), the OpenSpace Editor Air application, the Flash and Flex components SWC files and the server-side stuff, including: the example Zone configuration, the server-side extension, the example maps data.
Before the final version can be released, some work is still needed. Here is our TODO list:
- Client API documentation is still work-in-progress, so it is still missing (but you will find some informations below);
- Server API documentation not yet available (yes, OpenSpace 2 comes with a dedicated server-side extension);
- Other required documentation (client configuration for example) is missing too;
- the Flash component lacks a class required to enable drag & drop of map items during runtime editing, so at the moment this can't be implemented);
- the Flash example provided in the downloadable package is not complete: it only shows you how to initialize OS and load maps;
- some minor improvements to the Editor are still to be implemented.
We are sorry that documentation is not yet available, but we are sure that the expertise you gained using OpenSpace 1.0 and the provided examples will help you to get started easily.
Also, the this beta release is a trial version, which:
- allows you to load maps with an area not larger than 225 tiles (corresponding to a 15x15 map for example);
- shows a "Powered by OpenSpace 2" logo in one of the viewport corners.
All the other features are available. If you are an OpenSpace v1.0 customer, you can send us an email to receive the full version (please attach your purchase invoice to the email).
Client installation
The example is a Flex project you can import in Adobe Flex Builder 3 (but OS2 is compatible with Flex Builder 2 too).
To use OpenSpace in your own Flex application, simply add the OpenSpace_Flex.swc file to your project library path: this makes the OpenSpace component appear in the Flex Components panel, ready to be dragged on the stage.
To use the Flash component, close Adobe Flash (CS3 or CS4), open Explorer (Windows) or Finder (Mac OSX) and go to the components folder:
Windows --> C:\Documents and Settings\user\Local Settings\Application Data\Adobe\Flash CS3\en\Configuration\Components
Mac OSX --> user/Library/Application Support/Adobe/Flash CS3/en/Configuration/Components
Now create the "OpenSpace 2" folder and put the OpenSpace_Flash.swc inside it.
Open Flash and drag OpenSpace on the stage from the "OpenSpace 2" group in the Components panel.
In order to create a custom avatar you will also need to add the AvatarLibrary.swf file to the same folder. You will then find a new item in the Components panel that you can drag to your fla library. It contains the Avatar class you will need to extend to create your custom avatar.
NOTE: it seems that Flash CS3 doesn't like the OpenSpace and AvatarLibrary components, in fact you won't be able to drag them to your fla library. The reason is not clear; the workaround is... copy them from the provided example fla to your own fla instead of dragging them from the Components panel.
The Editor can be installed by double-clicking the .air file. The provided Flex example comes with its own .osp file, so you can play with it. No documentation is available yet, but usage is quite straightforward. Please notice that if you want to edit a project created with the previous version of the Editor, before loading it you have to open the osp file in a text editor and add the <id>yourProjecUniquetId</id> tag after the <title> tag. Attention: osp file and exported map files have a new format, so if you load and then save a previous osp file, you won't be able to load it in the v1 Editor anymore.
Server installation
OpenSpace 2 requires a server-side extension to run. It is a zone-level extension which takes care of loading and caching map data, send maps to the client, save maps modified by users at runtime, calculate avatar paths, etc. Developers will be able to extend its class in order to add application logic to the core OpenSpace functionalities. This feature is already in place but not tested.
To enable the OpenSpace extension you have to:
- copy the content of the zone_config.txt file to your SmartFoxServer config file (it is a zone definition, used by the example);
- copy the openSpace folder to your SmartFoxServer Pro Server folder;
- open the start.sh (Mac/Linux) or start.bat (Windows) file in the Server folder with a text editor and at the end of the long list of jar files, just before the closing double quotes, add the following:
Mac/Linux --> penSpace/OpenSpaceExtension.jar (including the colon!)
Windows --> ;openSpace/OpenSpaceExtension.jar (including the semicolon!)
- restart SmartFoxServer.
If you create new maps you have to export them and copy the files to the Server/openSpace/data folder. Also, maps must be "linked" to rooms in the SmartFoxServer config file, by setting the _os_mapId room variable just like in the example zone.
As it regards the avatars, first of all you have to define the available "types" on the server side (check the Server/openSpace/OpenSpace_server.xml configuration file - in OpenSpace v1 avatar definition was located in the client-side configuration file instead).
You then have to create your own class which must extend the com.smartfoxserver.openspace.engine.model.avatar class. Please follow the example provided in the src/assets/avatar folder in the Flex example project (the fla file requires Flash CS4).
Please visit the OpenSpace website: http://www.openspace-engine.com
==============================================
OpenSpace 2.0 final version is now available.
You can download it by clicking on this link (LINK DISABLED).
Please read the bottom of this post for installation instructions.
For newcomers, a description of the v2 main features is available here.
This new version is to be considered the final one before the official release. The code development is now closed and there won't be changes (unless last-minute bugs are reported). We are now concentrating our efforts on completing the documentation and updating the OpenSpace website.
This pre-release version brings the following changes/improvements.
On the Client-side:
- a bug has been fixed in the OpenSpace.tileDropValidator function, which was called in EDIT MODE even if the user wasn't dragging an inventory item, but just moving the mouse on the map;
- two new parameters have been added to the OpenSpace.dragInventoryItem method: now you can assign an instance name and tile triggers to the inventory items that are being dropped on the map.
On the Server side:
- we added a simplified event dispatching system which now fires an "onMapUpdated" server-side event when a user updates a map (it can be useful to recreate the NPCs after a map change);
- when the OpenSpaceExtension.moveAvatar method is called, and a valid path to the target coordinates can't be found, a PathfindingException is fired.
The API documentation has been updated too (but still work-in-progress):
- client-side API
- server-side API
==============================================
OpenSpace 2.0 beta 5 has been released.
You can download it by clicking on this link (LINK DISABLED).
This new release brings the following changes/improvements.
On the Client-side:
- new OpenSpace.getMapSize method returning the width and height of the current map base grid;
- signature of the OpenSpace.getTileByCoordinates, OpenSpace.checkTileWalkability, OpenSpace.moveMyAvatar and OpenSpace.teleportMyAvatar methods has been changed: now a single Position3D object must be passed instead of the three separate map coordinates (sorry, for this API change!);
- OpenSpaceEvent.MAP_ITEM_SELECTED and OpenSpaceEvent.MAP_ITEM_DESELECTED events have been improved: now the params object brings an additional tiles array containing a reference to the Tile objects composing the selected item;
- other minor improvements.
On the Server side, the OpenSpace Extension now features the following methods which can be invoked from a child custom extension:
- OpenSpaceExtension.sendAvatarToMap, which can be used to make a user join a map; a typical use case scenario is described in this post;
- OpenSpaceExtension.moveAvatar, which can be used to send the avatar of a user to to new coordinates on the map; a typical use case scenario is the NPCs movement on the map.
The API documentation has been updated too (but still work-in-progress):
- client-side API
- server-side API
==============================================
OpenSpace 2.0 beta 4 has been released.
You can download it by clicking on this link (LINK DISABLED).
This new release brings the following changes/improvements:
- drag&drop of inventory items during runtime map editing added to Flash version of OpenSpace;
- minor improvements to the OpenSpace Editor.
==============================================
OpenSpace 2.0 beta 3 has been released.
You can download it by clicking on this link (LINK DISABLED).
This new release brings the following changes/improvements (casual order):
- the OpenSpace.clearMap method has been renamed to OpenSpace.unloadMap;
- methods OpenSpace.getBackgroundParts and OpenSpace.getForegroundParts have been added, to make the background and foreground parts display objects accessible;
- OpenSpaceEvent.ANIMATION_START and OpenSpaceEvent.ANIMATION_END events added: they are triggered by the zoom and pan actions, or when the avatar movement causes the map to scroll;
- selected tiles/supertiles can now be dragged without deselecting them previously (works both in the Editor and during runtime map editing);
- In the Editor, a checkbox in each tab has been added near the create/update button: if selected, editing continues when the button is clicked;
- a "tiles" parameter has been added to the OpenSpaceEvent.MAP_ITEM_ADDED event params object: it is an array containing the tile (or tiles, if the added item is a supertile) just placed on the map;
- OpenSpace.tileDropValidator property added: this custom function is called when ever the player drags an item on the map, and can be used to inhibit item dropping.
Also, a work-in-progress version of the API documentation is now available here. Please consider the IOpenSpaceAPI class as the staring point.
==============================================
Hello.
We are proud to announce the public release of OpenSpace 2.0 beta 2.
You can download it by clicking on this link (LINK DISABLED).
The package contains two examples (one for Flex and the other one for Flash), the OpenSpace Editor Air application, the Flash and Flex components SWC files and the server-side stuff, including: the example Zone configuration, the server-side extension, the example maps data.
Before the final version can be released, some work is still needed. Here is our TODO list:
- Client API documentation is still work-in-progress, so it is still missing (but you will find some informations below);
- Server API documentation not yet available (yes, OpenSpace 2 comes with a dedicated server-side extension);
- Other required documentation (client configuration for example) is missing too;
- the Flash component lacks a class required to enable drag & drop of map items during runtime editing, so at the moment this can't be implemented);
- the Flash example provided in the downloadable package is not complete: it only shows you how to initialize OS and load maps;
- some minor improvements to the Editor are still to be implemented.
We are sorry that documentation is not yet available, but we are sure that the expertise you gained using OpenSpace 1.0 and the provided examples will help you to get started easily.
Also, the this beta release is a trial version, which:
- allows you to load maps with an area not larger than 225 tiles (corresponding to a 15x15 map for example);
- shows a "Powered by OpenSpace 2" logo in one of the viewport corners.
All the other features are available. If you are an OpenSpace v1.0 customer, you can send us an email to receive the full version (please attach your purchase invoice to the email).
Client installation
The example is a Flex project you can import in Adobe Flex Builder 3 (but OS2 is compatible with Flex Builder 2 too).
To use OpenSpace in your own Flex application, simply add the OpenSpace_Flex.swc file to your project library path: this makes the OpenSpace component appear in the Flex Components panel, ready to be dragged on the stage.
To use the Flash component, close Adobe Flash (CS3 or CS4), open Explorer (Windows) or Finder (Mac OSX) and go to the components folder:
Windows --> C:\Documents and Settings\user\Local Settings\Application Data\Adobe\Flash CS3\en\Configuration\Components
Mac OSX --> user/Library/Application Support/Adobe/Flash CS3/en/Configuration/Components
Now create the "OpenSpace 2" folder and put the OpenSpace_Flash.swc inside it.
Open Flash and drag OpenSpace on the stage from the "OpenSpace 2" group in the Components panel.
In order to create a custom avatar you will also need to add the AvatarLibrary.swf file to the same folder. You will then find a new item in the Components panel that you can drag to your fla library. It contains the Avatar class you will need to extend to create your custom avatar.
NOTE: it seems that Flash CS3 doesn't like the OpenSpace and AvatarLibrary components, in fact you won't be able to drag them to your fla library. The reason is not clear; the workaround is... copy them from the provided example fla to your own fla instead of dragging them from the Components panel.
The Editor can be installed by double-clicking the .air file. The provided Flex example comes with its own .osp file, so you can play with it. No documentation is available yet, but usage is quite straightforward. Please notice that if you want to edit a project created with the previous version of the Editor, before loading it you have to open the osp file in a text editor and add the <id>yourProjecUniquetId</id> tag after the <title> tag. Attention: osp file and exported map files have a new format, so if you load and then save a previous osp file, you won't be able to load it in the v1 Editor anymore.
Server installation
OpenSpace 2 requires a server-side extension to run. It is a zone-level extension which takes care of loading and caching map data, send maps to the client, save maps modified by users at runtime, calculate avatar paths, etc. Developers will be able to extend its class in order to add application logic to the core OpenSpace functionalities. This feature is already in place but not tested.
To enable the OpenSpace extension you have to:
- copy the content of the zone_config.txt file to your SmartFoxServer config file (it is a zone definition, used by the example);
- copy the openSpace folder to your SmartFoxServer Pro Server folder;
- open the start.sh (Mac/Linux) or start.bat (Windows) file in the Server folder with a text editor and at the end of the long list of jar files, just before the closing double quotes, add the following:
Mac/Linux --> penSpace/OpenSpaceExtension.jar (including the colon!)
Windows --> ;openSpace/OpenSpaceExtension.jar (including the semicolon!)
- restart SmartFoxServer.
If you create new maps you have to export them and copy the files to the Server/openSpace/data folder. Also, maps must be "linked" to rooms in the SmartFoxServer config file, by setting the _os_mapId room variable just like in the example zone.
As it regards the avatars, first of all you have to define the available "types" on the server side (check the Server/openSpace/OpenSpace_server.xml configuration file - in OpenSpace v1 avatar definition was located in the client-side configuration file instead).
You then have to create your own class which must extend the com.smartfoxserver.openspace.engine.model.avatar class. Please follow the example provided in the src/assets/avatar folder in the Flex example project (the fla file requires Flash CS4).