Difference between revisions of "Roadmap"

From Sirikata Wiki
Jump to: navigation, search
(add assigned short-term tasks)
(Filter out a bunch of tasks we've finished since this list was last updated)
 
Line 2: Line 2:
  
 
==Assigned Tasks==
 
==Assigned Tasks==
* T world objects (collection of objects on the CDN that can build up an interesting world)
 
* T world scene (a useful starting point that is sufficiently complex to make me wander around it a bit when I join)
 
 
* B scripter GUI (improvements to interface)
 
* B scripter GUI (improvements to interface)
* E Interaction menu (notes about UI that is easily accessible)
 
* B Chat interface (the most basic UI that's necessary to enable some sort of social interaction)
 
* E/J CDN support for aggregates (aggregates to real CDN rather than fake local SS cdn)
 
 
* B/E V8 closures (fix storage of functions in v8 to save closure as well as function text)
 
* B/E V8 closures (fix storage of functions in v8 to save closure as well as function text)
* T Object manager GUI (track your objects so you can get them back if they run away)
 
* P Music (ambient music of some sort because having no background music sucks)
 
 
* E/J CDN support for music (serve music files as well as meshes)
 
* E/J CDN support for music (serve music files as well as meshes)
  
Line 16: Line 9:
  
 
===Deployment===
 
===Deployment===
* Standardized (checked in) monit scripts
 
* Allocate nodes for space servers, public OHs
 
* Graphite for the public space
 
 
* Backups of OH data
 
* Backups of OH data
* CSeg back in working order? Probably hasn't been tested in awhile, and we need to improve the way we manage the pool of available servers, i.e. make it truly dynamic.
 
  
 
===Demo World===
 
===Demo World===
Line 30: Line 19:
 
===System Features===
 
===System Features===
 
* Space
 
* Space
** Aggregate upload to real CDN
 
 
** Physics improvements -- get avatars on terrain working well
 
** Physics improvements -- get avatars on terrain working well
 
** Generate collision event messages for objects, maybe based on subscription request
 
** Generate collision event messages for objects, maybe based on subscription request
** Click and drag's interaction with physics (and, more generally, scripting position and velocity while physics is on) (both space & object host).
 
  
 
* CDN
 
* CDN
** OAuth API support to enable aggregate upload
 
 
** Expose progressive meshes
 
** Expose progressive meshes
  
Line 50: Line 36:
 
** Fix Gui isolation
 
** Fix Gui isolation
 
** Better OH connection failure handling
 
** Better OH connection failure handling
** Improvements to download planner -- has basic sanity checks (max objects, refuses to load too many textures, meshes, but we could do better planning/prioritization)
 
 
** Reduce Emerson memory usage
 
** Reduce Emerson memory usage
  
Line 58: Line 43:
 
* Getting started with demo, maybe just update getting started for users since a lot of steps can be avoided when someone provides the configuration for you.
 
* Getting started with demo, maybe just update getting started for users since a lot of steps can be avoided when someone provides the configuration for you.
 
* Simple demo videos showing how to join and interact with the world/other users.
 
* Simple demo videos showing how to join and interact with the world/other users.
 
===Other===
 
* Improve release builds -- get end-to-end scripts checked in and have someone new do a build.
 
 
  
 
==Long-term Goals & Research==
 
==Long-term Goals & Research==

Latest revision as of 22:47, 2 June 2012

This is the roadmap and brainstorm for development

Assigned Tasks

  • B scripter GUI (improvements to interface)
  • B/E V8 closures (fix storage of functions in v8 to save closure as well as function text)
  • E/J CDN support for music (serve music files as well as meshes)

Ideas

Deployment

  • Backups of OH data

Demo World

  • Repository for world-specific scripts (avatar script, anything we expect to be in there by default).
  • Build a nice demo scene, large enough to require some exploration to see it all.
  • Scripts for building into package (i.e. all the data required to support Sirikata URIs
  • Get a few good, tested avatars on the CDN and get the default demo avatar to use these simple animations well

System Features

  • Space
    • Physics improvements -- get avatars on terrain working well
    • Generate collision event messages for objects, maybe based on subscription request
  • CDN
    • Expose progressive meshes
  • OH
    • Progressive mesh loading
    • Improve Emerson storage -- make it much easier to interface and get a persistent object
    • Improve object manipulation interface (could be in deployment specific code, i.e. under Demo World)
    • Object migration between OHs
    • Fix closures/provide full snapshotting (timers/register handlers/etc)
    • libmesh filters should not strip animations (eg. check if joints before collapsing two vertices).
    • Playing multiple animations at once (blend/interpolation)
    • Exposing physics collisions to Emerson.
    • Fix Gui isolation
    • Better OH connection failure handling
    • Reduce Emerson memory usage

Documentation

  • Storage tutorial
  • Sandbox tutorial
  • Getting started with demo, maybe just update getting started for users since a lot of steps can be avoided when someone provides the configuration for you.
  • Simple demo videos showing how to join and interact with the world/other users.

Long-term Goals & Research

  • Add audio support (purely OH-based to support, e.g. simple sound effects and local voice chat, then consider adding mixing support to the space server).
  • Load balancing objects across object hosts
  • Distributed physics -- extend physics to work with objects including boundaries
  • Mesh/object aggregation
  • Multicast
  • New transport abstractions targeted at VWs (e.g. last reliable)