Roadmap

From Sirikata Wiki
Revision as of 02:00, 10 November 2011 by Ewencp (talk | contribs) (Merged two roadmaps, culled finished or out of date entries, added some newer ones. Reorganized into scheduled, ideas, and long term)
Jump to navigation Jump to search

This is the roadmap and brainstorm for development

Scheduled Tasks

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