Difference between revisions of "Roadmap"

From Sirikata Wiki
Jump to navigation Jump to search
m
(add assigned short-term tasks)
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)
 +
* 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)
 +
* 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)
  
 
==Ideas==
 
==Ideas==

Revision as of 20:26, 30 November 2011

This is the roadmap and brainstorm for development

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)
  • 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)
  • 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)

Ideas

Deployment

  • Standardized (checked in) monit scripts
  • Allocate nodes for space servers, public OHs
  • Graphite for the public space
  • 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

  • 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
    • Aggregate upload to real CDN
    • Physics improvements -- get avatars on terrain working well
    • 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
    • OAuth API support to enable aggregate upload
    • 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
    • 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

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.

Other

  • Improve release builds -- get end-to-end scripts checked in and have someone new do a build.


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)