Asset Server


sueastside - Posted on 28 March 2010

The idea is to make a centralized 'asset server' that can deliver content in the format requested by the user/engine, share art and even worlds between different kinds of clients (CS/Ogre/2D or 3D browser) and then throw in some asset management too. With this you could provide your game on any kind of media platform.

3D preview:
Preview of assets with full control, zooming, rotation provided by WebGL.
http://www.khronos.org/webgl/wiki/Main_Page

Analyzer:
Analyzes file contents for potential assets.
Currently there are plugins for images and blender files.

Transcoder:
Converts a file type to a usable asset.
Currently there are plugins for:
- Image to image: Allows to change format, resolution, rotate, ...
- Blender packed image: Extracts image data out of a blender file; same options as above.
- Blender mesh to image: Renders a blender mesh to an image, options are resolution, mesh rotation, camera angle, ortho./persp. modes,...
- Blender mesh to CrystalSpace format: converts to CS usable format.

Example:
Asset with ID 18 is mesh data inside of a blender file, exposed by the analyzer.
Now say we're making an isometric 2D game, we could render this asset to an image, specify a rotation for the mesh, we'll set Ortho. mode and a resolution of 256x256. And we can all do that with some GET/POST data.

"/assets/18/transcode/?format=image/jpeg&sizex=256&sizey=256&angley=-0.785&cameraType=ORTHO&cameraAngley=-0.72"

If we instead want it as a CS mesh we could do.

"/assets/18/transcode/?format=x-crystalspace/library"